} if ($ext === ".tar.gz") { $old = umask(0000); @$archive = PclTarExtract($source, $destination, 'gepi'); unlink($source); //debug // echo $archive[5][status]; // on liste le dossier $copie_fichier = listage_dossier($destination, $destination); // on transfert via FTP $transfert_fichier=envoi_ftp($copie_fichier, $dossier_ftp_gepi); umask($old); // on supprime le dossier msj_temp $old = umask(0000); $dossier_destination[0]=$destination; supprimer_rep($dossier_destination); // puis on le recret mkdir($destination, 0777); umask($old); //mise à jour ok on l'insère dans la base // puisque que c'est une nouvelle version on efface les données de la base mise à jour $requete='TRUNCATE TABLE '.$prefix_base.'miseajour'; $resultat = mysqli_query($GLOBALS["mysqli"], $requete) or die('Erreur SQL !'.$requete.'<br />'.((is_object($GLOBALS["mysqli"])) ? mysqli_error($GLOBALS["mysqli"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false))); // puis on informe la base de la version actuelle de la mise à jour $requete='INSERT INTO '.$prefix_base.'miseajour (fichier_miseajour, emplacement_miseajour, date_miseajour, heure_miseajour) values ("'.$beta_version[0].'","","'.date('Y-m-d').'","'.date('H:i:s').'")'; $resultat = mysqli_query($GLOBALS["mysqli"], $requete) or die('Erreur SQL !'.$requete.'<br />'.((is_object($GLOBALS["mysqli"])) ? mysqli_error($GLOBALS["mysqli"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false))); //debug //echo '<pre>'; //print_r($copie_fichier); //echo '<pre>';
function supprimer_rep($tableau) { // fonction pour supprimer un ou plusieurs repertoires et tout ce qu'il y a dedans foreach ($tableau as $dir) { if (file_exists ($dir)) { $dh = opendir ($dir); while (($file = readdir ($dh)) !== false ) { if ($file !== '.' && $file !== '..') { if (is_dir ($dir.'/'.$file)) { $tab = array ($dir.'/'.$file); supprimer_rep ($tab); // si on trouve un repertoire, on fait un appel recursif pour fouiller ce repertoire } else { if (file_exists ($dir.'/'.$file)) { unlink ($dir.'/'.$file); // si on trouve un fichier, on le supprime } } } } closedir ($dh); if (is_dir ($dir)) { rmdir ($dir); // on supprime le repertoire courant } return true; } } }