diff --git a/ecrire/inc.php3 b/ecrire/inc.php3 index 8e8340f3b1c9148cc5f7b6522a673d95b809c3b0..fb55bd0e6c13c9c04a36ccac31420b607ce81a8d 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 4cc616d0cb19a9e07270b408b8eb2c6059157704..78e6a6b9e0f02d7d22c564210ae391469db134f4 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 206a92d0bc8c245bb538cce7903465c8ebebe932..b090181f45e576e46997685a534f91a20b984714 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('&', '&', $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('&', '&', $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)