<?php
session_start();
error_reporting(0);

/*****************************************************************************************
                        Artiphp Velocity 3.0.2 - ArtiGalerie
               copyright : Ronald Guérin - webmaster@artiloo.com
                            http://www.artiloo.com
          Dernière mise à jour : 20 octobre 2004 - jimro : 13 juin 2005
                       Implémentation phpThumb() : jimro
******************************************************************************************/

/*****************************************************************************************
 Artiphp, portail CMS pour la création de sites dynamiques

 Copyright (C) 2003 Ronald Guérin - webmaster@artiloo.com

 Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
 conformément aux dispositions de la Licence Publique Générale GNU, telle que publiée
 par la Free Software Foundation ; version 2 de la licence, ou encore (à votre choix)
 toute version ultérieure.

 Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ;
 sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION A UN OBJET PARTICULIER.
 Pour plus de détail, voir la Licence Publique Générale GNU .

 Vous devez avoir reçu un exemplaire de la Licence Publique Générale GNU en même temps que
 ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation Inc.,
 675 Mass Ave, Cambridge, MA 02139, Etats-Unis.

 Pour plus d'informations sur Artiphp :
 http://www.artiloo.com - webmaster@artiloo.com
******************************************************************************************/

include("adminheader.php");

// Dictionnaire spécifique au module
// ---------------------------------
include("../langages/$SESSION_LANGSKIN/admin_galerie.php");

// Données titre et description du module
// --------------------------------------
$imgmodule = "artiphpgalerie.gif";
$titremodule = "$LG_MODUGALERIE";
$descriptionmodule = "$LG_MODUGALERIEDES";

// Autorisation d'ouverture de cette page uniquement aux statuts autorisés
// -----------------------------------------------------------------------
$session_statut = $_SESSION['SESSION_STATUT'];
if ($session_statut!="artadmin" && $session_statut!="auteurqal" && $session_statut!="auteur" && $session_statut!="inscrit") {
   header("Location: ../outils/erreur.php?ec=2");
   exit();
}

include("../outils/foncpost2.php");

// Paramètres
// ----------
$maxfilesize = 150000; // Taille maximale d'un fichier à télécharger en octets (miniature ou image grand-format)
$okupload = "1"; // Contrôle de l'upload
$dateimg = date ("Ymd"); // Utile en cas de mise à jour de la date
if (is_dir("../outils/phpthumb")) { $phpthumbpresent="1"; } else { $phpthumbpresent="0"; } // Vérifie si phpThumb présent
$max_lH = 100; // Largeur ou hauteur maximale pour la miniature générée par phpThumb
// ----------

// Récupération de l'id et du nom de la catégorie
if (!$_POST['categorie']) {
   $categorie = $_GET['categorie'];
   $requete = "select nomCatgal from ".$extension."galcategorie where id_catgal='$categorie'";
   $result = mysql_query($requete, $link);
   $catvisu = mysql_fetch_object($result);
   $nomcatvisu = stripslashes($catvisu->nomCatgal);
} else {
   $categorie = $_POST['categorie'];
   $nomcatvisu = stripslashes($_POST['nomcatvisu']);
}

// Affichage des données à modifier
// --------------------------------
if ($_GET['id_img']) {

   $id_img = $_GET['id_img'];
   $requete="select * from ".$extension."galerie where id_img='$id_img'";
   $result=mysql_query($requete, $link);
   $dossier=mysql_fetch_object($result);

   $titreimg = $titreimginitial = stripslashes($dossier->titreimg);
   $imgchemin = stripslashes($dossier->imgchemin);
   $texte = stripslashes($dossier->texteimg);
   $id_artiste2 = $id_artisteinitial = $dossier->id_artiste;

// Si formulaire incomplet, récupération des données
} elseif ($_POST['id_img']) {

   $id_img = $_POST['id_img'];
   $titreimg = $_POST['titreimg'];
   $titreimginitial = stripslashes($_POST['titreimginitial']);
   $imgchemin = $_POST['imgchemin'];
   $texte = $_POST['texte'];
   $id_artiste2 = $_POST['id_artiste2'];
   $id_artisteinitial = $_POST['id_artisteinitial'];

}

