Skip to content
Extraits de code Groupes Projets
Valider 7517b778 rédigé par esj's avatar esj
Parcourir les fichiers

Appliquer la solution [12716] à [12689].

parent 0420eaa3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -1137,14 +1137,10 @@ function voir_en_ligne ($type, $id, $statut=false, $image='racine-24.gif', $af =
else
return '';
$h = generer_url_entite($id, $type, "var_mode=$en_ligne", '', true);
$h = generer_url_entite_absolue($id, $type, "var_mode=$en_ligne", '', true);
$h = str_replace('&', '&', $h);
// Forcer l'URL absolue si ce n'est fait.
if (!preg_match(',^\w+:,', $h))
$h = url_absolue(_DIR_RACINE . $h);
return $inline
? icone_inline($message, $h, $image, "rien.gif", $GLOBALS['spip_lang_left'])
: icone_horizontale($message, $h, $image, "rien.gif",$af);
......
......@@ -16,82 +16,89 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
// des items des tables SQL principales, selon le statut de publication
// http://doc.spip.org/@generer_url_ecrire_article
function generer_url_ecrire_article($id, $suite='', $ancre='', $statut='', $connect='') {
function generer_url_ecrire_article($id, $args='', $ancre='', $statut='', $connect='') {
$a = "id_article=" . intval($id);
if (!$statut) {
$statut = sql_getfetsel('statut', 'spip_articles', $a,'','','','',$connect);
}
if ($suite) $a .= "&$suite";
if ($statut == 'publie') {
return url_absolue(suivre_lien(_DIR_RACINE, generer_url_entite($id, 'article', $suite, $ancre, true)));
} else return generer_url_ecrire('articles', $a) . ($ancre ? "#$ancre" : '');
$h = ($statut == 'publie' OR $connect)
? generer_url_entite_absolue($id, 'article', $args, $ancre, $connect)
: (generer_url_ecrire('articles', $a . ($args ? "&$args" : ''))
. ($ancre ? "#$ancre" : ''));
return $h;
}
// http://doc.spip.org/@generer_url_ecrire_rubrique
function generer_url_ecrire_rubrique($id, $suite='', $ancre='', $statut='', $connect='') {
function generer_url_ecrire_rubrique($id, $args='', $ancre='', $statut='', $connect='') {
$a = "id_rubrique=" . intval($id);
if (!$statut) {
$statut = sql_getfetsel('statut', 'spip_rubriques', $a,'','','','',$connect);
}
if ($suite) $a .= "&$suite";
if ($statut == 'publie') {
return url_absolue(suivre_lien(_DIR_RACINE, generer_url_entite($id, 'rubrique', $suite, $ancre, true)));
} else return generer_url_ecrire('naviguer',$a) . ($ancre ? "#$ancre" : '');
$h = ($statut == 'publie' OR $connect)
? generer_url_entite_absolue($id, 'rubrique', $args, $ancre, $connect)
: (generer_url_ecrire('naviguer',$a . ($args ? "&$args" : ''))
. ($ancre ? "#$ancre" : ''));
return $h;
}
// http://doc.spip.org/@generer_url_ecrire_breve
function generer_url_ecrire_breve($id, $suite='', $ancre='', $statut='', $connect='') {
function generer_url_ecrire_breve($id, $args='', $ancre='', $statut='', $connect='') {
$a = "id_breve=" . intval($id);
if (!$statut) {
$statut = sql_getfetsel('statut', 'spip_breves', $a,'','','','',$connect);
}
if ($suite) $a .= "&$suite";
if ($statut == 'publie') {
return url_absolue(suivre_lien(_DIR_RACINE, generer_url_entite($id, 'breve', $suite, $ancre, true)));
} else return generer_url_ecrire('breves_voir',$a) . ($ancre ? "#$ancre" : '');
$h = ($statut == 'publie' OR $connect)
? generer_url_entite_absolue($id, 'breve', $args, $ancre, $connect)
: (generer_url_ecrire('breves_voir',$a . ($args ? "&$args" : ''))
. ($ancre ? "#$ancre" : ''));
return $h;
}
// http://doc.spip.org/@generer_url_ecrire_mot
function generer_url_ecrire_mot($id, $suite='', $ancre='', $statut='', $connect='') {
function generer_url_ecrire_mot($id, $args='', $ancre='', $statut='', $connect='') {
$a = "id_mot=" . intval($id);
if ($suite) $a .= "&$suite";
if (!$statut) {
return url_absolue(suivre_lien(_DIR_RACINE, generer_url_entite($id, 'mot', $suite, $ancre, true)));
} else return generer_url_ecrire('mots_edit',$a) . ($ancre ? "#$ancre" : '');
$h = (!$statut OR $connect)
? generer_url_entite_absolue($id, 'mot', $args, $ancre, $connect)
: (generer_url_ecrire('mots_edit',$a . ($args ? "&$args" : ''))
. ($ancre ? "#$ancre" : ''));
return $h;
}
// http://doc.spip.org/@generer_url_ecrire_site
function generer_url_ecrire_site($id, $suite='', $ancre='', $statut='', $connect='') {
function generer_url_ecrire_site($id, $args='', $ancre='', $statut='', $connect='') {
$a = "id_syndic=" . intval($id);
if ($suite) $a .= "&$suite";
if (!$statut) {
return url_absolue(suivre_lien(_DIR_RACINE, generer_url_entite($id, 'site', $suite, $ancre, true)));
} else return generer_url_ecrire('sites',$a) . ($ancre ? "#$ancre" : '');
$h = (!$statut OR $connect)
? generer_url_entite_absolue($id, 'site', $args, $ancre, $connect)
: (generer_url_ecrire('sites',$a . ($args ? "&$args" : ''))
. ($ancre ? "#$ancre" : ''));
return $h;
}
// http://doc.spip.org/@generer_url_ecrire_auteur
function generer_url_ecrire_auteur($id, $suite='', $ancre='', $statut='', $connect='') {
function generer_url_ecrire_auteur($id, $args='', $ancre='', $statut='', $connect='') {
$a = "id_auteur=" . intval($id);
if ($suite) $a .= "&$suite";
if (!$statut) {
return url_absolue(suivre_lien(_DIR_RACINE, generer_url_entite($id, 'auteur', $suite, $ancre, true)));
} else return generer_url_ecrire('auteur_infos',$a) . ($ancre ? "#$ancre" : '');
$h = (!$statut OR $connect)
? generer_url_entite_absolue($id, 'auteur', $args, $ancre, $connect)
: (generer_url_ecrire('auteur_infos',$a . ($args ? "&$args" : ''))
. ($ancre ? "#$ancre" : ''));
return $h;
}
// http://doc.spip.org/@generer_url_ecrire_forum
function generer_url_ecrire_forum($id, $suite='', $ancre='', $statut='', $connect='') {
function generer_url_ecrire_forum($id, $args='', $ancre='', $statut='', $connect='') {
$a = "id_forum=" . intval($id);
if (!$statut) {
$statut = sql_getfetsel('statut', 'spip_forum', $a,'','','','',$connect);
}
if ($suite) $a .= "&$suite";
if ($statut == 'publie') {
return url_absolue(suivre_lien(_DIR_RACINE, generer_url_entite($id, 'forum', $suite, $ancre, true)));
} else return generer_url_ecrire('controle_forum', "debut_id_forum=$id");
$h = ($statut == 'publie' OR $connect)
? generer_url_entite_absolue($id, 'forum', $args, $ancre, $connect)
: (generer_url_ecrire('controle_forum', "debut_id_forum=$id" . ($args ? "&$args" : ''))
. ($ancre ? "#$ancre" : ''));
return $h;
}
// http://doc.spip.org/@generer_url_ecrire_document
function generer_url_ecrire_document($id, $suite='', $ancre='', $statut='', $connect='') {
function generer_url_ecrire_document($id, $args='', $ancre='', $statut='', $connect='') {
include_spip('inc/documents');
return generer_url_document_dist($id);
}
......
......@@ -768,6 +768,14 @@ function generer_url_entite($id='', $entite='', $args='', $ancre='', $public=NUL
return '';
}
function generer_url_entite_absolue($id='', $entite='', $args='', $ancre='', $connect=NULL)
{
if (!$connect) $connect = true;
$h = generer_url_entite($id, $entite, $args, $ancre, $connect);
if (!preg_match(',^\w+:,', $h)) $h = url_absolue(_DIR_RACINE . $h);
return $h;
}
// Sur certains serveurs, la valeur 'Off' tient lieu de false dans certaines
// variables d'environnement comme $_SERVER[HTTPS] ou ini_get(register_globals)
// http://doc.spip.org/@test_valeur_serveur
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter