From 507fba508eb874c95e0664574bc6de441781966a Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Fri, 23 Nov 2007 16:32:01 +0000 Subject: [PATCH] =?UTF-8?q?Eviter=20une=20erreur=20fatale=20dans=20certain?= =?UTF-8?q?es=20version=20de=20PHP=20dans=20le=20calcul=20de=20'''profonde?= =?UTF-8?q?ur=5Furl'''=20(Christian=20M.)=20et=20tant=20qu'=C3=A0=20faire,?= =?UTF-8?q?=20si=20la=20profondeur=20est=20n=C3=A9gative=20c'est=20que=20l?= =?UTF-8?q?a=20meta=5Fadresse=5Fsite=20est=20faux,=20eviter=20la=20bard?= =?UTF-8?q?=C3=A9e=20de=20warnings.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/inc/utils.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index e02d7e6357..c16075b29f 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1162,14 +1162,18 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) { // nombre de repertoires depuis la racine // on compare a l'adresse donnee en meta ; si celle-ci est fausse // le calcul est faux. Meilleure idee ?? - $GLOBALS['profondeur_url'] = !_DIR_RESTREINT - ? 1 - : ((isset($_SERVER['REQUEST_URI']) AND isset($GLOBALS['meta']['adresse_site'])) - ? substr_count(reset(explode('?', $_SERVER['REQUEST_URI'])),'/') - - substr_count($GLOBALS['meta']['adresse_site'],'/') + 1 - : 0 - ); - + if (!_DIR_RESTREINT) + $GLOBALS['profondeur_url'] = 1; + else { + $uri = isset($_SERVER['REQUEST_URI']) ? explode('?', $_SERVER['REQUEST_URI']) : ''; + if (!$uri OR !isset($GLOBALS['meta']['adresse_site'])) + $GLOBALS['profondeur_url'] = 0; + else { + $GLOBALS['profondeur_url'] = max(0, 1+ + substr_count($uri[0], '/') + - substr_count($GLOBALS['meta']['adresse_site'],'/')); + } + } // s'il y a un cookie ou PHP_AUTH, initialiser auteur_session if (_FILE_CONNECT) verifier_visiteur(); -- GitLab