From 8f56c240d5a36bcf94b32bd49cd1369410b3cf04 Mon Sep 17 00:00:00 2001 From: ARNO* <arno@rezo.net> Date: Thu, 11 Jul 2002 15:04:17 +0000 Subject: [PATCH] Import/export complete --- ecrire/export_all.php3 | 10 ++++++++-- ecrire/inc_base.php3 | 9 ++++++++- ecrire/inc_export.php3 | 22 ++++++++++++++++++++++ ecrire/inc_import.php3 | 11 +++++++++++ ecrire/inc_version.php3 | 2 +- 5 files changed, 50 insertions(+), 4 deletions(-) diff --git a/ecrire/export_all.php3 b/ecrire/export_all.php3 index 8ae5bd2165..d149bac219 100644 --- a/ecrire/export_all.php3 +++ b/ecrire/export_all.php3 @@ -23,7 +23,7 @@ if (!$debut_limit) $debut_limit = 0; install_debut_html("Sauvegarde"); -if (!$etape) echo "Si la sauvegarde a échoué («Maximum execution time exceeded»), <a href='export_all.php3?etape=1&gz=$gz'>procédez étape par étape</a><p>."; +if (!$etape) echo "<p><font size=2>Si la sauvegarde a échoué («Maximum execution time exceeded»), <a href='export_all.php3?etape=1&gz=$gz'>procédez étape par étape</a>.</font><p>"; if ($etape < 2){ @@ -78,13 +78,19 @@ export_objets($query, "syndic", $f, $gz, $etape, 13, "Sauvegarder les sites r&ea $query = "SELECT * FROM spip_syndic_articles".$debug_limit; export_objets($query, "syndic_article", $f, $gz, $etape, 14, "Sauvegarder les articles des sites référencés"); +$query = "SELECT * FROM spip_visites".$debug_limit; +export_objets($query, "spip_visite", $f, $gz, $etape, 15, "Sauvegarder les visites"); + +$query = "SELECT * FROM spip_visites_referers".$debug_limit; +export_objets($query, "spip_referers", $f, $gz, $etape, 16, "Sauvegarder les referers"); + if (!$etape OR $etape == 14){ $_fputs ($f, build_end_tag("SPIP")."\n"); - echo "<p>La base a été sauvegardée dans <b>ecrire/data/$archive</b>.\n"; + echo "<p><b>Sauvegarde réussie.</b> La base a été sauvegardée dans <b>ecrire/data/$archive</b>. Vous pouvez <a href='index.php3'>retourner à la gestion</a> de votre site.\n"; } else { $etape_suivante = $etape + 1; diff --git a/ecrire/inc_base.php3 b/ecrire/inc_base.php3 index 45f80f166a..f649068a1b 100644 --- a/ecrire/inc_base.php3 +++ b/ecrire/inc_base.php3 @@ -268,7 +268,8 @@ function creer_base() { $query = "CREATE TABLE spip_visites ( date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, type varchar(16) NOT NULL, - visites bigint(21) DEFAULT '0' NOT NULL)"; + visites bigint(21) DEFAULT '0' NOT NULL, + maj TIMESTAMP)"; $result = spip_query($query); $query = "CREATE TABLE spip_visites_referers ( @@ -278,6 +279,7 @@ function creer_base() { referer_md5 varchar(16) NOT NULL, type varchar(16) NOT NULL, visites bigint(21) DEFAULT '0' NOT NULL, + maj TIMESTAMP, PRIMARY KEY (id_referer), KEY type (type), KEY referer_md5 (referer_md5))"; @@ -857,6 +859,11 @@ function maj_base() { spip_query($query); } + if ($version_installee < 1.437) { + spip_query("ALTER TABLE spip_visites ADD maj TIMESTAMP"); + spip_query("ALTER TABLE spip_visites_referers ADD maj TIMESTAMP"); + } + // // Mettre a jour le numero de version installee diff --git a/ecrire/inc_export.php3 b/ecrire/inc_export.php3 index 586025ce99..7a487a2cfa 100644 --- a/ecrire/inc_export.php3 +++ b/ecrire/inc_export.php3 @@ -126,6 +126,28 @@ function export_objets($query, $type, $file = 0, $gz = false, $etape_en_cours="" } mysql_free_result($res2); } + else if ($type == 'breve') { + $query = 'SELECT id_document FROM spip_documents_breves WHERE id_breve='.$row[0]; + $res2 = spip_query($query); + while($row2 = mysql_fetch_array($res2)) { + $string .= '<lien:document>' . $row2['id_document'] . '</lien:document>' . "\n"; + } + mysql_free_result($res2); + } + else if ($type == 'rubrique') { + $query = 'SELECT id_document FROM spip_documents_rubriques WHERE id_rubrique='.$row[0]; + $res2 = spip_query($query); + while($row2 = mysql_fetch_array($res2)) { + $string .= '<lien:document>' . $row2['id_document'] . '</lien:document>' . "\n"; + } + mysql_free_result($res2); + $query = 'SELECT id_auteur FROM spip_auteurs_rubriques WHERE id_rubrique='.$row[0]; + $res2 = spip_query($query); + while($row2 = mysql_fetch_array($res2)) { + $string .= '<lien:auteur>' . $row2['id_auteur'] . '</lien:auteur>' . "\n"; + } + mysql_free_result($res2); + } else if ($type == 'auteur') { $query = 'SELECT id_rubrique FROM spip_auteurs_rubriques WHERE id_auteur='.$row[0]; $res2 = spip_query($query); diff --git a/ecrire/inc_import.php3 b/ecrire/inc_import.php3 index dc58039dbc..79bf534b54 100644 --- a/ecrire/inc_import.php3 +++ b/ecrire/inc_import.php3 @@ -202,6 +202,13 @@ function import_objet_1_2($f, $gz=false) { spip_query("DELETE FROM spip_auteurs_articles WHERE id_article=$id_objet"); spip_query("DELETE FROM spip_documents_articles WHERE id_article=$id_objet"); } + else if ($type == 'rubrique') { + spip_query("DELETE FROM spip_auteurs_rubriques WHERE id_rubrique=$id_objet"); + spip_query("DELETE FROM spip_documents_rubriques WHERE id_rubrique=$id_objet"); + } + else if ($type == 'breve') { + spip_query("DELETE FROM spip_documents_breves WHERE id_breve=$id_objet"); + } else if ($type == 'mot') { spip_query("DELETE FROM spip_mots_articles WHERE id_mot=$id_objet"); spip_query("DELETE FROM spip_mots_breves WHERE id_mot=$id_objet"); @@ -449,6 +456,10 @@ function import_all($f, $gz=false) { spip_query($query); $query = "DELETE FROM spip_signatures WHERE maj < $my_date"; spip_query($query); + $query = "DELETE FROM spip_visites WHERE maj < $my_date"; + spip_query($query); + $query = "DELETE FROM spip_visites_referers WHERE maj < $my_date"; + spip_query($query); import_fin(); diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index b6625436c1..b158283cba 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -13,7 +13,7 @@ define("_ECRIRE_INC_VERSION", "1"); // // version de la base -$spip_version = 1.436; +$spip_version = 1.437; // version de spip // (mettre a jour a la main et conserver la mention "CVS") -- GitLab