Valid XHTML     Valid CSS2    

Listing du fichier diaporama_gen.php avec syntaxhighlighter


        <?php
        
        #    (gH)   -_-  diaporama_gen.php  ;  TimeStamp (unix) : 19 Mai 2010 vers 10:15
        
        ###########################################################################################
        #
        #  production automatique de diaporamas (gH)
        #
        # il y a deux modes :
        #
        #   1. liste d'URL dans un fichier-texte
        #   2. URL construite par numéro
        #
        # Remarque : le menu de navigation est géré par javascript (si activé).
        #            on peut ne pas l'afficher à l'aide du dernier paramètre de la fonction diaporama.
        #
        ###########################################################################################
        #
        #  Exemples :
        #
        #  DIAPORAMA mode Liste
        #
        #      #    (gH)   -_-  ghdatasets.php  ;  TimeStamp (unix) : 13 Mai 2010 vers 17:02
        #
        #      error_reporting(E_ALL | E_NOTICE ) ;
        #
        #      include("diaporama_gen.php") ;
        #
        #      $titre   = "Dossier (gH) " ;
        #      $liste   = "ghdatasets.txt" ;
        #      $base    = "ghdatasets.php" ;
        #      $temps   = 5 ;
        #      $nav     = "NON" ;
        #
        #      diaporamaListe($titre,$liste,$base,$temps,$nav) ;
        #
        #  DIAPORAMA mode Url par construction (fonction urlsite)
        #
        #      #    (gH)   -_-  zencssframes.php  ;  TimeStamp (unix) : 12 Mai 2010 vers 17:47
        #
        #      error_reporting(E_ALL | E_NOTICE ) ;
        #
        #      include("diaporama_gen.php") ;
        #
        #      $titre   = "CSS Zen garden " ;
        #      $nbviews = 215 ; # "à la main" le 10 mai 2010  ;
        #      $basefra = "zencssframes.php" ;
        #      $temps   = 3 ;
        #      $nav     = "OUI" ;
        #
        #      ###########################################################################################
        #
        #      function urlsite($numero) {
        #
        #      ###########################################################################################
        #
        #      $chen = "http://www.csszengarden.com/?cssfile=".sprintf("%03d",$numero)."/".sprintf("%03d",$numero).".css"  ;
        #
        #      return($chen) ;
        #
        #      } ; # fin de fonction urlsite
        #
        #      ###########################################################################################
        #
        #      diaporamaSite($titre,$basefra,$nbviews,$temps,$nav) ;
        #
        #
        #
        ###########################################################################################
        ###########################################################################################
        
        # le programme commence ici
        
        ###########################################################################################
        
        function diaporamaListe($leTitre,$laListe,$baseFrame,$duree=10,$js="NON") {
        
          # on appelle la fonction diaporama avec un nombre de diapos vide
          # car il sera déterminé par le nombre de lignes dans le fichier-liste
        
          diaporama($leTitre,$laListe,$baseFrame,0,$duree,$js) ;
        
        } ; # fin de fonction diaporamaListe
        
        
        ###########################################################################################
        
        function diaporamaSite($leTitre,$baseFrame,$nbViews=10,$duree=10,$js="NON") {
        
          # on appelle la fonction diaporama avec une liste vide
        
          diaporama($leTitre,"",$baseFrame,$nbViews,$duree,$js) ;
        
        } ; # fin de fonction diaporamaSite
        
        ###########################################################################################
        
        function diaporama($leTitre,$laListe,$baseFrame,$nbViews=10,$duree=10,$js="OUI") {
        
        ###########################################################################################
        
        # cadre = 0 : c'est l'encadrement ;
        # cadre = 1 : page  du haut
        # cadre = 2 : ligne du bas ;
        
        # gestion des paramètres
        
        if (!isset($cadre)) {
            $cadre =  0 ;
            if (isset($_GET["cadre"])) { $cadre = $_GET["cadre"] ; } ;
        } ; # fin si
        
        if (isset($_GET["duree"])) { $duree = $_GET["duree"] ; } ;
        if ($duree=="undefined")   { $duree = 35 ; } ;
        
        # lecture de la liste des fichiers
        
        if (strlen($laListe)>0) {
        
             $lstdf  = array() ;
             $ntotf = 0 ;
             if (!file_exists($laListe))  {
                 echo "<h1>Fichier $laListe non vu</h1>\n" ;
                $nbViews = 0 ;
             } else {
                  $fh = fopen($laListe,"r") ;
                  while (!feof ($fh)) {
                     $lig = fgets($fh, 4096) ;
        #print($lig) ;
                     if (strlen($lig)>0) {
                         $ntotf++ ;
                         $lig = str_replace("\n","",$lig) ;
                         $lstdf[$ntotf] = $lig ;
                     } ; # fin si
                  } ; # fin tant que
                  fclose($fh) ;
                  $nbViews = $ntotf ;
             } ; # fin si
        } ; # fin si
        
        #echo "Liste des liens : \n" ;
        #print_r($lstdf) ;
        
        # préparation des indices pour la diapo numéro idp
        
        $idp = 1 ;
        if (isset($_GET["diapo"])) { $idp = $_GET["diapo"] ; } ;
        if ($idp=="") { $idp=1 ; } ;
        if ($idp==0)  { $idp=1 ; } ;
        
        echo '<?xml version="1.0" encoding="ISO-8859-1" ?>' ;
        
        # gestion des cadres
        
        if ($cadre==0) { # conteneur
        
           # cadre principal
        
           if ($idp>$nbViews) { $idp = 1 ; } ;
        
           echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">' ;
           echo "<html xmlns='http://www.w3.org/1999/xhtml' lang='fr' xml:lang='fr'> \n" ;
           echo "<head>\n" ;
           echo "<title>\n" ;
           echo " $leTitre numéro $idp\n" ;
           echo "</title>\n" ;
        
           $jdp = $idp + 1 ;
           $url0 = frameUrl($baseFrame,$jdp,0,$duree) ;
           $url1 = frameUrl($baseFrame,$idp,1,$duree) ;
           $url2 = frameUrl($baseFrame,$idp,2,$duree) ;
        
           echo "<meta http-equiv='refresh' content=\"$duree; url=".$url0."&amp;duree=$duree"."\" />\n" ; # content = \"50 pour ralentir
           echo "<script type='text/javascript' src='diaporama_gen.js'></script>\n" ;
           echo "</head>\n" ;
           echo " <frameset rows=\"93%,7%\">" ;
           echo "   <frame src='$url1' />\n" ;
           echo "   <frame src='$url2' />\n" ;
           echo " </frameset> \n" ;
        
        } else {
        
           echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' ;
           echo '<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">' ;
           echo '<head>' ;
           echo '<link rel="stylesheet" type="text/css" href="std.css"  title="gh" />' ;
           echo '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />' ;
           echo "<script type='text/javascript' src='diaporama_gen.js'></script>\n" ;
        
           # définition de l'URL via la liste ou par fonction
        
           if (strlen($laListe)>0) {
              $url = $lstdf[$idp]  ;
           } else {
              $url = urlsite($idp) ;
           } ; # fin si
        
           if ($cadre==1) { # cadre du haut
                echo "<meta http-equiv=\"refresh\" content=\"0; url=".$url."\" />\n" ;
           } ; # fin si cadre 1
        
           # partie commune aux cadres
        
                echo '<title>' ;
                echo $leTitre ;
                echo '</title>' ;
                echo '</head>'."\n" ;
                echo '<body background="beige.jpg" onload="navigation()">'."\n" ;
        
           if ($cadre==1) { # cadre du haut
        
                echo '<p>' ;
                echo " $leTitre $idp en chargement..." ;
                echo '</p>' ;
        
           } else { # cadre du bas
        
                echo "<table summary='formatage' border='0'><tr>\n" ;
                echo "<td>$leTitre numéro $idp sur $nbViews : " ;
                echo "<a href=\"$url\" class='bleuf'>$url</a>" ;
                echo "<noscript>&nbsp;&nbsp;[Javascript est désactivé.]&nbsp;</noscript>" ;
                echo "</td>" ;
                echo "<td id='td1' class='invisible noir'>" ;
        
                if ($js=="OUI") {
        
                     echo " &nbsp;&nbsp;&nbsp; Durée : " ;
        
                     $attr  = "" ;
                     $attr .= " type='text'" ;
                     $attr .= " id='duree' " ;
                     $attr .= " name='duree' " ;
                     $attr .= " value='$duree' " ;
                     $attr .= " size='3' " ;
                     $attr .= " onchange='forceDuree(this.value) ; return false ' " ;
        
                     echo "<input $attr />" ;
                     echo "<input type='hidden' id='nbv' value='$nbViews' />" ;
                     echo " sec. &nbsp;&nbsp;" ;
        
                     $attr  = "" ;
                     $attr .= "type='submit'  " ;
                     $attr .= "value='forcer' " ;
                     $attr .= "onclick='forceDuree(document.getElementById(\"duree\").value) ; return false' " ;
        
                     echo "<input $attr />" ;
        
                     echo " &nbsp;&nbsp;&nbsp; Navigation &nbsp;&nbsp;&nbsp;" ;
                     echo "</td><td id='td2'>\n" ;
        
                     navigation($baseFrame) ;
        
               } ; # fin si sur js
        
               echo "</td></tr></table>" ;
        
           } ; # fin si sur cadre 1
        
           echo "</body>\n" ;
        
        } ; # fin si sur cadre 0
        
        echo "</html>\n" ;
        
        } ; # fin de fonction diaporama
        
        ###########################################################################################
        
        function frameUrl($url,$idf,$cadre,$duree) {
        
        ###########################################################################################
        
        $chen = $url."?diapo=".$idf ;
        if ($cadre>0) { $chen .= "&amp;cadre=".$cadre ; } ;
        
        return( $chen) ;
        
        } ; # fin de fonction frameUrl
        
        ###########################################################################################
        
        function navigation($baseFrame="#") {
        
        ###########################################################################################
        
          $bn      = array()          ; $tn      = array()      ;
          $bn["d"] = "&#9666;&#9666;" ; $tn["d"] = "première"   ;
          $bn["p"] = "&#9666;"        ; $tn["p"] = "précédente" ;
          $bn["="] = "="              ; $tn["="] = "stop"       ;
          $bn["s"] = "&#9656;"        ; $tn["s"] = "suivante"   ;
          $bn["f"] = "&#9656;&#9656;" ; $tn["f"] = "dernière"   ;
        
          $attr  = "";
          $attr .= "border='1' ";
          $attr .= "style='border-collapse:collapse ; border-color : black ; background-color : white' ";
          $attr .= "summary='boutons' " ;
          $attr .= "class='jenetevoispas' " ;
          $attr .= "id='tnav'" ;
          echo "<table $attr>\n<tr>\n" ;
        
          foreach( preg_split("/ /","d p = s f") as $sy) {
             echo "<td><a href='$baseFrame' onclick='changeDiapo(\"$sy\") ; return false ' title='$tn[$sy]' class='nou noir'>" ;
             echo "&nbsp;".$bn[$sy]."&nbsp;</a></td>\n" ;
          } ; # fin si
          echo "</tr>\n</table>\n" ;
        
        } ; # fin de fonction navigation
        
        ###########################################################################################
        
        ?>
        

La coloration syntaxique est réalisée par : SyntaxHighlighter.

Si vous préférez, vous pouvez utiliser celle de geshi ou même celle construite autour de la fonction highlight_file.

 

 

retour gH    Retour à la page principale de   (gH)