Forum ZitePLUS

La communauté des utilisateurs du CMS ZitePLUS

Vous n'êtes pas identifié(e).

#1 12/03/2011 11:36:07

dfraiture
Membre
Inscription : 03/03/2011
Messages : 96

... adapter un script PHP existant à Zite ?

Voilà, en fait, je voulais savoir si le "copier-coller" est une bonne chose ... Dans ce cas, comment faire en sorte que cela marche avec Zite ?

Si j'ai bien compris, je crée une page PHP avec le code, je sauvegarde dans zplugins, et je crée une page en Admin avec l'appel de la fonction créé, c'est bien ça ?

Hors ligne

#2 14/03/2011 11:43:04

michael79
Membre
Lieu : Bruxelles, Belgique
Inscription : 23/07/2008
Messages : 422

Re : ... adapter un script PHP existant à Zite ?

dfraiture a écrit :

Voilà, en fait, je voulais savoir si le "copier-coller" est une bonne chose ... Dans ce cas, comment faire en sorte que cela marche avec Zite ?

Si j'ai bien compris, je crée une page PHP avec le code, je sauvegarde dans zplugins, et je crée une page en Admin avec l'appel de la fonction créé, c'est bien ça ?

Ben ça dépend de ce que fait le script...


ZiteCMS rocks !

Hors ligne

#3 14/03/2011 11:52:02

dfraiture
Membre
Inscription : 03/03/2011
Messages : 96

Re : ... adapter un script PHP existant à Zite ?

Ben là, c'est un calendrier, mais je n'ai pas trouvé de démo... Et comme je ne sais pas trop quelle commande il faut entrer pour qu'il s'affiche ...

Hors ligne

#4 14/03/2011 18:57:06

michael79
Membre
Lieu : Bruxelles, Belgique
Inscription : 23/07/2008
Messages : 422

Re : ... adapter un script PHP existant à Zite ?

dfraiture a écrit :

Ben là, c'est un calendrier, mais je n'ai pas trouvé de démo... Et comme je ne sais pas trop quelle commande il faut entrer pour qu'il s'affiche ...

Si le script génère simplement une page, il faut modifier le script pour qu'il ne génère pas de html, head, body, etc.
Ensuite il faut avoir une méthode before_output dans le greffon qui insère le script et récupère l'output dans une variable
ensuite, on utilise la fonction prepend à laquelle on donne la variable content l'output
On peut avoir une variable $action définie dans le greffon avec la valeur true
Ensuite il faut faire un lien vers la page index.php?z=action:nom_du_greffon ou nom_du_greffon est le nom du fichier
du greffon (sans le .php; ex. cal.php => nom_du_greffon = cal)

A+

Michael


ZiteCMS rocks !

Hors ligne

#5 14/03/2011 19:08:52

dfraiture
Membre
Inscription : 03/03/2011
Messages : 96

Re : ... adapter un script PHP existant à Zite ?

Bon, je va tesssster l'affaire !

Hors ligne

#6 15/03/2011 13:52:12

dfraiture
Membre
Inscription : 03/03/2011
Messages : 96

Re : ... adapter un script PHP existant à Zite ?

...
Ensuite il faut avoir une méthode before_output dans le greffon qui insère le script et récupère l'output dans une variable
ensuite, on utilise la fonction prepend à laquelle on donne la variable content l'output
...

A+

Michael

Euh, désolé, mais déjà là, j'ai du mal ...

Hors ligne

#7 15/03/2011 15:28:19

michael79
Membre
Lieu : Bruxelles, Belgique
Inscription : 23/07/2008
Messages : 422

Re : ... adapter un script PHP existant à Zite ?

dfraiture a écrit :

...
Ensuite il faut avoir une méthode before_output dans le greffon qui insère le script et récupère l'output dans une variable
ensuite, on utilise la fonction prepend à laquelle on donne la variable content l'output
...

A+

Michael

Euh, désolé, mais déjà là, j'ai du mal ...

Envoies tes sources wink


ZiteCMS rocks !

Hors ligne

#8 25/03/2011 16:22:14