$modif = "$LG_DOSMOD <font style=\"color: #7A6BA5\">".$titreimginitial."</font><br>$LG_DOSMOD2 <font style=\"color: #7A6BA5\" size=\"2\">".$nomcatvisu."</font><br>";

// Suivant l'éditeur de texte (IE ou NS)
$nav=$_GET['$nav'];
if ($nav=='2') {
   $texte = eregi_replace('<br[[:space:]]*/?[[:space:]]*>', "", $texte);
}
if ($imgchemin != "") {
   $formphoto = "$LG_IMGNOW <br>";
   $formphoto .= "<img src=\"../galerie/mini/".$imgchemin."\"></p>";

   $formphoto2 = "$LG_IMGNOW <br>";
   $formphoto2 .= "<img src=\"../galerie/img/".$imgchemin."\"></p>";
   $formphoto2 .= "$LG_IMGCHANG<br>";
}

// Formulaire de saisie
// --------------------

// Upload de la photo (miniature)
// ------------------------------

if ($phpthumbpresent == "0") {

   // Ouverture FTP et changement de chmod du répertoire /galerie/mini/
   if ($_FILES['image']['type']) {
      if ($ftp=='1') {
         $ftpcon = ftp_connect($ftp_host) or die('Erreur');
         $loginresult = ftp_login($ftpcon, $ftp_login, $ftp_mdp);
   
         $repertoire = $ftp_repertoire."galerie";
   
         // Emplacement du fichier que vous voulez modifier
         ftp_chdir($ftpcon, $repertoire) or die('Erreur répertoire');
   
         // Changement de chmod via FTP
         $chmod_cmd = "CHMOD 0777 mini";
         ftp_site($ftpcon, $chmod_cmd);
      }
   }

   if ($_FILES['image']['type']) {
   
      $nomimage=$_FILES['image']['name'];
      $sizefile = $_FILES['image']['size'];
      $img=$_FILES['image']['type'];
      $tmp_file = $_FILES['image']['tmp_name'];
   
      if ($sizefile > $maxfilesize) {
         $meserreur2 = "<font color=\"red\">Fichier image miniature trop volumineux : $sizefile octets (taille limitée à $maxfilesize octets)</font><br>";
         $okupload = "0";
      } else {
         $tabTypeImage = split ("/", $img);
         $typeImage = $tabTypeImage[1];
         if ($typeImage != "pjpeg" && $typeImage != "x-jpeg" && $typeImage != "jpeg" && $typeImage != "gif" && $typeImage != "x-png" && $typeImage != "png") {
            $meserreur2 ="<font color=\"red\">$LG_UPNOFORM</font><br>";
            $okupload = "0";
         } else {
            if ( !is_uploaded_file($tmp_file) ) {
               $meserreur2 ="<font color=\"red\">$LG_UPNOFILE</font><br>";
               $okupload = "0";
            } else {
               $destination = "../galerie/mini/".$nomimage;
               if (! move_uploaded_file ($tmp_file, $destination)) {
                  $meserreur2 ="<font color=\"red\">$LG_UPNOTRANS</font><br>";
                  $insertimage="";
                  $okupload = "0";
               } else {
                  $insertimage=", imgchemin='$nomimage' ";
               }
            }
         }
      }
   }

   // Fermeture et remise du chmod FTP
   if ($_FILES['image']['type']) {
   	if ($ftp=='1') {
         $chmod_cmd = "CHMOD 0755 mini";
         ftp_site($ftpcon, $chmod_cmd);
         ftp_close($ftpcon);
   	}
   }
}

// Upload de la photo (grand-format)
// ---------------------------------

// Ouverture FTP et changement de chmod du répertoire /galerie/img/
if ($_FILES['image2']['type']) {
   if ($ftp=='1') {
      $ftpcon = ftp_connect($ftp_host) or die('Erreur');
      $loginresult = ftp_login($ftpcon, $ftp_login, $ftp_mdp);

      $repertoire = $ftp_repertoire."galerie";

      // Emplacement du fichier que vous voulez modifier
      ftp_chdir($ftpcon, $repertoire) or die('Erreur répertoire');

      // Changement de chmod via FTP
      $chmod_cmd = "CHMOD 0777 img";
      ftp_site($ftpcon, $chmod_cmd);
   }
}

