security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } // INSERT INTO droits VALUES ('/gestion/gestion_temp_dir.php', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'Gestion des dossiers temporaires d utilisateurs', ''); if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } $chemin_temp="../temp"; $suppr=isset($_POST['suppr']) ? $_POST['suppr'] : NULL; $reinit=isset($_POST['reinit']) ? $_POST['reinit'] : NULL; $reinitialiser=isset($_POST['reinitialiser']) ? $_POST['reinitialiser'] : (isset($_GET['reinitialiser']) ? $_GET['reinitialiser'] : NULL); //if((isset($_POST['is_posted']))&&(($suppr))||(isset($reinit))) { if(isset($reinitialiser)) { check_token(); $msg=""; $nb_reinit=0; $nb_suppr=0; for($i=0;$itemp_dir; if(($temp_dir=="")||(mb_strlen(preg_replace("/[A-Za-z0-9_.-]/","",$temp_dir))!=0)) { $msg.="La valeur de temp_dir pour $reinit[$i] est inattendue: '$temp_dir'
\n"; } else { if(file_exists("$chemin_temp/$temp_dir")){ //if(unlink("$chemin_temp/$temp_dir")){ if(is_file("$chemin_temp/$temp_dir")) { $res_suppr=unlink("$chemin_temp/$temp_dir"); } else { $suppression=vider_dir("$chemin_temp/$temp_dir", array("signature")); if(is_array($suppression)) { $res_suppr=false; $msg.="$temp_dir contient des fichiers ou dossiers exclus de la suppression : "; for($loop=0;$loop0) {$msg.=", ";} $msg.=$suppression[$loop]; } $msg.=".
\n"; } elseif($suppression) { $res_suppr=rmdir("$chemin_temp/$temp_dir"); } else{ $res_suppr=false; $msg.="Il n'a pas été possible de vider $temp_dir
\n"; } } if($res_suppr){ $nb_suppr++; } else{ $msg.="Erreur lors de la suppression du dossier temporaire de $reinit[$i]
\n"; } } else{ $msg.="Le dossier $temp_dir n'existe pas.
\n"; $res_suppr=true; } if($res_suppr) { // On vide le champ temp_dir... une nouvelle valeur sera générée au prochain login $sql="UPDATE utilisateurs SET temp_dir='' WHERE login='".$reinit[$i]."'"; $res_update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res_update) { $msg.="Erreur lors de la réinitialisation de temp_dir pour $reinit[$i].
\n"; } } } } } } } else{ if((isset($_POST['is_posted']))&&(isset($suppr))) { check_token(); $msg=""; $nb_suppr=0; for($i=0;$i0) {$msg.=", ";} $msg.=$suppression[$loop]; } $msg.=".
\n"; } elseif($suppression) { $res_suppr=rmdir("$chemin_temp/$suppr[$i]"); } else{ $res_suppr=false; $msg.="Il n'a pas été possible de vider $suppr[$i]
\n"; } } } if($res_suppr){ $nb_suppr++; } else{ $msg.="Erreur lors de la suppression de $suppr[$i]
\n"; } } else{ $msg.="$suppr[$i] n'existe pas.
\n"; } //} } } } } //**************** EN-TETE ***************** $titre_page = "Outil de gestion | Gestion des dossiers temporaires"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** echo "

Retour Retour | \n"; if(isset($reinitialiser)) { check_token(false); echo "Suppression"; echo "

\n"; echo "

Réinitialisation des dossiers temporaires

\n"; echo "

La réinitialisation des dossiers temporaires permet de supprimer le dossier temporaire d'un utilisateur et de vider le chemin aléatoire de ce dossier de façon à ce qu'une nouvelle valeur soit générée au login suivant.

\n"; $sql="SELECT login,nom,prenom FROM utilisateurs WHERE temp_dir!='' ORDER BY statut,nom,prenom"; $res_user=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_user)==0){ echo "

Aucun utilisateur n'est encore concerné par la réinitialisation...

\n"; } else{ echo "
\n"; echo add_token_field(); echo "

