From 816772d05bf0ab353c5e99aefbe0ffd8f87d94ca Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Wed, 14 May 2008 17:01:18 +0000 Subject: [PATCH] "la seule action qui necessite de passer du prive au public est 'redirect'" --- ecrire/inc/utils.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 0bec221373..96d12e2c4a 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -922,19 +922,26 @@ function generer_form_public($script, $corps, $atts='') { // http://doc.spip.org/@generer_url_action function generer_url_action($script, $args="", $no_entities=false ,$rel = false) { + // si script=redirect, on veut basculer vers le public ! + if ($script=='redirect') { + return generer_url_public('', + "action=$script" .($args ? "&$args" : ''), + $no_entities,$rel); + } + // sinon, on reste ou on est $url = './'; $url = parametre_url($url,'action',$script); if ($args) $url .= quote_amp('&'.$args); if ($redirect = parametre_url($url,'redirect')){ + // si jamais l'url d'action contient un redirect=ecrire/... + // supprimer ce ecrire/ si on y est deja puisqu'on ne le quitte pas if (test_espace_prive() AND substr($redirect,0,strlen(_DIR_RESTREINT_ABS))==_DIR_RESTREINT_ABS) $redirect = './'.substr($redirect,strlen(_DIR_RESTREINT_ABS)); $url = parametre_url($url,'redirect',$redirect); } + if ($no_entities) $url = str_replace('&','&',$url); - /*return generer_url_public('', - "action=$script" .($args ? "&$args" : ''), - $no_entities,$rel);*/ return $url; } -- GitLab