if ($_FILES['image2']['name']) {

   $nomimage2 = $_FILES['image2']['name'];
   $sizefile2 = $_FILES['image2']['size'];
   $img2 = $_FILES['image2']['type'];
   $tmpfile2 = $_FILES['image2']['tmp_name'];

   if ($sizefile2 > $maxfilesize) {
      $meserreur2 = "<font color=\"red\">Fichier image grand-format trop volumineux : $sizefile2 octets (taille limitée à $maxfilesize octets)</font><br>";
      $okupload = "0";
   } else {
      $tabTypeImage = split ("/", $img2);
      $typeImage = $tabTypeImage[1];
      if ($typeImage != "pjpeg" && $typeImage != "x-jpeg" && $typeImage != "jpeg" && $typeImage != "gif" && $typeImage != "x-png" && $typeImage != "png") {
         $meserreur2 = "<font color=\"red\">$LG_UPNOFORM</font><br>";
         $okupload = "0";
      } else {
         if (!is_uploaded_file($tmpfile2)) {
            $meserreur2 = "<font color=\"red\">$LG_UPNOFILE</font><br>";
            $okupload = "0";
         } else {
            $destination2 = "../galerie/img/".$nomimage2;
            if (!move_uploaded_file($tmpfile2, $destination2)) {
               $meserreur2 = "<font color=\"red\">$LG_UPNOTRANS</font><br>";
               $insertimage = "";
               $okupload = "0";
            } else {
               $insertimage = ", imgchemin='$nomimage2' ";
               if ($phpthumbpresent == "1") {

                  // --------------------------
                  // UTILISATION phpThumb 1.5.3
                  // --------------------------

                  // Déterminer le format de l'image
                  $extensionfichier = pathinfo($nomimage2, PATHINFO_EXTENSION);
                  switch ($extensionfichier) {
                  case "jpg":
                     $formatfichier = "jpeg";
                     break;
                  case "png":
                     $formatfichier = "png";
                     break;
                  case "gif":
                     $formatfichier = "gif";
                  }

                  // Créer l'objet : new phpThumb()
                  require_once('../outils/phpthumb/phpthumb.class.php');
                  $phpThumb = new phpThumb();
                  
                  // Définition de l'image source pour créer la miniature : chemin + nom
                  $image_filename = "../galerie/img/".$nomimage2;
                  $phpThumb->setSourceFilename($image_filename);
                  
                  // Paramétrage de la miniature
                  $phpThumb->w = $max_lH;
                  $phpThumb->h = $max_lH;
                  
                  // Options (voir phpThumb.config.php)
                  // ici vous devez faire précéder chaque option du préfixe "config_"
                  $phpThumb->config_output_format = $formatfichier;
                  
                  // Récupérer les erreurs (optionnel)
                  $phpThumb->config_error_die_on_error = false;
                  
                  // Générer la miniature et déterminer sa destination
                  $output_filename = '../galerie/mini/'.$nomimage2;
                  if ($phpThumb->GenerateThumbnail()) {
                     // Ecriture du fichier obtenu
               		if (!$phpThumb->RenderToFile($output_filename)) {
               			// Interrompre et préciser erreurs lors création du fichier
               			$meserreur2 = 'Echec : <pre>'.implode("\n\n", $phpThumb->debugmessages).'</pre>';
                        $okupload = "0";
               		}
                  } else {
                  	// Interrompre et préciser erreurs lors génération de la miniature
                  	$meserreur2 = 'Echec : <pre>'.implode("\n\n", $phpThumb->debugmessages).'</pre>';
                     $okupload = "0";
                  }
                  // ------------------------
                  // FIN UTILISATION phpThumb
                  // ------------------------
               }
            }
         }
      }
   }
}

// Fermeture et remise du chmod FTP
if ($_FILES['image2']['type']) {
   if ($ftp=='1') {
      $chmod_cmd = "CHMOD 0755 img";
      ftp_site($ftpcon, $chmod_cmd);
      ftp_close($ftpcon);
   }
}

