From ce42a020494e917ebfe57bfe0055096da709914c Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Mon, 16 Jan 2006 10:24:22 +0000
Subject: [PATCH] laisser passer la feuille de style a l'install, c'est-a-dire
 sans exiger le cookie. Par ailleurs, retirer de inc_upgrade ce qui n'est pas
 necessaire au script upgrade

---
 ecrire/inc.php3         |  2 +-
 ecrire/inc_admin.php3   | 17 +++++++++++++++++
 ecrire/inc_minipres.php |  8 ++++++++
 ecrire/inc_upgrade.php  | 26 --------------------------
 ecrire/inc_utils.php    |  2 +-
 ecrire/inc_version.php3 |  7 +++----
 6 files changed, 30 insertions(+), 32 deletions(-)

diff --git a/ecrire/inc.php3 b/ecrire/inc.php3
index 3dbe872295..d53580155d 100644
--- a/ecrire/inc.php3
+++ b/ecrire/inc.php3
@@ -150,7 +150,7 @@ if (!isset($reinstall)) {
 
 	if ($spip_version <> ((double) str_replace(',','.',$GLOBALS['meta']['version_installee']))) {
 
-	  include_ecrire('inc_upgrade');
+	  include_ecrire('inc_admin');
 	  demande_maj_version();
 	}
  }
diff --git a/ecrire/inc_admin.php3 b/ecrire/inc_admin.php3
index 4d1cf7c5e5..1d6078600c 100644
--- a/ecrire/inc_admin.php3
+++ b/ecrire/inc_admin.php3
@@ -59,4 +59,21 @@ function fin_admin($action) {
 	@rmdir(_DIR_SESSIONS . $fichier);
 }
 
+
+function demande_maj_version()
+{
+	include_ecrire("inc_presentation");
+	debut_page();
+	echo "<blockquote><blockquote><h4><font color='red'>",
+	_T('info_message_technique'),
+	"</font><br> ",
+	_T('info_procedure_maj_version'),
+	"</h4>",
+	_T('info_administrateur_site_01'),
+	" <a href='" . generer_url_ecrire("upgrade","reinstall=non") . "'>",
+	_T('info_administrateur_site_02'),
+	"</a></blockquote></blockquote><p>";
+	fin_page();
+	exit;
+}
 ?>
diff --git a/ecrire/inc_minipres.php b/ecrire/inc_minipres.php
index f34395c2cc..a7736661ed 100644
--- a/ecrire/inc_minipres.php
+++ b/ecrire/inc_minipres.php
@@ -60,6 +60,14 @@ function install_fin_html() {
 	echo '</td></tr></table></body></html>';
 }
 
+function install_tout_html($titre, $corps)
+{
+	install_debut_html($titre);
+	echo $corps;
+	install_fin_html();
+	exit;
+}
+
 //
 // Aide
 //
diff --git a/ecrire/inc_upgrade.php b/ecrire/inc_upgrade.php
index 0ab085413e..c6cb583ce9 100644
--- a/ecrire/inc_upgrade.php
+++ b/ecrire/inc_upgrade.php
@@ -91,30 +91,4 @@ function upgrade_dist()
 	echo _T('alerte_maj_impossible', array('version' => $spip_version));
   }
 }
-
-function demande_maj_version()
-{
-	include_ecrire("inc_presentation");
-	debut_page();
-	echo "<blockquote><blockquote><h4><font color='red'>",
-	_T('info_message_technique'),
-	"</font><br> ",
-	_T('info_procedure_maj_version'),
-	"</h4>",
-	_T('info_administrateur_site_01'),
-	" <a href='" . generer_url_ecrire("upgrade","reinstall=non") . "'>",
-	_T('info_administrateur_site_02'),
-	"</a></blockquote></blockquote><p>";
-	fin_page();
-	exit;
-}
-
-// appele dans inc_version pour gestion de l'installation
-function info_install() {
-
-	$db_ok = false;
-	include_ecrire ("inc_minipres");
-	install_debut_html(_T('info_travaux_titre')); echo "<p>"._T('info_travaux_texte')."</p>";
-	install_fin_html();
-}
 ?>
diff --git a/ecrire/inc_utils.php b/ecrire/inc_utils.php
index 9393836e11..d5b9375f16 100644
--- a/ecrire/inc_utils.php
+++ b/ecrire/inc_utils.php
@@ -615,7 +615,7 @@ function charger_plugins($plugins) {
 
 function autoriser_sans_cookie($nom)
 {
-  static $autsanscookie = array('aide_index', 'install', 'admin_repair', 'spip_cookie');
+  static $autsanscookie = array('aide_index', 'install', 'admin_repair', 'spip_cookie', 'spip_style');
   $nom = preg_replace('/.php[3]?$/', '', basename($nom));
   return in_array($nom, $autsanscookie);
 }
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index 92fc80605a..c1939cf757 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -398,14 +398,13 @@ OR (basename($REQUEST_URI) == 'spip_action.php?action=test_dirs'))) {
 
 	// Si on peut installer, on lance illico
 	if (@file_exists('inc_version.php3'))
-		header("Location: " . generer_url_ecrire("install"));
+		redirige_par_entete(generer_url_ecrire("install"));
 	else if (defined("_INC_PUBLIC")) {
 	// Si on est dans le site public, dire que qq s'en occupe
-		include_ecrire('inc_upgrade');
-		info_install();
+		include_ecrire ("inc_minipres");
+		install_tout_html(_T('info_travaux_titre'), "<p>"._T('info_travaux_texte')."</p>");
 	}
 	// autrement c'est une install ad hoc (spikini...), on sait pas faire 
-	exit;
  }
 # spip_log($_SERVER['REQUEST_METHOD'].' '.$clean_link->getUrl() . _FILE_CONNECT);
 
-- 
GitLab