if (!file_exists($sav_photo['tmp_name'])) { $msg .= "Erreur de téléchargement niveau 2.<br />"; } else { if (my_strtolower($sav_photo['type']) != "image/jpeg") { $msg .= "Erreur : seuls les fichiers ayant l'extension .jpg sont autorisés (<i>" . $sav_photo['name'] . " : " . $sav_photo['type'] . "</i>)<br />"; } else { if (!(preg_match('/jpg$/i', $sav_photo['name']) || preg_match('/jpeg$/i', $sav_photo['name']))) { $msg .= "Erreur : seuls les fichiers ayant l'extension .jpg ou .jpeg sont autorisés (<i>" . $sav_photo['name'] . "</i>)<br />"; } else { $dest = $rep_photos; $sql = "SELECT elenoet FROM eleves WHERE login='******'login_photo']) . "';"; $res_elenoet = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_elenoet) == 0) { $msg .= "Aucun elenoet n'a été trouvé pour renommer la photo de cet élève.<br />\n"; } else { $quiestce = encode_nom_photo(old_mysql_result($res_elenoet, 0, 'elenoet')); if (!deplacer_fichier_upload($sav_photo['tmp_name'], $rep_photos . $quiestce . ".jpg")) { $msg .= "Problème de transfert : le fichier n'a pas pu être transféré sur le répertoire photos/eleves/<br />"; } else { //$msg = "Téléchargement réussi."; if (getSettingValue("active_module_trombinoscopes_rd") == 'y') { // si le redimensionnement des photos est activé on redimenssionne $source = imagecreatefromjpeg($rep_photos . $quiestce . ".jpg"); // La photo est la source if (getSettingValue("active_module_trombinoscopes_rt") == '') { $destination = imagecreatetruecolor(getSettingValue("l_resize_trombinoscopes"), getSettingValue("h_resize_trombinoscopes")); } // On crée la miniature vide // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source);
$msg .= "Erreur : seuls les fichiers ayant l'extension .jpg ou .jpeg sont autorisés (<i>" . $sav_photo['name'][$cpt_photo] . "</i>)<br />"; } else { $dest = $rep_photos; $n = 0; //$msg.="\$rep_photos=$rep_photos<br />"; if (!deplacer_fichier_upload($sav_photo['tmp_name'][$cpt_photo], $rep_photos . encode_nom_photo($quiestce[$cpt_photo]) . ".jpg")) { $msg .= "Problème de transfert : le fichier n°{$cpt_photo} n'a pas pu être transféré sur le répertoire photos/eleves/<br />"; } else { //$msg = "Téléchargement réussi."; $cpt_photos_mises_en_place++; if (getSettingValue("active_module_trombinoscopes_rd") == 'y') { // si le redimensionnement des photos est activé on redimensionne if (getSettingValue("active_module_trombinoscopes_rt") != '') { $redim_OK = redim_photo($rep_photos . encode_nom_photo($quiestce[$cpt_photo]) . ".jpg", getSettingValue("l_resize_trombinoscopes"), getSettingValue("h_resize_trombinoscopes"), getSettingValue("active_module_trombinoscopes_rt")); } else { $redim_OK = redim_photo($rep_photos . encode_nom_photo($quiestce[$cpt_photo]) . ".jpg", getSettingValue("l_resize_trombinoscopes"), getSettingValue("h_resize_trombinoscopes")); } if (!$redim_OK) { $msg .= " Echec du redimensionnement de la photo."; } } } } } } } } } $cpt_photo = $cpt_photo + 1; } if ($msg == "" && $cpt_photos_mises_en_place > 0) {
$larg_cadre_img=round($larg_cadre*$ratio); $haut_cadre_img=round($haut_cadre*$ratio); while($lig2=mysqli_fetch_object($res2)) { // Coordonnées dans le PDF multipliées par le ratio $x=round(($x0+$lig2->x*($larg_cadre+$dx))*$ratio); $y=round(($y0+$lig2->y*($haut_cadre+$dy)+$hauteur_classe+$ecart_sous_classe)*$ratio)*$correctif_vertical; $img=imagecreatetruecolor($larg_cadre_img,$haut_cadre_img); imagecopy($img,$img_source,0,0,$x,$y,$larg_cadre_img,$haut_cadre_img); if (isset($GLOBALS['multisite']) AND $GLOBALS['multisite'] == 'y') { imagejpeg($img, "../photos/eleves/$repertoire2".encode_nom_photo($lig2->login).'.jpg'); } else { imagejpeg($img, "../photos/eleves/".encode_nom_photo($lig2->elenoet).'.jpg'); } imagedestroy($img); } } } } } } } } } } //================================================= //=================================================
function copie_temp_vers_photos(&$nb_photos,$dossier_a_traiter,$type_a_traiter,$ecraser=true,$test_folder=false,$encodage=false) // $dossier_a_traiter : 'eleves' ou 'personnels' // $type_a_traiter : : 'élève' ou 'personnel' { global $repertoire_photos,$dir_temp,$msg_nb_trts,$msg,$avertissement; $folder = $dir_temp."/photos/".$dossier_a_traiter."/"; if($test_folder && !file_exists($folder)) { $avertissement.="Votre ZIP ne contient pas l'arborescence /photos/".$dossier_a_traiter." :</b><br/><span style='font-variant:normal; font-size: smaller;'>Si vous souhaitiez restaurer des photos des ".$type_a_traiter."s, vous devriez avoir<br/>dans votre ZIP les photos des ".$type_a_traiter."s dans un sous-dossier photos/".$dossier_a_traiter."/</span><br/>\n"; } else { $nb_photos=0; $dossier = opendir($folder); while ($Fichier = readdir($dossier)) { //if ($Fichier != "index.html" && $Fichier != "." && $Fichier != ".." && ((preg_match('/\.jpg/i', $Fichier))||(preg_match('/\.jpeg/i', $Fichier)))) { if ((preg_match('/\.jpg/i', $Fichier))||(preg_match('/\.jpeg/i', $Fichier))) { $Fichier_dest=pathinfo($Fichier,PATHINFO_FILENAME); if ($encodage) $Fichier_dest=encode_nom_photo($Fichier_dest); $Fichier_dest.=".jpg"; $source=$folder.$Fichier; $dest=$repertoire_photos.$dossier_a_traiter."/".$Fichier_dest; if ($ecraser) { @copy($source, $dest); $nb_photos++; } else { if (!is_file($dest)) { @copy($source, $dest); $nb_photos++; } } } } if($nb_photos>0) {$msg_nb_trts.=$nb_photos." photo(s) ".$type_a_traiter."(s) transférée(s).<br/>\n";} closedir($dossier); } }
if($filephoto_tmp!="") { //$filephoto_name=$HTTP_POST_FILES['filephoto']['name']; //$filephoto_size=$HTTP_POST_FILES['filephoto']['size']; //$filephoto_type=$HTTP_POST_FILES['filephoto']['type']; $filephoto_name=$_FILES['filephoto']['name']; $filephoto_size=$_FILES['filephoto']['size']; $filephoto_type=$_FILES['filephoto']['type']; if (!(preg_match('/jpg$/',strtolower($filephoto_name)) || preg_match('/jpg$/',strtolower($filephoto_name))) || ($filephoto_type != "image/jpeg" && $filephoto_type != "image/pjpeg") ) { //$msg = "Erreur : seuls les fichiers ayant l'extension .jpg sont autorisés."; if($msg!="") {$msg.="<br />";} $msg .= "Erreur : seuls les fichiers ayant l'extension .jpg sont autorisés.\n"; } else { // Tester la taille max de la photo? if(is_uploaded_file($filephoto_tmp)) { $dest_file=$repertoire.encode_nom_photo($reg_no_gep).".jpg"; //$source_file=stripslashes("$filephoto_tmp"); $source_file=$filephoto_tmp; $res_copy=copy("$source_file" , "$dest_file"); if($res_copy) { //$msg.="Mise en place de la photo effectuée."; if($msg!="") {$msg.="<br />";} $msg.="Mise en place de la photo effectuée. <br />Il peut être nécessaire de rafraîchir la page, voire de vider le cache du navigateur<br />pour qu'un changement de photo soit pris en compte."; $no_modif="no"; if (getSettingValue("active_module_trombinoscopes_rd")=='y') { // si le redimensionnement des photos est activé on redimensionne if (getSettingValue("active_module_trombinoscopes_rt")!='') $redim_OK=redim_photo($dest_file,getSettingValue("l_resize_trombinoscopes"), getSettingValue("h_resize_trombinoscopes"),getSettingValue("active_module_trombinoscopes_rt")); else $redim_OK=redim_photo($dest_file,getSettingValue("l_resize_trombinoscopes"), getSettingValue("h_resize_trombinoscopes"));
/** * Renvoie le nom de la photo de l'élève ou du prof * * Renvoie NULL si : * * - le module trombinoscope n'est pas activé * - la photo n'existe pas. * * @param string $_elenoet_ou_login selon les cas, soit l'elenoet de l'élève soit le login du professeur * @param string $repertoire "eleves" ou "personnels" * @param int $arbo niveau d'aborescence (1 ou 2). * @return string Le chemin vers la photo ou NULL * @see getSettingValue() */ function nom_photo($_elenoet_ou_login, $repertoire = "eleves", $arbo = 1) { global $mysqli; if ($arbo == 2) { $chemin = "../"; } else { $chemin = ""; } if ($repertoire != "eleves" and $repertoire != "personnels") { return NULL; die; } if (getSettingValue("active_module_trombinoscopes") != 'y') { return NULL; die; } $photo = NULL; // En multisite, on ajoute le répertoire RNE if (isset($GLOBALS['multisite']) and $GLOBALS['multisite'] == 'y') { // On récupère le RNE de l'établissement $repertoire2 = $_COOKIE['RNE'] . "/"; } else { $repertoire2 = ""; } // Cas des élèves if ($repertoire == "eleves") { if ($_elenoet_ou_login != '') { // on vérifie si la photo existe if (isset($GLOBALS['multisite']) and $GLOBALS['multisite'] == 'y') { // En multisite, on recherche aussi avec les logins if (isset($GLOBALS['multisite']) and $GLOBALS['multisite'] == 'y') { // On récupère le login de l'élève $sql = 'SELECT login FROM eleves WHERE elenoet = "' . $_elenoet_ou_login . '"'; $query = mysqli_query($mysqli, $sql); $obj = $query->fetch_object(); $_elenoet_ou_login = $obj->login; } } if (file_exists($chemin . "../photos/" . $repertoire2 . "eleves/" . encode_nom_photo($_elenoet_ou_login) . ".jpg")) { $photo = $chemin . "../photos/" . $repertoire2 . "eleves/" . encode_nom_photo($_elenoet_ou_login) . ".jpg"; } else { if (file_exists($chemin . "../photos/" . $repertoire2 . "eleves/" . sprintf("%05d", encode_nom_photo($_elenoet_ou_login)) . ".jpg")) { $photo = $chemin . "../photos/" . $repertoire2 . "eleves/" . sprintf("%05d", encode_nom_photo($_elenoet_ou_login)) . ".jpg"; } else { for ($i = 0; $i < 5; $i++) { if (mb_substr(encode_nom_photo($_elenoet_ou_login), $i, 1) == "0") { $test_photo = mb_substr($_elenoet_ou_login, $i + 1); if ($test_photo != '' && file_exists($chemin . "../photos/" . $repertoire2 . "eleves/" . $test_photo . ".jpg")) { $photo = $chemin . "../photos/" . $repertoire2 . "eleves/" . $test_photo . ".jpg"; break; } } } } } } } else { $_elenoet_ou_login = md5(mb_strtolower($_elenoet_ou_login)); if (file_exists($chemin . "../photos/" . $repertoire2 . "personnels/{$_elenoet_ou_login}.jpg")) { $photo = $chemin . "../photos/" . $repertoire2 . "personnels/{$_elenoet_ou_login}.jpg"; } else { $photo = NULL; } } return $photo; }
/** * Renvoie le nom de la photo de l'élève * Renvoie NULL si : * - le module trombinoscope n'est pas activé * - ou bien la photo n'existe pas. * * @param $arbo : niveau d'aborescence (1 ou 2). */ public function getNomPhoto($arbo=1) { global $mysqli; if ($arbo==2) {$chemin = "../";} else {$chemin = "";} $repertoire = "eleves"; if (getSettingValue("active_module_trombinoscopes")!='y') { return NULL; die(); } $_elenoet_ou_login = $this->getElenoet(); if($_elenoet_ou_login!='') { // En multisite, on ajoute le répertoire RNE if (isset($GLOBALS['multisite']) AND $GLOBALS['multisite'] == 'y') { // On récupère le RNE de l'établissement $repertoire2=$_COOKIE['RNE']."/"; }else{ $repertoire2=""; } $photo = null; // on vérifie si la photo existe if(file_exists($chemin."../photos/".$repertoire2."eleves/".encode_nom_photo($_elenoet_ou_login).".jpg")) { $photo=$chemin."../photos/".$repertoire2."eleves/".encode_nom_photo($_elenoet_ou_login).".jpg"; } else if (isset($GLOBALS['multisite']) AND $GLOBALS['multisite'] == 'y') { // En multisite, on recherche aussi avec les logins if (isset($GLOBALS['multisite']) AND $GLOBALS['multisite'] == 'y') { // On récupère le login de l'élève $sql = 'SELECT login FROM eleves WHERE elenoet = "'.$_elenoet_ou_login.'"'; $query = mysqli_query($mysqli, $sql); $_elenoet_ou_login = old_mysql_result($query, 0,'login'); } if(file_exists($chemin."../photos/".$repertoire2."eleves/".encode_nom_photo($_elenoet_ou_login).".jpg")) { $photo=$chemin."../photos/".$repertoire2."eleves/".encode_nom_photo($_elenoet_ou_login).".jpg"; } else { if(file_exists($chemin."../photos/".$repertoire2."eleves/".sprintf("%05d",encode_nom_photo($_elenoet_ou_login)).".jpg")) { $photo=$chemin."../photos/".$repertoire2."eleves/".sprintf("%05d",encode_nom_photo($_elenoet_ou_login)).".jpg"; } else { for($i=0;$i<5;$i++){ if(mb_substr(encode_nom_photo($_elenoet_ou_login),$i,1)=="0"){ $test_photo=mb_substr(encode_nom_photo($_elenoet_ou_login),$i+1); if(($test_photo!='')&&(file_exists($chemin."../photos/".$repertoire2."eleves/".$test_photo.".jpg"))) { $photo=$chemin."../photos/".$repertoire2."eleves/".$test_photo.".jpg"; break; } } } } } }else{ $photo=NULL; } return $photo; }else{ return NULL; } }
} // Contrôler qu'un seul élève a bien cet elenoet??? $sql = "SELECT 1=1 FROM eleves WHERE elenoet='{$reg_no_gep}'"; $test = mysqli_query($GLOBALS["mysqli"], $sql); $nb_elenoet = mysqli_num_rows($test); if ($nb_elenoet == 1) { // filephoto if (isset($_FILES['filephoto'])) { check_token(); $filephoto_tmp = $_FILES['filephoto']['tmp_name']; if ($filephoto_tmp != "") { $filephoto_name = $_FILES['filephoto']['name']; $filephoto_size = $_FILES['filephoto']['size']; // Tester la taille max de la photo? if (is_uploaded_file($filephoto_tmp)) { $dest_file = $rep_photos . encode_nom_photo($reg_no_gep) . ".jpg"; //echo "\$dest_file=$dest_file<br />"; $source_file = $filephoto_tmp; $res_copy = copy("{$source_file}", "{$dest_file}"); if ($res_copy) { $msg .= "Mise en place de la photo effectuée."; } else { $msg .= "Erreur lors de la mise en place de la photo."; } if (getSettingValue("active_module_trombinoscopes_rd") == 'y') { // si le redimensionnement des photos est activé on redimenssionne $source = imagecreatefromjpeg($dest_file); // La photo est la source if (getSettingValue("active_module_trombinoscopes_rt") == '') { $destination = imagecreatetruecolor(getSettingValue("l_resize_trombinoscopes"), getSettingValue("h_resize_trombinoscopes")); }