'.', 'id_objet'=>'. .')); else { $corps = export_all_report_size($file, $rub, $size, generer_url_ecrire()) . export_all_report_tables($tables); } include_spip('inc/minipres'); echo minipres(_T('info_sauvegarde'), $corps); } function export_all_rename($nom, $subdir) { $dir = dirname($subdir); $dest = $dir . '/' . $nom; if (file_exists($dest)) { $n = 1; while (@file_exists($new = "$dir/$n-$nom")) $n++; spip_log("renomme vieux $dest en $new"); @rename($dest, $new); } return $dest; } // Concatenation des tranches // http://doc.spip.org/@ramasse_parties function ramasse_parties($rub, $archive, $meta) { $dir = base_dump_dir($meta); $files = preg_files($dir . $archive . ".part_[0-9]+_[0-9]+[.gz]?"); if (!$files) return false; $ok = true; $files_o = array(); $but = export_all_rename($archive, $dir); // creer l'en tete du fichier ecrire_fichier($but, export_entete(_VERSION_ARCHIVE),false); foreach($files as $f) { $contenu = ""; if (lire_fichier ($f, $contenu)) { if (!ecrire_fichier($but,$contenu,false,false)) { $ok = false; break;} } spip_unlink($f); $files_o[]=$f; } ecrire_fichier($but, export_enpied(),false,false); spip_unlink($dir); spip_log("concatenation " . join(' ', $files_o)); return $ok ? $but : false; } function export_all_end($meta, $archive){ $dir = base_dump_dir($meta); $file = $dir . $archive; } // http://doc.spip.org/@export_entete function export_entete($version_archive) { return "<" . "?xml version=\"1.0\" encoding=\"". $GLOBALS['meta']['charset']."\"?".">\n" . "\n"; } // production de l'en-pied du fichier d'archive // http://doc.spip.org/@export_enpied function export_enpied () { return "\n";} function export_all_report_size($dest, $rub, $size, $retour) { global $spip_lang_left,$spip_lang_right; // ne pas effrayer inutilement: il peut y avoir moins de fichiers // qu'annonce' si certains etaient vides $n = _T('taille_octets', array('taille' => number_format($size, 0, ' ', ' '))); // cette chaine est a refaire car il y a double ambiguite: // - si plusieurs SPIP dans une base SQL (cf table_prefix) // - si on exporte seulement une rubrique # _T('info_sauvegarde_reussi_02', if ($rub) { $titre = sql_getfetsel('titre', 'spip_rubriques', "id_rubrique=$rub"); $titre = _T('info_sauvegarde_rubrique_reussi', array('archive' => ':
'.joli_repertoire($dest)." ($n)", 'titre' => "$titre")); } else $titre = _T('info_sauvegarde_reussi_02', array('archive' => ':
'.joli_repertoire($dest)." ($n)")); include_spip('inc/filtres'); return "

". $titre . " ". _T('info_sauvegarde_reussi_03') . " " ._T('info_sauvegarde_reussi_04') . "

\n" . "
" . bouton_action(_T("retour"), $retour) . "
" ; } function export_all_report_tables($tables_sauvegardees) { sort($tables_sauvegardees); $n = floor(count($tables_sauvegardees)/2); return "
" . "
" . "
"; } ?>