<?php
/*
*********************************************************************
* File          : $RCSfile: AlbumPhotos.php,v $
* Version	: $Revision: 1.7 $
* Modified by	: $Author: jb $ ($Date: 2005/04/17 16:44:32 $)
*********************************************************************
    Classe Cadre
    V 0.01 : NADAL Jean-Baptiste  : 02 03 2001
    V 2.0: : rewrite the module to administrat it trought the web site.
*/

class AlbumPhotos {

   /* Déclaraion of the members variables. */
   var $root;
   var $albumDir;
   var $nOrdre;
   var $nJour;
   var $nMois;
   var $nAnnee;
   var $szName;
   var $szPlace;
   var $szDep;
   
   /**************************************************************************
    *  Constructeur
    **************************************************************************/
   function AlbumPhotos ($Page, $SiteRoot, $AlbmDir, $numAlbum)
   {
      global $table_APhotos, $KeyAdmAlbm, $sql_bdd;
      $this->root = $SiteRoot."/".$AlbmDir;
      $this->albumDir = $AlbmDir;
      $this->szNomBase = $table_APhotos;
      $this->szPage = $Page;
      /* How many column of image are printed. */
      $this->nbImgCol = 2;
      
      if ($numAlbum != "") {
         $connect_db = jb_sql_connect (false);
         $requete = "select * from $this->szNomBase where id='".
            $numAlbum."'";
         $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);
         
         $row = mysql_fetch_row ($resultat);
         
         $this->title = $row[1]." ".$row[2];
         $this->Date = $row[4];
      }
   }


   /**************************************************************************
    *  Retourne under a normal form the date of the album.
    **************************************************************************/
   function getDate() 
   { 
      return $this->Date;
   }

   /**************************************************************************
    *  Retourne the title.
    **************************************************************************/
   function getTitre() 
   { 
      return $this->title;
   }


   /**************************************************************************
    *  ListerAlbumPlusRecent:
    *       - Liste all the album of the colection.
    *       - The first on the top is the more recent one.
    **************************************************************************/
   function ListerAlbumPlusRecent ()
   {
      global $sql_serveur, $sql_bdd;
      global $racine, $page_index;
      
      /* on affiche l"entete du tableau. */
      echo "<center><table border=0 width=\"95%\">
            <tr>
              <th bgcolor=\"#d5dee6\">".
         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
         "Nom".
         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
         "</th>
             <th bgcolor=\"#d5dee6\">".
         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
         "Place".
         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
         "</th>
              <th bgcolor=\"#d5dee6\"> d&eacute;part. </th>
              <th bgcolor=\"#d5dee6\"> Date </th>
              <th bgcolor=\"#d5dee6\"> Ordre </th>
              <th bgcolor=\"#d5dee6\" colspan=3> Action</th>
            </tr>\n";
      /* On se connecte sur la base de la gallerie. */
      $connect_db = jb_sql_connect (false);
      $requete = "select * from $this->szNomBase  order by ordre";
      $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);
      $i = 0;
      while ($row = mysql_fetch_row ($resultat))
      {
         if (($i % 2) == 0)
            echo"<tr bgcolor=\"#DDDDDD\" align=\"center\">\n";
         else
            echo "<tr bgcolor=\"#CCCCCC\" align=\"center\">\n";
         /* name. */
         if (strlen ($row[1]) > 13)
            $nom = substr($row[1], 0, 13)."...";
         else
            $nom = $row[1];
         echo "<td>".$nom ."</td>\n";
         /* place. */
         if (strlen ($row[2]) > 13)
            $place = substr($row[2], 0, 13)."...";
         else
            $place = $row[2];
         echo "<td>".$place ."</td>\n";
         /* dep. */
         echo "<td>".$row[3] ."</td>\n";
         /* date_text. */
         echo "<td>".$row[4] ."</td>\n";
         /* ordre. */
         echo "<td>".$row[5] ."</td>\n";

         echo "<td>";
         echo "
               <a href=$racine/$page_index?page=$this->szPage&".
            "action=modifier&elem=$row[0]>Modifier</a>
              </td>
              <td><a href=$racine/$page_index?page=$this->szPage&".
            "action=supprimer&elem=$row[0]>Supprimer</a>".
            "</td>
              <td><a href=$racine/$page_index?page=$this->szPage&".
            "action=afficher&elem=$row[0]>Afficher</a>";

         
         echo "</td> </tr>\n";
         $i++;
      }
      mysql_free_result ($resultat);
      MYSQL_CLOSE;
      echo "</table> </center><br><br>";
   }

   /**************************************************************************
    *  AjouterAlbumPlusRecent:
    *       - Add a new album photos.
    *  
    **************************************************************************/
   function AjouterAlbumPlusRecent ()
   {
      echo "<center><h1> Ajout d'un nouvel Album.</h1></center><br>\n";
      $this->debutFormulaire ("ValideAjouter", 0);
   }

   /**************************************************************************
    *  InputJavaScript:
    *       - This function add javascripts functions to create a formated
    *         Date.
    *  
    **************************************************************************/
   function InputJavaScript ()
   {
      echo "<script language=\"JavaScript1.1\">
        <!--
        var min_year = 2000; // defines lowest year in year menu
        var max_year = 2035 // defines highest year in the year menu

        // make this false to prevent the weekday element from being displayed
        var weekday_showing = false;

        // make this true to make dayofweek return a number (0-6)
        var dayofweek_returned_as_number = false;

        // make this true to make month return a number (0-11)
        var month_returned_as_number = true;

        if (min_year <= 400)
                alert(\"Minimum year must be higher than 400 for".
            " this algorithm to work.\");

        function changeDays(numb,date_form)
        {
                mth = date_form.month.selectedIndex;
                sel = date_form.year.selectedIndex;
                yr = date_form.year.options[sel].text;
                if (numb != 1)
                {
                        numDays = numDaysIn(mth,yr);
                        date_form.day.options.length = numDays;
                        for (i=27;i<numDays;i++) {
                                date_form.day.options[i].text = i+1;   }
                }
                day = date_form.day.selectedIndex+1;
                if (weekday_showing)
                        date_form.dayofweek.selectedIndex = ".
            "getWeekDay(mth,day,yr);
        }

        function numDaysIn(mth,yr)
        {
                if (mth==3 || mth==5 || mth==8 || mth==10) return 30;
                else if ((mth==1) && leapYear(yr)) return 29;
                else if (mth==1) return 28;
                else return 31;
        }

        function leapYear(yr)
        {
                if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0)
                        return true;
                else
                        return false;
        }

        function arr()
        {
                this.length=arr.arguments.length;
                for (n=0;n<arr.arguments.length;n++)
                          this[n] = arr.arguments[n];
        }

        weekdays = new arr(\"Sun.\",\"Mon.\",\"Tues.\",\"Wed.\",\"Thurs.\",".
            "\"Fri.\",\"Sat.\");
        // *** comment out the one you don't want to use ***
        //weekdays = new arr(\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",
        // \"Thursday\",\"Friday\",\"Saturday\");

        months = new arr(\"01\",\"02\",\"03\",\"04\",\"05\", \"06\",\"07\",".
            "\"08\",\"09\",\"10\",\"11\",\"12\");
        // *** comment out the one you don't want to use ***
        //months = new arr(\"January\",\"February\",\"March\",\"April\",".
            "\"May\",
        // \"June\",\"July\",\"August\",\"September\",\"October\",".
            "\"November\",\"December\");

        var cur = new Date();

        function getWeekDay(mth,day,yr)
        {
                first_day = firstDayOfYear(yr);
                        for (num=0;num<mth;num++)
                                  first_day += numDaysIn(num,yr);
                first_day += day-1;
                return first_day%7;
        }
        function firstDayOfYear(yr)
        {
                diff = yr - 401;
                return parseInt((1 + diff + (diff / 4) - (diff / 100) + ".
            "(diff / 400)) % 7);
        }
        // fixes a Netscape 2 and 3 bug
        function getFullYear(d)
        { // d is a date object
                yr = d.getYear();
                if (yr < 1000)
                        yr+=1900;
                return yr;
        }
        function modNBtracks(pForm)
        {
                pForm.nAction.value = \"modifier\";
                //alert('Vous avez oublié de saisir votre nom !');
                pForm.submit();
        }
        // -->
        </script>\n";
   }

   // =================================================
   function CreateDate()
   {
      echo"<select name=day size=1 onChange='changeDays(1,this.form)'>\n";
      for ($i = 1; $i < 32; $i++)
         if ($this->nJour == $i) 
            echo " <option value = $i selected> $i"; 
         else 
            echo " <option  value = $i> $i";
      echo"</select>\n";
      
      echo "</select><select name=month onChange='changeDays(0,this.form)' 
               size=1>\n";
      for ($i = 1; $i < 13; $i++)
         if ($this->nMois == $i)  
            echo "<option value = $i selected> $i"; 
         else 
            echo " <option  value = $i> $i";
      echo"</select>\n";
      
      echo "<select name=year onChange='changeDays(0,this.form)' size=1>\n";
      for ($i = 2000; $i < 2035; $i++)
         if ($this->nAnnee == $i)  
            echo "<option value = $i selected> $i"; 
         else 
            echo " <option  value = $i> $i";
      echo"</select>\n";
   }


   // =================================================
   // Cette fonction Creer un formulaire pour la création d'un nouvel élément
   function debutFormulaire ($valide, $naction)
   {
      global $racine, $page_index;
      global $sql_serveur, $sql_bdd;
      
      $this->InputJavaScript();
      //echo "nid vaut ici :$this->nID<br>";
      echo "<form method=post action=$racine/$page_index?page=$this->szPage>
                 <input type=hidden name=elem size=32 value=\"$this->nID\" />
                 <input type=hidden name=action value=$valide />
              <table border=\"0\" align=\"center\">
                <tr>";
      if ($naction == 0) {
         $this->nJour = 1;
         $this->nMois = 1;
         $this->nAnnee = 2002;
         $this->szName = "";
         $this->szPlace = "";
         $this->szDep = "   ";
         $connect_db = jb_sql_connect (false);
         $requete = "select * from $this->szNomBase";
         $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);
         $nbElem = mysql_num_rows ($resultat);
         MYSQL_CLOSE;
         $this->nOrdre = $nbElem + 1; 
      }
         
      // On creer les trois boites permettant de sélectionner  la date
      echo"<tr>\n<td> Nom : </td>\n<td>
           <input type=text name='name' value=\"".$this->szName."\"".  
         " style='width:300px;' maxlength=50 /></td>\n</tr>";
      echo"<tr>\n<td> Place : </td>\n<td>
           <input type=text name='place' value=\"".$this->szPlace."\"".  
         " style='width:300px;' maxlength=50 /></td>\n</tr>";
      echo"<tr>\n<td> D&eacute;partement : </td>\n<td>
           <input type=text name='dep' value=\"".$this->szDep."\"".  
         " style='width:30px;' maxlength=2 /></td>\n</tr>";
      echo"<tr>\n<td> Date : </td>\n<td>";
      $this->CreateDate ();
      echo "</td>\n</tr>";
      echo"<tr>\n<td> Position : </td>\n<td>
           <input type=text name='ordre' value=\"".$this->nOrdre."\"".  
         " style='width:30px;' maxlength=2 /></td>\n</tr>";
      
      echo "</table><br><center><input type=submit value=valider />
               </center><br></form>";
      
   } // fin debutFormulaire
   
   // =================================================
   function InsertNewAlbum ($name, $place, $dep, $ordre, 
                            $jour, $mois, $annee)
   {
      global $sql_bdd, $racine, $page_index;
      
      /* DEbug information: 
      print "name: ".$name."</br>";
      print "place: ".$place."</br>";
      print "ordre: ".$ordre."</br>";
      print "dep: ".$dep."</br>";
      print "jour: ".$jour."</br>";
      print "mois: ".$mois."</br>";
      print "annee: ".$annee."</br>";*/
      
       
      if (($name == '') || ($place == "") || 
          ($dep == ""))
         echo "<br/><br/><center> <font size=6 color=red>
                <b>Erreur !!! L'Album $name  n'a pas été ajouté</b></font><br/>
                   certains champs sont vides</center><br><br>\n";
       else {
          if ($jour < 10)
             $jour = "0".$jour;
          if ($mois < 10)
             $mois = "0".$mois;
          $date = $jour."/".$mois."/".$annee;
          
          /* On se connecte sur la base de l'album. */
          $connect_db = jb_sql_connect (false);

          /* Check if a previous entry had is ordrer. order should be unique.*/
          $requete = "select * from ".$this->szNomBase." where ordre='$ordre'";
          $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);
          $nbElem = mysql_num_rows ($resultat);
          if ($nbElem > 0) {
             echo "<br/><br/><center> <font size=6 color=red>
                  <b>Erreur !!! L'Album $name  n'a pas été ajouté</b>".
                "</font><br/>".
                "Un autre album est deja a la position: ".$ordre.
                "</center><br><br>\n";
          }
          else {
             $requete = "insert into ".$this->szNomBase .
                "(name,place,ordre,dep,date_texte)".
                " values ('$name','$place','$ordre','$dep','$date' )";
             
             $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);
              
             if ($resultat == 1) {
                echo "<br><br><center><font size=4 color=red>".
                   "<b>L'Album $name  a été Ajouté</b></font>".
                   "</center><br/><br/>\n";
             }
             else {
                echo "<br><br><center><font size=6 color=red>".
                   "<b>BUG !!! L'Album $name  n'a pas été ajouté</b>".
                   "</font></center><br/><br/>\n";
             }
             /* Get the ID of the Album. */
             $requete = "select * from ".$this->szNomBase.
                " where ordre='$ordre'";
             $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);
             $row = mysql_fetch_row ($resultat);
             $id = $row[0];
             /* Finaly, create root directory, where, the album store his 
                image. */
             mkdir ($this->root."/album-".$id, 0750);
             /* Create the directory for the mini images .*/
             mkdir ($this->root."/album-".$id."/mini", 0750);
             /* Create the directory for the normal images. */
             mkdir ($this->root."/album-".$id."/normal", 0750);
             
             MYSQL_CLOSE;
          }
          echo "<br/><br/>
             <center><a href=$racine/$page_index?page=$this->szPage>
             Retour à la page d'administration des Albums</a></center>\n";
        
       }
   }
 
   // =================================================
   // Cette fonction supprime l'élement de base passé en paramètre
   function Supprimer ($num_elem)
   {
      global $racine, $page_index, $sql_bdd;
      
      /* On se connecte sur la base. */
      $connect_db = jb_sql_connect (false);
      return -1;
      $resultat = mysql_db_query ($sql_bdd,
                                  "delete from $this->szNomBase where ".
                                  "id=$num_elem",$connect_db);

      /* Remove the images in the normal directory. */
      $rootDir = $this->root."/album-".$num_elem."/normal";
      if ($dh = opendir ($rootDir)) {
         while (($file = readdir($dh)) !== false)
            if (($file != ".") && ($file != ".."))
               unlink ($rootDir."/".$file);
      }
      closedir($dh);
      /* Remove the normal directory. */
      rmdir ($rootDir);

      /* Remove the mini directory. */
      $rootDir = $this->root."/album-".$num_elem."/mini";
      if ($dh = opendir ($rootDir)) {
         while (($file = readdir($dh)) !== false)
            if (($file != ".") && ($file != ".."))
               unlink ($rootDir."/".$file);
      }
      closedir($dh);
      /* Remove the mini directory. */
      rmdir ($rootDir);
      
      /* Remove the album directory. */
      $rootDir = $this->root."/album-".$num_elem;
      rmdir ($rootDir);
      
      if ($resultat == 1)
         echo "<br><br><center><font size=4 color=red>
                <b>L' élement message $num_elem a été effacé</b>
                </font></center><br/><br/>\n";
      else
         echo "<br><br><center><font size=6 color=red>
                <b>BUG !!! suppression Impossible</b></font></center>
                <br/><br/>\n";
      
      MYSQL_CLOSE;

      /* Remove all the file off this album. */
      

      echo "<br/><br/>
             <center><a href=$racine/$page_index?page=$this->szPage>
             Retour à la page d'administration des Albums.</a></center>\n";
   }

   // =================================================
   // Cette fonction supprime l'élement de base passé en paramètre
   function Afficher ($num_elem)
   {
      global $racine, $racine, $page_index;
      
      $rootDir = $this->root."/album-".$num_elem."/normal";
      
      /* Print the form to add a new image on this album.*/
      echo "<font size =\"-1\" face=\"arial, helvetica\">Ajouter une image:".
         "</font>";
      echo "<center><form enctype=\"multipart/form-data\" method=\"post\" ".
         "action=\"$PHP_SELF?page=$this->szPage\">";
      echo "<input type=\"hidden\" name=\"elem\" size=\"32\" ".
         "value=\"$num_elem\" />";
      echo "<input type=\"hidden\" name=\"action\" value=\"upload\" />";
      echo "<input name=\"imgfile\" type=\"file\" size=\"40\">";
      echo "<input type=\"submit\" upload=\"upload\" value=\"Go!\">";
      echo "</form></center>";
      echo "<hr><center><table border=2><tr>";
      $numImg = 0;
      /* Get the list of all the file in this directory. */
      if (is_dir ($rootDir)) {
         if ($dh = opendir ($rootDir)) {
            while (($file = readdir($dh)) !== false) {
               if (($file != ".") && ($file != "..")) {
                  if ($numImg == 2) {
                     echo "<tr>";
                     $numImg = 0;
                  }
                  echo "<td align=\"center\"><table><tr><td>".
                     "<img src=\"".$racine."/".$this->albumDir.
                     "/album-".$num_elem."/mini/".$file."\"></td></tr>".
                     "<tr><td align=\"center\">".
                     "<a href=$racine/$page_index?page=".
                     $this->szPage."&action=".
                     "suppImage&elem=".$num_elem."&file=".$file.">".
                     "Supprimer</a></td></tr></table></td>";
                  $numImg += 1;
               }
            }
            closedir($dh);
         }
      }
      echo "</tr></table></center>";
   }

   // =================================================
   // Cette fonction transfert dans le repertoire root des images
   function upload ($num_elem, $ImgFile, $File_name)
   {
      /* Sizes: 
           - normal image: 800
           - mini: 170
       */
      $SizeNormalized = 800;
      $sizeMini = 170;
      
      $rootDir = $this->root."/album-".$num_elem."/";
      /*echo "copy de : " .$ImgFile."</br>";
      echo ", vers: ".$rootDir.$File_name."</br>";*/
      
      /* Only managed JPEG type file. */
      $size = getimagesize($ImgFile);
      
      if (($size[2] == 2) && (imagetypes() & IMG_JPG)) {
         /* Get image. */
         $src = imagecreatefromjpeg ($ImgFile);
         $worig = $size[0];
         $horig = $size[1];
         //print "Size orig: worig: $worig, horig: $horig";
         /* The image is a rectangle with W bigger than the H. */
         if ($worig > $horig) {
            /* the width will be resized to 800.*/
            if ($worig > 800) {
               /* we resize the image.*/
               $wNew = $SizeNormalized;
               $hNew = intval ($horig / ($worig / $SizeNormalized));
            }
            else {
               $wNew = $worig;
               $hNew = $horig;
            }
            //print "new size: $wNew, $hNew";
            /* we resize the mini image.*/
            $wMini = $sizeMini;
            $hMini = intval ($horig / ($worig / $sizeMini));
            //print "new size: $wMin, $hMin";
         }
         else {
            /* The image is vertical. */
            /* The height will be resized to 800. */
            if ($horig > 800) {
               /* We resize the image. */
               $wNew = intval ($worig / ($horig / $SizeNormalized));
               $hNew = $SizeNormalized;
            }
            else {
               $wNew = $worig;
               $hNew = $horig;
            }
            //print "new size: $wNew, $hNew";
            /* we resize the mini image.*/
            $wMini = intval ($worig / ($horig / $sizeMini));
            $hMini = $sizeMini;
         }
      }
      else {
         echo "Only JPEG photos are supported sorry !!";
         return;
      }
      
      /* Create the normal image resized. */
      $Normal = imagecreatetruecolor ($wNew, $hNew);
      imagecopyresized ($Normal, $src, 0, 0, 0, 0,
                        $wNew, $hNew, $worig, $horig);
      /* Write the new resized file.*/
      /* Get the nb photos present actualy to */
      if ($handle = opendir($rootDir."/normal/")) {
         while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
               $nbFiles++;
            }
         }
         closedir($handle);
      }
      /* Increment the nb of files for the new one. */
      $nbFiles++;
      if ($nbFiles < 10)
         $nbFiles = "0".$nbFiles;
      $file = $rootDir."/normal/".$nbFiles.".jpg";
      imagejpeg ($Normal, $file);

      /* Create the Thumb image resized. */
      $Mini = imagecreatetruecolor ($wMini, $hMini);
      imagecopyresized ($Mini, $src, 0, 0, 0, 0,
                        $wMini, $hMini, $worig, $horig);
      /* Write the new resized file.*/
      $file = $rootDir."/mini/".$nbFiles.".jpg";
      /*print "Add (mini): " . $file;*/
      imagejpeg ($Mini, $file);
      
      /* Remove the uploaded file. */
      unlink ($ImgFile);
      
      //copy ($ImgFile, $rootDir.$File_name);
      /* Then print the list of  the images. */
		$this->Afficher ($num_elem);
   }

   // =================================================
   // Cette fonction remove from the hard Drive of an image.
   function SuppImage ($elem, $file)
   {
      print "Suppression de l'image: $file (gallerie: $elem)<br><br>";
      $rootDir = $this->root."/album-".$elem."/";
      $fileNormal = $rootDir."normal/".$file;
      $fileMini = $rootDir."mini/".$file;
      
      unlink ($fileNormal); 
      unlink ($fileMini);
      
      /* Then print the list of  the images. */
		$this->Afficher ($elem);
   }

   // =================================================
   // This function allow the possibility of modify the album parameters.
   function Modifier ($elem)
   {
      global $sql_bdd;
      
      // On se connecte sur la base de Download
      $connect_db = jb_sql_connect (false);
      $requete = "select * from $this->szNomBase where id='$elem'";
      $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);
      
      $this->nID = mysql_result ($resultat, 0, "id");
      $this->szName = mysql_result ($resultat, 0, "name");
      $this->szPlace = mysql_result ($resultat, 0, "place");
      $this->szDep = mysql_result ($resultat, 0, "dep");      
      $this->nOrdre = mysql_result ($resultat, 0, "ordre");
      /* Split the date, to get the differents fields. */
      $dateTexte = mysql_result ($resultat, 0, "date_texte");
      list ($this->nJour, $this->nMois, $this->nAnnee) = split('/', 
                                                                  $dateTexte);
      
      echo "<center><h1> Modification de l'album: $this->szName </h1>
             </center><br/>\n";
      $this->debutFormulaire ("ValideModifier", 1);
      mysql_free_result ($resultat);
      MYSQL_CLOSE;
   }

   // =================================================
   // This function allow the possibility of modify the album parameters.
   function ValideModifierAlbum ($elem, $name, $place, $dep, $ordre, 
                                 $jour, $mois, $annee)
   {
      global $racine, $page_index, $sql_bdd;

      if ($jour < 10)
         $jour = "0".$jour;
      if ($mois < 10)
         $mois = "0".$mois;
      $date = $jour."/".$mois."/".$annee;
      
      /* On se connecte sur la base de l'album photos. */
      $connect_db = jb_sql_connect (false);
      $requete = "update $this->szNomBase  set name='$name' ,place=".
         "'$place',dep='$dep',ordre='$ordre',date_texte='$date' ".
         "where id='$elem'";
      $resultat = mysql_db_query($sql_bdd, $requete, $connect_db);
      if ($resultat == 1)
         echo "<br/><br/><center><font size=4 color=red>
                <b>L'album $name  a été Modifié</b></font>
                </center><br/><br/>\n";
      else
         echo "<br/><br/><center><font size=6 color=red>
                <b>BUG !!! L'album $name n'a pas été Modifié</b></font>
                </center><br/><br/>\n";
      
      
      MYSQL_CLOSE;
      echo "<br/><br/>
             <center><a href=$racine/$page_index?page=$this->szPage>
             Retour à la page d'administration de l'album photos".
         "</a></center>\n";
   }


    function AfficheAbumRacine ($Rep)
    {
       global $sql_bdd, $AlbumRoot, $racine;
       
       $connect_db = jb_sql_connect (false);
       $requete = "select * from $this->szNomBase  order by ordre desc";
       $resultat = mysql_db_query ($sql_bdd, $requete, $connect_db);
       $i = 0;
       echo "<br><center><table border=2 width=\"75%\"><tr>\n";
       
       while ($row = mysql_fetch_row ($resultat)) {
          $fichier = $racine ."/".$AlbumRoot."/album-".$row[0].
             "/mini/01.jpg";
          echo "<td align=\"center\">
                   <a href=\"$page_index?page=".
             $this->szPage."&palb=$row[0]\">\n";
          $commentaire = $row[1]." ".$row[2]." (".$row[3].")<br>".
             "le ".$row[4];
          echo "<img src=$fichier alt=$array[$i] border=0></a><br>\n
                   <table width=\"180\" height=\"61\">
                      <tr>
                         <td background=\"$racine/Imgs/raye10.gif\" 
                             bgcolor=\"#5b8cc1\" valign=center>\n
                            <br><font color=\"white\">
                               <center>$commentaire</center>
                            </font>
                         </td>
                      </tr>
                   </table> </td>";
          if ($i == 1) {
             echo "</tr><tr>";
             $i = 0;
          }
          else
             $i = $i + 1;
       }
       echo "</tr></table>\n";
       echo "</center> \n";
    }
    
    function AfficheAbum ($Rep)
    {
       global $racine, $AlbumRoot;
       
       $monRepertoire = opendir($this->root."/album-".$Rep."/normal");
       $precedent ="";
       $suivant = "";
       $bTrouve =false;
       echo "<br><center><table border=2 width=\"75%\"><tr>\n";
       $i = 0;
       
       while ($entryName = readdir ($monRepertoire)) {
          if (($entryName != ".")  && ($entryName != "..")) {              
             $fichier = $racine ."/".$AlbumRoot."/album-".$Rep.
                "/mini/".$entryName;
             echo "<td align=\"center\">
                   <a href=\"$page_index?page=".$this->szPage.
                "&palb=$Rep&img=".$entryName."\">\n
                     <img src=$fichier alt=$array[$i] border=0></a>";
          
          if ($i == 1) {
             echo "</tr><tr>";
             $i = 0;
          }
          else
             $i = $i + 1;
          }
       }
       echo "</tr></table>\n"; 
       echo "<br /><br />
             <b>Clicker sur l'image pour voir la collection</b><br><br>\n";
       echo "<table border=1><tr>\n";
       echo "<td><a href=$page_index?page=$this->szPage&palb=racine >\n";
       echo "<img src=$racine/Imgs/home.gif alt=home border=0></a></td>\n";
       /*
       if ($precedent == "")
          echo "<td><a href=$page_index?page=album_photo&palb=racine >\n";
       else
          echo "<td><a href=$page_index?page=album_photo&palb=$precedent>\n";
       echo "<img src=$racine/Imgs/back.gif alt=back border=0></a></td>\n";
       echo "<td><a href=$page_index?page=$this->szPage&palb=racine >\n";
       echo "<img src=$racine/Imgs/home.gif alt=home border=0></a></td>\n";
       if ( $suivant =="")
          echo "<td><a href=$page_index?page=album_photo&palb=racine >\n";
       else
          echo "<td><a href=$page_index?page=album_photo&palb=$suivant>\n";
       echo "<img src=$racine/Imgs/forward.gif alt=suivant border=0></a></td>\n";
       */
       echo "</tr></table>\n";
    }

    /* Affiche a specific image of a specific album. */
    function AfficheImage ($Rep, $NumImg)
    {
       global $page_index, $racine;
       global $racine, $AlbumRoot;
       
       $ImgPath = $this->root."/album-".$Rep."/normal";
       $ImgPathWeb = $racine ."/".$AlbumRoot."/album-".$Rep."/normal";

       $fichier ="\"$ImgPathWeb/$NumImg\"";
       echo "<img src=$fichier alt=$NumImg>\n";
       $chemin = "$this->szCheminAlbum/$Rep/normal";

       $monRepertoire = opendir($ImgPath);
       $precedent ="";
       $suivant = "";
       $bTrouve =false;
       while ($entryName = readdir ($monRepertoire)) {
          
          if (($entryName !=".") && ($entryName !="..")) {
             if ($bTrouve == true) {
                $suivant = $entryName;
                break;
             }
             if ($entryName == $NumImg)
                $bTrouve = true;
             
             if ($bTrouve == false)
                $precedent =$entryName;
          }
       }
       
       echo "<br><br><center><table border=1><tr>\n";
       if ( $precedent =="")
          echo "<td><a href=$page_index?page=$this->szPage&palb=$Rep>\n";
       else
          echo "<td><a href=$page_index?page=$this->szPage&palb=$Rep&img=$precedent >\n";
       echo "<img src=$racine/Imgs/back.gif alt=back border=0></a></td>\n";
       echo "<td><a href=$page_index?page=$this->szPage&palb=$Rep>\n";
       echo  "<img src=$racine/Imgs/home.gif alt=home border=0></a></td>\n";
       if ( $suivant=="")
          echo "<td><a href=$page_index?page=$this->szPage&palb=$Rep>\n";
       else
          echo "<td><a href=$page_index?page=$this->szPage&palb=$Rep&img=$suivant >\n";
       echo "<img src=$racine/Imgs/forward.gif alt=suivant border=0></a></td>\n";
       echo "</tr></table></center>\n";
    }

};

?>