From d0730f620d8c8739c95a606c5711f44d32cefcba Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Tue, 25 Sep 2007 21:46:53 +0000
Subject: [PATCH] =?UTF-8?q?Petites=20am=C3=A9liorations=20pour=20la=20sauv?=
 =?UTF-8?q?egarde=20partielle=20de=20[10420]:?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- pas de bouton de choix dans le selecteur de rubriques quand il y en a peu, ça déclenche trop tôt la sauvegarde (Mathieu);

- signaler qu'une sauvegarde partielle est destinée à la fusion (Mathieu)

- (concerne toutes les sauvegardes): depuis que le nom du fichier n'est plus imposé par le serveur (seulement proposé dans un Input), il faut refaire le test d'existence préalable du fichier lors de la création finale. Si c'est le cas, l'ancien est renommé afin de ne pas le détruire tout en garantissant que le nom demandé est bien celui utilisé.
---
 ecrire/action/export_all.php | 8 +++++++-
 ecrire/exec/admin_tech.php   | 9 +--------
 ecrire/exec/informer.php     | 2 +-
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/ecrire/action/export_all.php b/ecrire/action/export_all.php
index 4e27dc62fb..b57cbe5ce0 100644
--- a/ecrire/action/export_all.php
+++ b/ecrire/action/export_all.php
@@ -61,7 +61,13 @@ function export_all_fin($file, $meta)
 		$subdir = dirname($file);
 		$dir = dirname($subdir);
 		$nom = basename($file);
-		if (@rename($file, $dir . '/' . $nom)) {
+		$dest = $dir . '/' . $nom;
+		if (file_exists($dest)) {
+			$n = 1;
+			while (@file_exists($new = "$dir/$n-$nom")) $n++;
+			@rename($dest, $new);
+		}
+		if (@rename($file, $dest)) {
 			spip_unlink($subdir);
 			spip_log("$file renomme en $dir/$nom");
 		}
diff --git a/ecrire/exec/admin_tech.php b/ecrire/exec/admin_tech.php
index bfd1ebda3f..df799d1fe9 100644
--- a/ecrire/exec/admin_tech.php
+++ b/ecrire/exec/admin_tech.php
@@ -81,16 +81,9 @@ function exec_admin_tech_dist()
 	$chercher_rubrique = charger_fonction('chercher_rubrique', 'inc');
 
 	$form = $chercher_rubrique(0, 'rubrique', !$GLOBALS['connect_toutes_rubriques'], 0, 'admin_tech_selection_titre');
-	if (strpos($form,'<select')!==false) {
-		$form .= "<div style='text-align: $spip_lang_right;'>"
-		. '<input class="fondo" type="submit" value="'
-		. _T('bouton_choisir')
-		.'" />'
-		. "</div>";
-	}
 
 	$res .= "\n<p><label for='id_parent'>" .
-		  _L('Vous pouvez limiter la sauvegarde &agrave; la rubrique: ') .
+		  _L("Dans un but de fusion avec une autre base, vous pouvez limiter la sauvegarde &agrave; la rubrique: ") .
 		  "</label>" .
 		  $form
 		  . "</p>";
diff --git a/ecrire/exec/informer.php b/ecrire/exec/informer.php
index 5796aa175c..b43c8baa91 100644
--- a/ecrire/exec/informer.php
+++ b/ecrire/exec/informer.php
@@ -23,7 +23,7 @@ function exec_informer_dist()
 	$col = intval(_request('col'));
 	$exclus = intval(_request('exclus'));
 	$do = _request('do');
-	spip_log("informer($id, $col, $exclus, _request('rac'), _request('type'), $do");
+
 	if (!preg_match('/^\w+$/', $do)) die();
 	if (!$do) $do = 'aff_selection_titre';
 	
-- 
GitLab