/** * Efface le dossier photo passé en argument * @param string $photos le dossier à effacer personnels ou eleves * @return string L'état de la suppression * @see cree_zip_archive() * @see getSettingValue() */ function efface_photos($photos) { // on liste les fichier du dossier photos/personnels ou photos/eleves if (!($photos=="eleves" || $photos=="personnels")) return ("Le dossier <strong>".$photos."</strong> n'est pas valide."); if (cree_zip_archive("photos")==TRUE){ $fichier_sup=array(); if (isset($GLOBALS['multisite']) AND $GLOBALS['multisite'] == 'y') { // On récupère le RNE de l'établissement if (!$repertoire=$_COOKIE['RNE']) return ("Erreur lors de la récupération du dossier établissement."); } else { $repertoire=""; } $folder = "../photos/".$repertoire.$photos."/"; $dossier = opendir($folder); while ($Fichier = readdir($dossier)) { if (mb_strtolower(pathinfo($Fichier,PATHINFO_EXTENSION))=="jpg") { $nomFichier = $folder."".$Fichier; $fichier_sup[] = $nomFichier; } } closedir($dossier); if(count($fichier_sup)==0) { return ("Le dossier <strong>".$folder."</strong> ne contient pas de photo.") ; } else { $nb_erreurs=0; $erreurs=""; foreach ($fichier_sup as $fic_efface) { if(file_exists($fic_efface)) { @unlink($fic_efface); if(file_exists($fic_efface)) { $nb_erreurs++; $erreurs.="Le fichier <strong>".$fic_efface."</strong> n'a pas pu être effacé.<br />"; } } } unset ($fic_efface); if ($nb_erreurs>0) { if ($nb_erreurs>10) return $nb_erreurs." fichiers n'ont pu être effacés."; else return $erreurs; } else return ("Le dossier <strong>".$folder."</strong> a été vidé.") ; } }else{ return ("Erreur lors de la création de l'archive.") ; } }
} // Sauvegarde du dossier 'photos' if (isset($_POST['sauvegarder_dossier_photos']) && $_POST['sauvegarder_dossier_photos']=="oui") { check_token(); if (cree_zip_archive('photos')) $msg="Le dossier 'photos' a été sauvegardé, vous pouvez le récupérer dans le <a href=\"../gestion/accueil_sauve.php\">module de gestion des sauvegardes</a>."; else $msg="Echec de la sauvegarde du dossier 'photos'"; } // Purge du dossier photos if (isset($_POST['purge_dossier_photos']) && $_POST['purge_dossier_photos']=="oui") { $msg=""; check_token(); if (cree_zip_archive("photos")==TRUE) { $repertoire_photos=""; $msg_multisite=""; if (isset($GLOBALS['multisite']) AND $GLOBALS['multisite']=='y') // On récupère le RNE de l'établissement if (!$repertoire_photos=$_COOKIE['RNE']) $msg_multisite.="Multisite : erreur lors de la récupération du dossier photos de l'établissement.<br/>"; if ($msg_multisite=="") { if ($repertoire_photos!="") $repertoire_photos.="/"; $repertoire_photos="../photos/".$repertoire_photos; $nb_photos_supp=0; $nb_erreurs=0; // purge du dossier photos/eleves purge_dossier_photos("eleves");