} $dossier_temp_sql = CHEMIN_DOSSIER_DUMP . $_SESSION['alea'] . '_sql' . DS; // Pour les sql d'une base $dossier_temp_zip = CHEMIN_DOSSIER_DUMP . $_SESSION['alea'] . '_zip' . DS; // Pour les zip des sql des bases (à l'export mais pas à l'import sinon ce dossier n'est pas vidé si l'opération n'arrive pas à son terme). $fichier_csv_nom = 'bases_dump_' . $_SESSION['datetime'] . '_' . $_SESSION['alea'] . '.csv'; $fichier_zip_nom = 'bases_dump_' . $_SESSION['datetime'] . '_' . $_SESSION['alea'] . '.zip'; $separateur = ';'; require CHEMIN_DOSSIER_INCLUDE . 'fonction_dump.php'; // //////////////////////////////////////////////////////////////////////////////////////////////////// // Récupération de la liste des structures avant export des bases // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'exporter' && $nb_bases) { // Mémoriser dans un fichier les données des structures concernées par les stats $fichier_texte = 'Id_Export' . $separateur . 'Id_Import' . $separateur . 'Id_Zone' . $separateur . 'Localisation' . $separateur . 'Dénomination' . $separateur . 'UAI' . $separateur . 'Contact_Nom' . $separateur . 'Contact_Prénom' . $separateur . 'Contact_Courriel' . $separateur . 'Date_Inscription' . $separateur . 'Nom_fichier' . "\r\n"; $DB_TAB = DB_WEBMESTRE_WEBMESTRE::DB_lister_structures(implode(',', $tab_base_id)); foreach ($DB_TAB as $DB_ROW) { $fichier_nom = 'dump_SACoche_' . $DB_ROW['sacoche_base'] . '_' . $_SESSION['datetime'] . '_' . mt_rand() . '.zip'; $fichier_texte .= $DB_ROW['sacoche_base'] . $separateur . $separateur . $DB_ROW['geo_id'] . $separateur . $DB_ROW['structure_localisation'] . $separateur . $DB_ROW['structure_denomination'] . $separateur . $DB_ROW['structure_uai'] . $separateur . $DB_ROW['structure_contact_nom'] . $separateur . $DB_ROW['structure_contact_prenom'] . $separateur . $DB_ROW['structure_contact_courriel'] . $separateur . $DB_ROW['structure_inscription_date'] . $separateur . $fichier_nom . "\r\n"; } FileSystem::ecrire_fichier(CHEMIN_DOSSIER_EXPORT . $fichier_csv_nom, $fichier_texte); $max = $nb_bases + 1; // La dernière étape consiste à zipper les fichiers de sauvegarde et à faire le ménage. // Créer ou vider le dossier temporaire qui contiendra le zip des zip FileSystem::creer_ou_vider_dossier($dossier_temp_zip); exit(']¤[' . $max); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Etape d'export d'une base // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'exporter' && $num && $max && $num < $max) {
<thead> <tr> <th class="nu"></th> <th class="nu"><q class="cocher_tout" title="Tout cocher."></q><br /><q class="cocher_rien" title="Tout décocher."></q></th> <th>Id</th> <th>Localisation</th> <th>Établissement</th> <th>Contact</th> <th>Date</th> <th class="nu"><q class="ajouter" title="Ajouter un établissement."></q></th> </tr> </thead> <tbody> <?php // Lister les structures $DB_TAB = DB_WEBMESTRE_WEBMESTRE::DB_lister_structures( FALSE /*listing_base_id*/ , $geo_id ); foreach($DB_TAB as $DB_ROW) { // Formater la date $date_mysql = $DB_ROW['structure_inscription_date']; $date_affich = ($date_mysql!=SORTIE_DEFAUT_MYSQL) ? convert_date_mysql_to_french($date_mysql) : '-' ; // Afficher une ligne du tableau $img = (LockAcces::tester_blocage('webmestre',$DB_ROW['sacoche_base'])===NULL) ? '<img class="bloquer" src="./_img/etat/acces_oui.png" title="Bloquer cet établissement." />' : '<img class="debloquer" src="./_img/etat/acces_non.png" title="Débloquer cet établissement." />' ; echo'<tr id="id_'.$DB_ROW['sacoche_base'].'">'; echo '<td class="nu"><a href="#id_0">'.$img.'</a></td>'; echo '<td class="nu"><input type="checkbox" name="f_ids" value="'.$DB_ROW['sacoche_base'].'" /></td>'; echo '<td class="label">'.$DB_ROW['sacoche_base'].'</td>'; echo '<td class="label"><i>'.sprintf($geo_ordre_format,$DB_ROW['geo_ordre']).'</i>'.html($DB_ROW['geo_nom']).'<br />'.html($DB_ROW['structure_localisation']).'</td>'; echo '<td class="label">'.html($DB_ROW['structure_denomination']).'<br />'.html($DB_ROW['structure_uai']).'</td>'; echo '<td class="label"><span>'.html($DB_ROW['structure_contact_nom']).'</span> <span>'.html($DB_ROW['structure_contact_prenom']).'</span><div>'.html($DB_ROW['structure_contact_courriel']).'</div></td>'; echo '<td class="label">'.$date_affich.'</td>';
// //////////////////////////////////////////////////////////////////////////////////////////////////// $num = (isset($_POST['num'])) ? (int)$_POST['num'] : 0 ; // Numéro de l'étape en cours $max = (isset($_POST['max'])) ? (int)$_POST['max'] : 0 ; // Nombre d'étapes à effectuer // //////////////////////////////////////////////////////////////////////////////////////////////////// // 1/3 : Récupération de la liste des structures avant collecte des stats // //////////////////////////////////////////////////////////////////////////////////////////////////// if((!$num)||(!$max)) { // Pour mémoriser les totaux $_SESSION['tmp']['totaux'] = array( 'personnel_use'=>0 , 'eleve_use'=>0 , 'evaluation_use'=>0 , 'validation_use'=>0 ); // Mémoriser les données des structures concernées par les stats $_SESSION['tmp']['infos'] = array(); $DB_TAB = DB_WEBMESTRE_WEBMESTRE::DB_lister_structures(); foreach($DB_TAB as $DB_ROW) { $_SESSION['tmp']['infos'][] = array( 'base_id' => $DB_ROW['sacoche_base'], 'structure' => $DB_ROW['structure_uai'].' '.$DB_ROW['structure_denomination'], 'geo' => $DB_ROW['geo_nom'], ); } // Retour $max = count($DB_TAB) + 1 ; // La dernière étape consistera à vider la session temporaire et à renvoyer les totaux exit('ok-'.$max); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // 2/3 : Etape de récupération des stats
<thead> <tr> <th class="nu"></th> <th class="nu"><q class="cocher_tout" title="Tout cocher."></q><br /><q class="cocher_rien" title="Tout décocher."></q></th> <th>Id</th> <th>Localisation</th> <th>Établissement</th> <th>Contact</th> <th>Date</th> <th class="nu"><q class="ajouter" title="Ajouter un établissement."></q></th> </tr> </thead> <tbody> <?php // Lister les structures $DB_TAB = DB_WEBMESTRE_WEBMESTRE::DB_lister_structures(FALSE, $geo_id); foreach ($DB_TAB as $DB_ROW) { // Formater la date $date_mysql = $DB_ROW['structure_inscription_date']; $date_affich = $date_mysql != SORTIE_DEFAUT_MYSQL ? convert_date_mysql_to_french($date_mysql) : '-'; // Afficher une ligne du tableau $img = LockAcces::tester_blocage('webmestre', $DB_ROW['sacoche_base']) === NULL ? '<img class="bloquer" src="./_img/etat/acces_oui.png" title="Bloquer cet établissement." />' : '<img class="debloquer" src="./_img/etat/acces_non.png" title="Débloquer cet établissement." />'; echo '<tr id="id_' . $DB_ROW['sacoche_base'] . '">'; echo '<td class="nu"><a href="#id_0">' . $img . '</a></td>'; echo '<td class="nu"><input type="checkbox" name="f_ids" value="' . $DB_ROW['sacoche_base'] . '" /></td>'; echo '<td class="label">' . $DB_ROW['sacoche_base'] . '</td>'; echo '<td class="label"><i>' . sprintf("%06u", $DB_ROW['geo_ordre']) . '</i>' . html($DB_ROW['geo_nom']) . '<br />' . html($DB_ROW['structure_localisation']) . '</td>'; echo '<td class="label">' . html($DB_ROW['structure_denomination']) . '<br />' . html($DB_ROW['structure_uai']) . '</td>'; echo '<td class="label"><span>' . html($DB_ROW['structure_contact_nom']) . '</span> <span>' . html($DB_ROW['structure_contact_prenom']) . '</span><div>' . html($DB_ROW['structure_contact_courriel']) . '</div></td>'; echo '<td class="label">' . $date_affich . '</td>'; echo '<td class="nu">';