dfraiture
Membre
Inscription : 03/03/2011
Messages : 96

Re : ... adapter un script PHP existant à Zite ?

Bon, voilà (je sais, j'ai mis le temps !), j'ai testé ... et ça a bien, mais alors là, bien foiré ...

Bon, attention, le code de Calendrier.php, éhonteusement repompé de scriptphp :

<?
//----------------------------------------------------------------

// Voici un petit calendrier qui affiche entre autre,les numeros

// de semaine, tous les jours feries, les week end ...

//

// Version 1.0

//

// Auteur: Patrice FROMHOLTZ

// email: webmaster@lafoireinformatique.com

// web: http://www.lafoireinformatique.com/

//

//----------------------------------------------------------------

?>


<style TYPE="text/css">

<!--
.titremois  { font-family: Helvetica, Arial; font-size: 13px; font-weight: bold; color: #FDFC65; background: #1C2D67 }

.titremois:link  { font-family: Helvetica, Arial; font-size: 13px; font-weight: bold; color: #FDFC65; background: #1C2D67; text-decoration: none }

.titremois:visited  { font-family: Helvetica, Arial; font-size: 13px; font-weight: bold; color: #FDFC65; background: #1C2D67; text-decoration: none }

.titremois:hover  { font-family: Helvetica, Arial; font-size: 13px; font-weight: bold; color: #FF0000; background: #1C2D67; text-decoration: underline }


.titrejours  { font-family: Helvetica, Arial; font-size: 9px; color: #FDFC65; background: #1C2D67 }

.titrenum  { font-family: Helvetica, Arial; font-size: 11px; color: #FDFC65; background: #1C2D67 }

.titrenum2  { font-family: Helvetica, Arial; font-size: 11px; color: #AAAAAA; background: #1C2D67 }

.titreweek  { font-family: Helvetica, Arial; font-size: 9px; color: #AAAAAA; background: #1C2D67 }

.titreweek2  { font-family: Helvetica, Arial; font-size: 11px; color: #AAAAAA; background: #1C2D67 }

.titrewend  { font-family: Helvetica, Arial; font-size: 11px; color: #FDFC65; background: #5060A0 }

.titrewend2  { font-family: Helvetica, Arial; font-size: 11px; color: #AAAAAA; background: #5060A0 }

.titrenow  { font-family: Helvetica, Arial; font-size: 11px; color: #FDFC65; background: #90A0E0 }

-->
</style>

<?
function calcul_joursferies($month,$day,$year)
{
$resultat=false;


$jf1=$year-1900;

$jf2=$jf1%19;

$jf3=intval((7*$jf2+1)/19);

$jf4=(11*$jf2+4-$jf3)%29;
$jf5=intval($jf1/4);

$jf6=($jf1+$jf5+31-$jf4)%7;

$jfj=25-$jf4-$jf6;

$jfm=4;
if ($jfj<=0){
   
$jfm=3;
   
$jfj=$jfj+31;
    }



$paques=(($jfm < 10) ? "0".$jfm : $jfm)."/".(($jfj < 10) ? "0".$jfj : $jfj);

$lunpaq=date("m/d",mktime(12,0,0,$jfm,$jfj+1,$Year));

$ascension=date("m/d",mktime(12,0,0,$jfm,$jfj+39,$Year));

$lunpent=date("m/d",mktime(12,0,0,$jfm,$jfj+50,$Year));


$JourFerie= Array("01/01","05/01","05/08","07/14","08/15","11/01","11/11","12/25","$paques","$lunpaq","$ascension","$lunpent");


$nbj=0;
$val=    $lien=date("m/d", mktime(0,0,0,$month,$day,$year));
 
    while ($nbj<=count($JourFerie)){

   
        if ($JourFerie[$nbj]==$val){
   
            $resultat=true;
   
            $nbj=15;
    }
   
            $nbj++;
  }

    return( $resultat );
}



$tabmonth  = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin","Juillet", "Août", "Septembre", "Octobre", "Novembre","Décembre");

$tabday  = Array("Lun", "Mar", "Mer", "Jeu", "Ven", "Sam","Dim");


// selectionne la date d aujourd hui si aucune saisie

    if (!$dt){
$year = date("Y");

        $now   = date("Y/m/d");

        $month  = date("n");

        $day = date("d");
    }
    else{

        $data=explode(" ",$dt);

        $year=$data[0];

        $month=$data[1];

        $day=$data[2];

        $now=date("Y/m/d", mktime(0,0,0,$month,$day,$year));
    }

$moyear=$tabmonth[$month-1]."  "
.$year;
?>


<table WIDTH="160" BORDER="0" CELLSPACING="0" CELLPADDING="2">
 
    <tr>
   
        <td CLASS='titremois' colspan="8" ALIGN="center">

        <?
    $lien=date("Y+m+d", mktime(0,0,0,$month-1,$day,$year));

        echo "<A CLASS='titremois' href=\"?dt=$lien\"><<</a>";
   

    echo "<A CLASS='titremois'> $moyear </a>";


        $lien=date("Y+m+d", mktime(0,0,0,$month+1,$day,$year));

        echo "<A CLASS='titremois' href=\"?dt=$lien\">>></a>";
?>
 
        </td>

     </tr>


      <tr>

    <?
echo"<td WIDTH=20 class='titreweek' ALIGN='center'>Sem</td>\n";
       
for ($i=0;$i<7;$i++) {
           
echo"<td WIDTH=20 class='titrejours' ALIGN='center'>$tabday[$i]</td>\n";

}
?>
 
    </tr>


        <?
$num_day=date("w", mktime(0,0,0,$month,01,$year));

            if($num_day==0){$num_day=7;}

            $max_day=date("t", mktime(0,0,0,$month,01,$year));

            $cpt_day=2;
while ($cpt_day<=$max_day+$num_day) {
 
            echo "<tr>";

// calcul le numero de semaine

 
            $nb_day=date("z", mktime(0,0,0,$month,$cpt_day-$num_day+3,$year));
 
            $val=intval($nb_day/7)+1;
 
            echo "<td WIDTH=20 class='titreweek2' ALIGN='center'>"
            .(($val < 10) ? "0".$val : $val)."</td>\n";



// affiche les jours du mois

 
            for ($i=0;$i<7;$i++) {
   
            $theday=date("D", mktime(0,0,0,$month,$cpt_day-$num_day,$year));
   
            $val=date("d", mktime(0,0,0,$month,$cpt_day-$num_day,$year));
   
            $jourferie=calcul_joursferies($month,$cpt_day-$num_day,$year);
   
            $class="titrenum";
   
                if (($theday=="Sun") or ($theday=="Sat")or ($jourferie)){ $class="titrewend";}
   
                if ($now==date("Y/m/d",mktime(0,0,0,$month,$cpt_day-$num_day,$year))){
                    $class="titrenow";}
   
            if ((($cpt_day-$num_day)<1) or (($cpt_day-$num_day)>$max_day)){
      
                $class="titrenum2";      
      
            if (($theday=="Sun") or ($theday=="Sat")or ($jourferie)){
                $class="titrewend2";}
    }
   
                $cpt_day++;
   
                echo "<td WIDTH=20 class='$class'ALIGN='center'>".$val."</td>\n";
 
                }
  echo "</tr>";

}
?>

</table>

Si quelqu'un peut me dire ce qui ne fonctionne pas, ça m'aiderait.

Pour l'afficher, j'ai utilisé ça :

<?php include "zplugins/calendrier.php" ?>

Bien sur, encore et toujours sous Zite (vais bientôt passer à Zite+; serai moins embêté ... et embêtant !)

Hors ligne

#9 25/03/2011 16:28:30

dfraiture
Membre
Inscription : 03/03/2011
Messages : 96

Re : ... adapter un script PHP existant à Zite ?

Ah ! Je vais d'abord vérifier là (http://www.zitecms.org/zite/forum/viewtopic.php?id=157) et voir comment ça marche ...

sorry tongue

Hors ligne

Pied de page des forums