function listage_dossier($dossier, $dossier_racine) { //on initialiste le compteur de fichier if(empty($GLOBALS['cpt_fichier'])) { $cpt_fichier='1'; } else { $cpt_fichier=$GLOBALS['cpt_fichier']; } //on initialiste le tableau de fichier if(empty($GLOBALS['tab_fichier'][0])) { $tab_fichier=''; } else { $tab_fichier=$GLOBALS['tab_fichier'][0]; } //on vérifie si c'est un dossier if(is_dir($dossier)) { //on ouvre le dossier if($dh=opendir($dossier)) { // on liste les fichiers et dossier while(($nom=readdir($dh))!=false) { // s'il sont différent de . et .. on continue le listage if($nom!='.' and $nom!='..') { $emplacement="$dossier/$nom"; // fonction récursive si c'est un dossier on appel à nouveau la fonction dans laquelle on se trouve actuellement if(is_dir($emplacement)&&($nom!=".")&&($nom!="..")) { listage_dossier("$dossier/$nom", $dossier_racine); } else { // si ce n'est pas un dossier alors un met l'emplacement du fichier et le fichier dans le tableau $tab_fichier_select=$dossier.'/'.$nom; //on enlève la partie non utils $GLOBALS['tab_fichier']['source_fichier'][$cpt_fichier] = $tab_fichier_select; //nom du fichier $GLOBALS['tab_fichier']['nom_fichier'][$cpt_fichier] = trim($nom); // source $source_emplacement= my_eregi_replace($dossier_racine,'',$tab_fichier_select); $source_emplacement= my_eregi_replace($nom,'',$source_emplacement); $GLOBALS['tab_fichier']['emplacement_fichier'][$cpt_fichier] = trim($source_emplacement); // destiné à $cpt_fichier++; $GLOBALS['cpt_fichier']=$cpt_fichier; } } } } } return ($GLOBALS['tab_fichier']); }
//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))); } 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)));