Voici la liste des utilisateurs dont l'aléa peut être recalculé
(Les utilisateurs qui n'apparaissent pas, auront de toute façon un nouveau dossier temporaire généré lors de leur prochain login):

\n"; while ($lig_user=mysqli_fetch_object($res_user)){ $tab_user_login[]=$lig_user->login; $tab_user_info[]=my_strtoupper($lig_user->nom)." ".casse_mot($lig_user->prenom,'majf2'); } // Nombre d'enregistrements à afficher $nombreligne=count($tab_user_login); $nbcol=3; // Nombre de lignes dans chaque colonne: $nb_class_par_colonne=round($nombreligne/$nbcol); echo "\n"; echo "\n"; $alt=1; echo "\n"; $alt=$alt*(-1); echo "\n"; echo "\n"; echo "
\n"; $i = 0; while ($i < $nombreligne){ if(($i>0)&&(round($i/$nb_class_par_colonne)==$i/$nb_class_par_colonne)){ echo "\n"; } echo "
\n"; //echo " ".$tab_user_info[$i]; echo ""; $i++; } echo "
\n"; echo "\n"; echo "
Tout cocher / \n"; echo "Tout décocher
\n"; echo "
\n"; echo "
\n"; echo "\n"; } } else{ echo "Réinitialisation"; echo "

\n"; echo "

Suppression de dossiers temporaires

\n"; echo "
\n"; echo "
\n"; echo add_token_field(); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; //echo "\n"; echo "\n"; $handle=opendir($chemin_temp); $cpt=0; $bizarre=0; $alt=1; while ($file=readdir($handle)) { $afficher_dossier='y'; if(($multisite=='y')&&(isset($_COOKIE['RNE']))) { $pref_multi=$_COOKIE['RNE']."_"; if(!preg_match("/^$pref_multi/", $file)) { $afficher_dossier='n'; } } //if(($file!=".")&&($file!="..")) { if(($file!=".")&&($file!="..")&&($file!="index.html")&&($afficher_dossier=='y')) { //$num=$cpt%2; //echo "\n"; $alt=$alt*(-1); echo "\n"; // Test: if((mb_strlen(preg_replace("/[A-Za-z0-9_.-]/","",$file))!=0)||(!preg_match("/_/",$file))) { // Il y a des caractères inattendus dans le nom de dossier $bizarre++; echo "\n"; if(is_file($chemin_temp."/".$file)) { echo ""; echo "\n"; } else{ echo ""; echo "\n"; } echo "\n"; //echo "\n"; } else{ $tabtmp=explode("_",$file); if(mb_strlen(preg_replace("/[A-Za-z0-9.-]/","",$tabtmp[0]))!=0) { $bizarre++; echo "\n"; echo ""; echo "\n"; } else{ echo ""; echo "\n"; } echo "\n"; //echo "\n"; } else{ $sql="SELECT nom,prenom,statut,etat FROM utilisateurs WHERE login='$tabtmp[0]'"; //echo "\n"; $res_user=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_user)==0){ echo "\n"; echo "\n"; /* echo "\n"; echo "\n"; echo "\n"; */ if(is_file($chemin_temp."/".$file)) { echo ""; echo "\n"; } else{ echo ""; echo "\n"; } echo "\n"; /* echo "\n"; */ } else{ $ligtmp=mysqli_fetch_object($res_user); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if(is_file($chemin_temp."/".$file)) { echo ""; echo "\n"; } else{ echo ""; echo "\n"; } echo "\n"; /* echo "\n"; */ } } } echo "\n"; $cpt++; } } echo "
LoginNomPrénomStatutEtatTypeVolumeSupprimer"; echo "
\n"; echo "Tout cocher/\n"; echo "Tout décocher\n"; echo "
Réinitialiser
$fileFichier"; unset($tab_file_tmp); $tab_file_tmp=stat($chemin_temp."/".$file); //echo "Fichier: ".$tab_file_tmp[0]." soit ".$tab_file_tmp[7]; echo volume_human($tab_file_tmp[7]); echo "Dossier"; //echo "Dossier: ".disk_total_space($chemin_temp."/".$file); echo volume_dir_human($chemin_temp."/".$file); echo "??$file"; if(is_file($chemin_temp."/".$file)) { echo "Fichier"; unset($tab_file_tmp); $tab_file_tmp=stat($chemin_temp."/".$file); //echo "Fichier: ".$tab_file_tmp[0]." soit ".$tab_file_tmp[7]; echo volume_human($tab_file_tmp[7]); echo "Dossier"; //echo "Dossier: ".disk_total_space($chemin_temp."/".$file); echo volume_dir_human($chemin_temp."/".$file); echo "??$tabtmp[0]Login inconnu.XXXFichier"; unset($tab_file_tmp); $tab_file_tmp=stat($chemin_temp."/".$file); //echo "Fichier: ".$tab_file_tmp[0]." soit ".$tab_file_tmp[7]; echo volume_human($tab_file_tmp[7]); echo "Dossier"; //echo "Dossier: ".disk_total_space($chemin_temp."/".$file); echo volume_dir_human($chemin_temp."/".$file); echo ""; echo ""; echo ""; echo "-"; echo "$tabtmp[0]$ligtmp->nom$ligtmp->prenom$ligtmp->statut$ligtmp->etatFichier"; unset($tab_file_tmp); $tab_file_tmp=stat($chemin_temp."/".$file); echo volume_human($tab_file_tmp[7]); //echo $tab_file_tmp[0]." soit ".$tab_file_tmp[7]; echo "Dossier"; //echo disk_total_space($chemin_temp."/".$file); //$totalsize=0; //echo volume_dir($chemin_temp."/".$file); echo volume_dir_human($chemin_temp."/".$file); echo ""; echo ""; echo ""; echo ""; echo "
\n"; echo "
\n"; echo "\n"; echo "
\n"; echo "
\n"; $nombreligne=$cpt; echo "\n"; if($bizarre>0){ echo "

NOTE: "; if($bizarre==1){ echo "Un fichier/dossier a un nom inattendu.
Par précaution, on ne propose pas de le supprimer."; } else{ echo "Des fichiers/dossiers ont des noms inattendus.
Par précaution, on ne propose pas de les supprimer."; } echo "

"; } echo "
\n"; } require("../lib/footer.inc.php"); ?>