joli_repertoire($dir_dump), '_dir_img'=>joli_repertoire(_DIR_IMG), '_spipnet' => $GLOBALS['home_server'] . '/' . $GLOBALS['spip_lang'] . '_article1489.html', 'nom_sauvegarde' => basename(dump_nom_fichier($dir_dump,'sqlite'),'.sqlite'), 'tout_sauvegarder' => (_request('nom_sauvegarde') AND !_request('tout_sauvegarder'))?'':'oui', '_tables' => "
  1. \n" . join("
  2. \n
  3. ", base_saisie_tables('tables', $tables, $exclude, _request('nom_sauvegarde')?(_request('tables')?_request('tables'):array()):null) ) . "
\n", ); return $valeurs; } /** * Verifier * @return array */ function formulaires_sauvegarder_verifier_dist() { $erreurs = array(); if (!$nom = _request('nom_sauvegarde')) $erreurs['nom_sauvegarde'] = _T('info_obligatoire'); elseif (!preg_match(',^[\w_][\w_.]*$,', $nom) OR basename($nom)!==$nom) $erreurs['nom_sauvegarde'] = _T('dump:erreur_nom_fichier'); return $erreurs; } /** * 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); } ?>