mirror of
https://github.com/YunoHost-Apps/spip_ynh.git
synced 2024-09-03 20:25:59 +02:00
67 lines
2.3 KiB
PHP
67 lines
2.3 KiB
PHP
<?php
|
|
|
|
/***************************************************************************\
|
|
* SPIP, Systeme de publication pour l'internet *
|
|
* *
|
|
* Copyright (c) 2001-2014 *
|
|
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
|
|
* *
|
|
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
|
|
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
|
|
\***************************************************************************/
|
|
|
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
|
|
|
include_spip('inc/dump');
|
|
|
|
function inc_sauvegarder_dist($status_file, $redirect='') {
|
|
$status_file = _DIR_TMP.basename($status_file).".txt";
|
|
if (!lire_fichier($status_file, $status)
|
|
OR !$status = unserialize($status)) {
|
|
}
|
|
else {
|
|
$timeout = ini_get('max_execution_time');
|
|
// valeur conservatrice si on a pas reussi a lire le max_execution_time
|
|
if (!$timeout) $timeout=30; // parions sur une valeur tellement courante ...
|
|
$max_time = time()+$timeout/2;
|
|
|
|
include_spip('inc/minipres');
|
|
@ini_set("zlib.output_compression","0"); // pour permettre l'affichage au fur et a mesure
|
|
|
|
$titre = _T('dump:sauvegarde_en_cours') . " (".count($status['tables']).") ";
|
|
$balise_img = chercher_filtre('balise_img');
|
|
$titre .= $balise_img(chemin_image('searching.gif'));
|
|
echo ( install_debut_html($titre));
|
|
// script de rechargement auto sur timeout
|
|
echo http_script("window.setTimeout('location.href=\"".$redirect."\";',".($timeout*1000).")");
|
|
echo "<div style='text-align: left'>\n";
|
|
|
|
dump_serveur($status['connect']);
|
|
spip_connect('dump');
|
|
|
|
// au premier coup on ne fait rien sauf afficher l'ecran de sauvegarde
|
|
$res = false;
|
|
if (_request('step')) {
|
|
$options = array(
|
|
'callback_progression' => 'dump_afficher_progres',
|
|
'max_time' => $max_time,
|
|
'no_erase_dest' => lister_tables_noerase(),
|
|
'where' => $status['where']?$status['where']:array(),
|
|
);
|
|
$res = base_copier_tables($status_file, $status['tables'], '', 'dump', $options);
|
|
}
|
|
|
|
echo ( "</div>\n");
|
|
|
|
if (!$res AND $redirect)
|
|
echo dump_relance($redirect);
|
|
echo (install_fin_html());
|
|
ob_end_flush();
|
|
flush();
|
|
|
|
return $res;
|
|
}
|
|
}
|
|
|
|
|
|
?>
|