$veriftexte = preg_replace('!<br.*>!iU', "", $texte);
//$veriftexte = eregi_replace('<br[[:space:]]*/?[[:space:]]*>', "", $texte);

// Si un champ non renseigné, ou si catégorie non définie, ou upload incorrect => réaffichage de la page
if (!$_POST['id_img'] || !$_POST['titreimg'] || !$_POST['texte'] || ($veriftexte=="") || !$categorie || ($categorie==0) || ($okupload=="0")) {

   $meserreur ="<font color=\"red\">$LG_FORMERROR</font><br>";
   $titreimg = stripslashes($titreimg);
   $texte = stripslashes($texte);

// Sinon mise à jour
} else {

   $titreimg = addslashes($titreimg);
   $texte = addslashes($texte);
   $texte = doscode($texte);

   // ---------------------------
   if ($_POST['nav']=='2') {
      $titreimg = nl2br($titreimg);
      $texte = nl2br($texte);
   }
   // ---------------------------

   // Mise à jour de la date si la case est cochée
   if (!$_POST['majdate']){
      $majdate = "";
   } else {
      $majdate = ", dateimg='$dateimg' ";
   }

   // Mise à jour du nombre d'oeuvres pour l'artiste
   // ----------------------------------------------
   if ($id_artiste2 != $id_artisteinitial) {

      // Vérification de l'existence de l'artiste nouvellement choisi
      $requete = "SELECT * FROM ".$extension."galartiste WHERE idUt='$id_artiste2'";
      $result = mysql_query($requete, $link);
      $verifart = mysql_fetch_object($result);

      // Ajout du nouvel artiste s'il n'existe pas
      if (! $verifart->idArt) {
         $requete = "INSERT INTO ".$extension."galartiste SET idUt='$id_artiste2'";
         $result = mysql_query($requete, $link);
      }

      // Récupération du nombre d'oeuvres de l'artiste nouvellement choisi
      $requete = "select nbAimg from ".$extension."galartiste where idUt='$id_artiste2'";
      $result = mysql_query($requete, $link);
      $lien = mysql_fetch_object($result);
      $ajout = $lien->nbAimg;

      // Ajout d'une oeuvre pour l'artiste nouvellement choisi
      $total = $ajout+1;
      $requete2 = "UPDATE ".$extension."galartiste SET nbAimg='$total' WHERE idUt='$id_artiste2'";
      $result2 = mysql_query($requete2, $link);

      // Récupération du nombre d'oeuvres de l'artiste initial
      $requete = "select nbAimg from ".$extension."galartiste where idUt='$id_artisteinitial'";
      $result = mysql_query($requete, $link);
      $lien = mysql_fetch_object($result);
      $retrait = $lien->nbAimg;

      // Retrait d'une oeuvre pour l'artiste initial
      $total = $retrait-1;
      $requete2 = "UPDATE ".$extension."galartiste SET nbAimg='$total' WHERE idUt='$id_artisteinitial'";
      $result2 = mysql_query($requete2, $link);
   }
   // ----------------------------------------------

   //***** MODIF jimro ***** Correction : ajout de $insertimage

// dirty patch by Marco, to avoid tinyMCE path error when including images
     $texte=str_replace("www.cilss.bf..","www.cilss.bf/fondsitalie",$texte);
//

   $requete = "UPDATE ".$extension."galerie SET titreimg='$titreimg', texteimg='$texte', id_artiste='$id_artiste2'".$majdate.", id_catgalerie='$categorie'".$insertimage."WHERE id_img='$id_img'";
   $result = mysql_query($requete, $link);

	// Mise à jour de l'index
	include("galerie_donnees.php");

   header("Location: galerieconfirm2.php?categorie=$categorie");
   exit();
}

