/** * Exec de la page de destruction des tables de SPIP **/ function exec_base_delete_all_dist() { include_spip('inc/autoriser'); if (!autoriser('detruire')) { include_spip('inc/minipres'); echo minipres(); } else { include_spip('base/dump'); $res = base_lister_toutes_tables('', array(), array(), true); if (!$res) { include_spip('inc/minipres'); spip_log("Erreur base de donnees"); echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique') . "<p><tt>" . sql_errno() . " " . sql_error() . "</tt></p>"); } else { $res = base_saisie_tables('delete', $res); include_spip('inc/headers'); $res = "\n<ol style='text-align:left'><li>\n" . join("</li>\n<li>", $res) . '</li></ol>'; $admin = charger_fonction('admin', 'inc'); $res = $admin('delete_all', _T('titre_page_delete_all'), $res); if (!$res) { redirige_url_ecrire('install', ''); } else { echo $res; } } } }
/** * Verifier * * @return array */ function formulaires_restaurer_verifier_dist() { $erreurs = array(); $nom = ""; if (!($fichier = _request('fichier')) and !($nom = _request('nom_sauvegarde'))) { $erreurs['fichier'] = _T('info_obligatoire'); } elseif ($fichier) { $fichier = basename($fichier); // securite if (!file_exists(dump_repertoire() . $fichier)) { $erreurs['fichier'] = _T('dump:erreur_nom_fichier'); } else { $nom = $fichier; } } else { $nom = basename($nom); // securite if (!file_exists(dump_repertoire() . $nom)) { $erreurs['nom_sauvegarde'] = _T('dump:erreur_nom_fichier'); $nom = ""; } } if (!$nom) { $erreurs['message_erreur'] = _T('dump:erreur_restaurer_verifiez'); } if ($nom) { $archive = dump_repertoire() . $nom; if (!($args = dump_connect_args($archive))) { $erreurs['tout_restaurer'] = _T('dump:erreur_sqlite_indisponible'); } dump_serveur($args); $tables = base_lister_toutes_tables('dump'); $tables = base_saisie_tables('tables', $tables, array(), _request('tables') ? _request('tables') : array(), 'dump'); $erreurs['tables'] = "<ol class='spip'><li class='choix'>\n" . join("</li>\n<li class='choix'>", $tables) . "</li></ol><input type='hidden' name='check_tables' value='oui' />\n"; if (!count(_request('tables')) and !_request('tout_restaurer') and _request('check_tables')) { $erreurs['tout_restaurer'] = _T('dump:selectionnez_table_a_restaurer'); } } if ($nom and (!count($erreurs) or count($erreurs) == 1 and isset($erreurs['tables']))) { if (_request('confirm') !== $nom) { $erreurs['message_confirm'] = _T('dump:info_selection_sauvegarde', array('fichier' => '<i>' . joli_repertoire(dump_repertoire() . $nom) . "</i>")) . "<br /><input type='checkbox' name='confirm' value='{$nom}' id='confirm' /> "; $erreurs['message_confirm'] .= "<label for='confirm'><strong>"; if (_request('tables')) { $erreurs['message_confirm'] .= _T('dump:confirmer_ecraser_tables_selection'); } else { $erreurs['message_confirm'] .= _T('dump:confirmer_ecraser_base'); } $erreurs['message_confirm'] .= "</strong></label>"; } else { unset($erreurs['tables']); } } if (count($erreurs) and !isset($erreurs['message_erreur'])) { $erreurs['message_erreur'] = ''; } // pas de message general automatique ici return $erreurs; }
/** * Charger #FORMULAIRE_SAUVEGARDER * @return array */ 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); $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", '_prefixe' => function_exists('base_prefixe_tables') ? base_prefixe_tables('') : 'spip'); return $valeurs; }