From d7385a1065e06618b8142efd36d1e98feda7729b Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Fri, 13 Jan 2006 12:24:01 +0000
Subject: [PATCH] remettre le parametre reinstall dans le code, mais a un
 endroit plu s sioux pour la suite

---
 ecrire/inc.php3                      |  5 +++--
 ecrire/inc_spip_action_test_dirs.php |  2 +-
 ecrire/inc_utils.php                 | 12 +++++++++---
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/ecrire/inc.php3 b/ecrire/inc.php3
index 8e8340f3b1..fb55bd0e6c 100644
--- a/ecrire/inc.php3
+++ b/ecrire/inc.php3
@@ -21,9 +21,10 @@ preg_match(',^[0-9a-z_]*$,i', $_GET['exec']))
 	$exec = $_GET['exec'];
  else $exec = $SCRIPT_NAME;
 
-if (autoriser_sans_cookie($exec))
+if (autoriser_sans_cookie($exec)) {
 	unset($GLOBALS['_COOKIE']);
-else {
+	if (!isset($reinstall)) $reinstall = 'non';
+ } else {
 	include_ecrire ("inc_session");
 	include_ecrire('inc_cookie');
 	$var_f = include_fonction('auth');
diff --git a/ecrire/inc_spip_action_test_dirs.php b/ecrire/inc_spip_action_test_dirs.php
index 4cc616d0cb..78e6a6b9e0 100644
--- a/ecrire/inc_spip_action_test_dirs.php
+++ b/ecrire/inc_spip_action_test_dirs.php
@@ -105,7 +105,7 @@ if ($bad_dirs OR $absent_dirs) {
 
  } else {
 	if (!_FILE_CONNECT)
-		header("Location: " . generer_url_ecrire("install",  "etape=1"));
+	  header("Location: " . generer_url_ecrire("install",  "etape=1", true));
 	else
 		header("Location: " . _DIR_RESTREINT_ABS);
  }
diff --git a/ecrire/inc_utils.php b/ecrire/inc_utils.php
index 206a92d0bc..b090181f45 100644
--- a/ecrire/inc_utils.php
+++ b/ecrire/inc_utils.php
@@ -614,17 +614,23 @@ function charger_generer_url() {
 // Bravo au W3C qui n'a pas ete capable de nous eviter ca
 // faute de separer proprement langage et meta-langage
 
+// Ecriture tres tarabiscotee pour assurer la transition php3 & mutualisation
+
 function generer_url_ecrire($script, $args="", $no_entities=false) {
 	$site = $GLOBALS['meta']["adresse_site"];
 	if ($site)
 	  $site .= ((substr($site,-1) <> '/') ? '/' : '') . _DIR_RESTREINT_ABS;
 	else $site =  _DIR_RESTREINT;
 
-	if (substr($site,-1) == '/') $site = substr($site, 0, -1);
-	if (!$no_entities) $args = str_replace('&', '&amp;', $args);
+	if (substr($site,-1) == '/') {
+		$site = substr($site, 0, -1);
+		$script = '/' . $script;
+	}
+
 	$ext=(ereg('.php[3]?$', $script) ? '' :_EXTENSION_PHP).($args ? '?' : "");
+	if (!$no_entities) $args = str_replace('&', '&amp;', $args);
 
-	return "$site/$script$ext$args";
+	return "$site$script$ext$args";
 }
 
 // scripts publics appeles a partir de l'espace prive ou de l'exterieur (mail)
-- 
GitLab