/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2011 *
+ * Copyright (c) 2001-2014 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
$s = !$p->id_boucle ? '' : $p->boucles[$p->id_boucle]->sql_serveur;
if ($s) {
- if (!$GLOBALS['connexions'][strtolower($s)]['spip_connect_version']) {
- $code = "404";
- } else {
- // si une fonction de generation des url a ete definie pour ce connect l'utiliser
- // elle devra aussi traiter le cas derogatoire type=page
- if (function_exists($f = 'generer_generer_url_'.$s)){
+ // si une fonction de generation des url a ete definie pour ce connect l'utiliser
+ // elle devra aussi traiter le cas derogatoire type=page
+ if (function_exists($f = 'generer_generer_url_'.$s)){
if ($args) $code .= ", $args";
$code = $f('page', $code, $s);
return $p;
- }
- $s = 'connect=' . addslashes($s);
- $args = $args ? "$args . '&$s'" : "'$s'";
}
+ $s = 'connect=' . addslashes($s);
+ $args = $args ? "$args . '&$s'" : "'$s'";
}
if (!$code) {
$noentities = $p->etoile ? "'&'" : '';
//
// #URL_ECRIRE{naviguer} -> ecrire/?exec=naviguer
-//
+// #URL_ECRIRE* meme chose, mais sans convertir les & en &
// http://doc.spip.org/@balise_URL_ECRIRE_dist
function balise_URL_ECRIRE_dist($p) {
$fonc = $code;
else {$code = "(\$f = $code)"; $fonc = '$f';}
$args = interprete_argument_balise(2,$p);
- if ($args != "''" && $args!==NULL)
- $fonc .= ',' . $args;
+ if ($args === NULL) $args = "''";
+ $noentities = $p->etoile ? ", true" : '';
+ if (($args != "''") OR $noentities)
+ $fonc .= ",$args$noentities";
}
$p->code = 'generer_url_ecrire(' . $fonc .')';
if ($code)
function balise_URL_ACTION_AUTEUR_dist($p) {
$p->descr['session'] = true;
- if ($p->boucles[$p->id_boucle]->sql_serveur) {
- $p->code = 'generer_url_public("404")';
- return $p;
+ $script = interprete_argument_balise(1,$p);
+ if (!$script OR $script == "''") {
+ $msg = array('zbug_balise_sans_argument',
+ array('balise' => ' URL_ACTION_AUTEUR'));
+ erreur_squelette($msg, $p);
+ } else {
+ $args = interprete_argument_balise(2,$p);
+ if (!$args) $args = "''";
+ $redirect = interprete_argument_balise(3,$p);
+ // cas d'un appel (squelette) avec '' comme valeur de redirection
+ if ($redirect == "''")
+ $redirect = "";
+ if ($redirect)
+ $redirect = ",$redirect";
+ $p->code = "generer_action_auteur($script,$args$redirect)";
}
-
- $p->code = interprete_argument_balise(1,$p);
- $args = interprete_argument_balise(2,$p);
- if ($args != "''" && $args!==NULL)
- $p->code .= ",".$args;
- $redirect = interprete_argument_balise(3,$p);
- if ($redirect != "''" && $redirect!==NULL)
- $p->code .= ",".$redirect;
-
- $p->code = "generer_action_auteur(" . $p->code . ")";
$p->interdire_scripts = false;
return $p;
}