* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
-if (!defined("_ECRIRE_INC_VERSION")) return;
+/**
+ * Gestion du formulaire de sauvegarde de la base de données
+ *
+ * @package SPIP\Dump\Formulaires
+ */
+
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
include_spip('base/dump');
include_spip('inc/dump');
/**
- * Charger #FORMULAIRE_SAUVEGARDER
+ * Charger `#FORMULAIRE_SAUVEGARDER`
+ *
* @return array
*/
-function formulaires_sauvegarder_charger_dist(){
+function formulaires_sauvegarder_charger_dist() {
$dir_dump = dump_repertoire();
// ici on liste tout, les tables exclue sont simplement non cochees
$exclude = lister_tables_noexport();
- list($tables,) = base_liste_table_for_dump($exclude);
- $tables = base_lister_toutes_tables('',$tables);
+ list($tables, ) = base_liste_table_for_dump($exclude);
+ $tables = base_lister_toutes_tables('', $tables);
$valeurs = array(
- '_dir_dump'=>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' => "<ol class='spip'><li class='choix'>\n" . join("</li>\n<li class='choix'>",
- base_saisie_tables('tables', $tables, $exclude, _request('nom_sauvegarde')?(_request('tables')?_request('tables'):array()):null)
- ) . "</li></ol>\n",
- /* Si la fonction n'existe pas (vieux plugin migration actif), on met 'spip', ca n'affichera rien
- mais ne perturbe pas la sauvegarde qui utilisera bien le bon prefixe */
- '_prefixe' => function_exists('base_prefixe_tables')?base_prefixe_tables(''):'spip',
+ '_dir_dump' => 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' => "<ol class='spip'><li class='choix'>\n" . join(
+ "</li>\n<li class='choix'>",
+ base_saisie_tables(
+ 'tables',
+ $tables,
+ $exclude,
+ _request('nom_sauvegarde') ? (_request('tables') ? _request('tables') : array()) : null
+ )
+ ) . "</li></ol>\n",
+ '_prefixe' => base_prefixe_tables(''),
);
return $valeurs;
/**
* Verifier
+ *
* @return array
*/
function formulaires_sauvegarder_verifier_dist() {
$erreurs = array();
- if (!$nom = _request('nom_sauvegarde'))
+ if (!$nom = _request('nom_sauvegarde')) {
$erreurs['nom_sauvegarde'] = _T('info_obligatoire');
- elseif (!preg_match(',^[\w_][\w_.]*$,', $nom)
- OR basename($nom)!==$nom)
+ } 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");
+ $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
+ 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) {
+ 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);
+
+ return array('message_ok' => 'ok', 'redirect' => $redirect);
+ } else {
+ return array('message_erreur' => $res);
}
- else
- return array('message_erreur'=>$res);
}
-
-?>
\ No newline at end of file