diff --git a/ecrire/export_all.php3 b/ecrire/export_all.php3 index 8ae5bd21658335a2fee55ccd2d28a45f828204b1..d149bac21912db7d8510d475c1ea5ef537c9150c 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 45f80f166ad31650c7ac73e0c7b1640dbe591058..f649068a1b32fbbb260d1075703df1f7c1f14ead 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 586025ce99a176d68cc0e182a5b9da3aec41e102..7a487a2cfab074ae3670cc4f73c088eb9318a7e3 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 dc58039dbc822a3ec1db8d0cad34d0cb4242b67f..79bf534b540cbf76ca1a416db694b265f578e31e 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 b6625436c1df9e819e2e6bba81e92056a14a55ef..b158283cba453ca8ab3f3368b9f251734c6e2800 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")