Example #1
0
/**
 * Finir une restauration interrompue par logout
 */
function exec_base_restaurer_dist()
{
    include_spip('base/dump');
    $status_file = base_dump_meta_name(0) . "_restauration";
    $restaurer = charger_fonction("restaurer", "action");
    $restaurer($status_file);
}
Example #2
0
/**
 * Traiter
 * @return array
 */
function formulaires_sauvegarder_traiter_dist()
{
    $status_file = base_dump_meta_name(0);
    $dir_dump = dump_repertoire();
    $archive = $dir_dump . basename(_request('nom_sauvegarde'), ".sqlite");
    if (_request('tout_sauvegarder')) {
        // ici on prend toutes les tables sauf celles exclues par defaut
        // (tables de cache en pratique)
        $exclude = lister_tables_noexport();
        list($tables, ) = base_liste_table_for_dump($exclude);
        $tables = base_lister_toutes_tables('', $tables, $exclude);
    } else {
        $tables = _request('tables');
    }
    include_spip('inc/dump');
    $res = dump_init($status_file, $archive, $tables);
    if ($res === true) {
        // on lance l'action sauvegarder qui va realiser la sauvegarde
        // et finira par une redirection vers la page sauvegarde_fin
        include_spip('inc/actions');
        $redirect = generer_action_auteur('sauvegarder', $status_file);
        return array('message_ok' => 'ok', 'redirect' => $redirect);
    } else {
        return array('message_erreur' => $res);
    }
}
Example #3
0
function exec_export_all_init($rub, $gz, $tables, $serveur='', $save=''){
	$meta = base_dump_meta_name($rub);
	utiliser_langue_visiteur();
	if (!isset($GLOBALS['meta'][$meta])){
		// c'est un demarrage en arrivee directe depuis exec=admin_tech
		// on initialise  (mais si c'est le validateur, ne rien faire)
		if ($GLOBALS['exec'] == 'valider_xml') return;
		$archive = exec_export_all_args($rub, $gz);
		$tables = export_all_start($meta, $archive, $rub, $tables);
		$v = array($gz, $archive, $rub, $tables, 1, 0, $serveur, $save);
		ecrire_meta($meta, serialize($v), 'non');
		// rub=$rub sert AUSSI a distinguer cette redirection
		// d'avec l'appel initial sinon FireFox croit malin
		// d'optimiser la redirection
		$url = generer_url_ecrire('export_all',"rub=$rub", true);
	} else {
		// appels suivants
		$export = charger_fonction('export', 'inc');
		$arg = $export($meta);
		// Si retour de $export c'est fini; dernier appel pour ramasser
		// et produire l'en tete du fichier a partir de l'espace public
		$url = generer_action_auteur("export_all",$arg,'',true, true, true);
	}
	include_spip('inc/headers');
	redirige_par_entete($url);
}
Example #4
0
function action_export_all_dist()
{
	$securiser_action = charger_fonction('securiser_action', 'inc');
	$arg = $securiser_action();

	@list(, , $archive, $rub) = explode(',', $arg);
	$meta = base_dump_meta_name($rub);
	$file = ramasse_parties($rub, $archive, $meta);
	$size = !$file ? 0 : @(!file_exists($file) ? 0 : filesize($file));
	$metatable = $meta . '_tables';
	$tables = isset($GLOBALS['meta'][$metatable])?unserialize($GLOBALS['meta'][$metatable]):array();
	effacer_meta($metatable);
	effacer_meta($meta);
	utiliser_langue_visiteur();
	if (!$size)
		$corps = _T('avis_erreur_sauvegarde', array('type'=>'.', '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);
}
Example #5
0
function formulaires_assistant_migration_traiter_dist(){

	$s = lire_migration_vers_status();
	include_spip('base/dump');
	$status_file = base_dump_meta_name(substr(md5($s['target']),0,8));

	// ici on prend toutes les tables sauf celles exclues par defaut
	// (tables de cache en pratique)
	$exclude = lister_tables_noexport();
	list($tables,) = base_liste_table_for_dump($exclude);
	$tables = base_lister_toutes_tables('',$tables,$exclude);

	include_spip('inc/migrer_vers');
	$res = migrer_vers_init($status_file, $tables);

	if ($res===true) {
		// on lance l'action sauvegarder qui va realiser la sauvegarde
		// et finira par une redirection vers la page sauvegarde_fin
		include_spip('inc/actions');
		$redirect = generer_action_auteur('migrer_vers', $status_file);
		return array('message_ok'=>_T('migration:message_connexion_ok'),'redirect'=>$redirect);
	}
	else
		return array('message_erreur'=>$res);
}
Example #6
0
/**
 * Traiter
 * @return array
 */
function formulaires_restaurer_traiter_dist()
{
    $archive = _request('fichier') ? _request('fichier') : _request('nom');
    $dir_dump = dump_repertoire();
    $archive = $dir_dump . basename($archive, ".sqlite");
    $status_file = base_dump_meta_name(0) . "_restauration";
    if (_request('tout_restaurer')) {
        $args = dump_connect_args($archive);
        dump_serveur($args);
        $tables = base_lister_toutes_tables('dump');
    } else {
        $tables = _request('tables');
    }
    include_spip('inc/dump');
    $res = dump_init($status_file, $archive, $tables, array('spip_meta' => "impt='oui'"));
    if ($res === true) {
        // on lance l'action restaurer qui va realiser la sauvegarde
        // et finira par une redirection vers la page sauvegarde_fin
        include_spip('inc/actions');
        $redirect = generer_action_auteur('restaurer', $status_file);
        return array('message_ok' => 'ok', 'redirect' => $redirect);
    } else {
        return array('message_erreur' => $res);
    }
}