// Génération liste auteurs pour utilisateur ayant statut artadmin
// ---------------------------------------------------------------
$auteurselect[$id_artiste2] = "selected";
$listeauteur .= "<select name=\"id_artiste2\" size=\"1\">\n";
$requete = "SELECT id_utilisateur, prenomUtilisateur, nomUtilisateur, loginUtilisateur FROM ".$extension."utilisateurs WHERE statutUtilisateur='artadmin' OR statutUtilisateur='auteurqal' OR statutUtilisateur='auteur' OR statutUtilisateur='inscrit'";
$result = mysql_query($requete, $link);
while ($auteur = mysql_fetch_object($result)) {
   $auteur->prenomUtilisateur = stripslashes($auteur->prenomUtilisateur);
   $auteur->nomUtilisateur = stripslashes($auteur->nomUtilisateur);
   $auteur->loginUtilisateur = stripslashes($auteur->loginUtilisateur);

   $listeauteur .= "<option value=\"".$auteur->id_utilisateur."\" ".$auteurselect[$auteur->id_utilisateur].">".$auteur->prenomUtilisateur." ".$auteur->nomUtilisateur." (".$auteur->loginUtilisateur.")</option>\n";
}
$listeauteur .= "</select></p>\n";

mysql_free_result($result);
// ------------------------

// Mise en page
// ------------

include("header.php");
include("menumod.php");

?>

<div align="center"><center>
<table width="95%" border="0" cellspacing="5" cellpadding="5">
<tr>
<form NAME="form" method="POST" action="galeriesaisiemod.php" enctype="multipart/form-data">
<td>
<p><img src="imgadmin/ptecrire.gif" align="absmiddle" border="0">&nbsp;
<strong><?php echo $modif; ?></strong>
<?php echo "<br>" . $meserreur . $meserreur2; ?>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#CCCCFF" style="BORDER:#000000 1px dashed">

<input type="checkbox" name="majdate" value="ok"> <?php echo $LG_MAJDATE; ?><br><br>

<p><b><?php echo $LG_FORMTITRE; ?> *</b><br>
<input type="text" name="titreimg" value="<?php echo $titreimg; ?>" size="80"></p><p>

<?php
// Zone de texte
// La variable $texte est définie au début du fichier
$nomtxt = "<b>".$LG_DESCRIPTION." *</b>"; // nom de la textearea
$lienNS = "galeriesaisiemod.php?nav=2&id_img=$dossier->id_img&categorie=$categorie"; // lien vers éditeur Netscape
$lienIE = "galeriesaisiemod.php?id_img=$dossier->id_img&categorie=$categorie"; // lien vers éditeur Internet Explorer

include("../outils/foncpost10.php");
$milieu .= "<br>$menu";

// ---------------

echo $milieu;

// Si l'utilisateur a le statut artadmin, affichage liste auteurs
if ($session_statut=="artadmin") {
?>

<p><b><?php echo $LG_INDEXAUTOR; ?> *</b><br>
<?php echo $listeauteur; ?></p>

<?php
// sinon récupération id utilisateur et transmission par champ caché
} else {
$SESSION_ID = $_SESSION['SESSION_ID'];
?>

<input type="hidden" name="id_artiste2" value="<?php echo $SESSION_ID; ?>">

<?php
}
?>

<b><?php echo $LG_GALIMGMN; ?></b> <br>
<?php echo $formphoto; ?>

<?php
if ($phpthumbpresent == "0") {
   echo "$LG_IMGCHANG<br>";
?>

<input name="image" type="file" size="80"><br>

<?php
}
?>

<b><?php echo $LG_GALIMGGD; ?></b><br>
<?php echo $formphoto2; ?>
<input name="image2" type="file" size="80"><br><br>
<input type="hidden" name="id_img" value="<?php echo $id_img; ?>">
<input type="hidden" name="imgchemin" value="<?php echo $imgchemin; ?>">
<input type="hidden" name="categorie" value="<?php echo $categorie; ?>">
<input type="hidden" name="nomcatvisu" value="<?php echo $nomcatvisu; ?>">
<input type="hidden" name="nav" value="<?php echo $nav; ?>">
<input type="hidden" name="id_artisteinitial" value="<?php echo $id_artisteinitial; ?>">
<input type="hidden" name="titreimginitial" value="<?php echo $titreimginitial; ?>">
<input type="submit" value="<?php echo $LG_ENVOI; ?>" name="B1"></p>
</td></form></tr></table>
</center></div>
<p></p>

<?php

include("menumod2.php");
include("footer.php");
mysql_close();

?>
