Skip to content
Extraits de code Groupes Projets
Valider acb33c22 rédigé par cerdic's avatar cerdic Validation de b_b
Parcourir les fichiers

fix: quand une URL de redirection contient une querystring avec des crochets,...

fix: quand une URL de redirection contient une querystring avec des crochets, les encoder pour générer l'URL affichée

Refs #4697
parent 0fe5e7c8
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -422,7 +422,20 @@ function lien_article_virtuel($virtuel) {
return '';
}
return propre('[->' . $virtuel . ']');
$joli = $virtuel;
$parts = parse_url($virtuel);
if (!empty($parts['query']) and str_contains($parts['query'], ']')) {
$query = str_replace(['[', ']'], [urlencode('['), urlencode(']')], $parts['query']);
$virtuel = str_replace("?" . $parts['query'], "?$query", $virtuel);
}
if ($virtuel !== $joli) {
$joli = propre('[' . $joli . ' -> ' . $virtuel . ']');
}
else {
$joli = propre('[->' . $virtuel . ']');
}
return $joli;
}
......
......@@ -36,10 +36,12 @@ function formulaires_rediriger_article_charger_dist($id_article, $retour = '') {
include_spip('inc/texte');
include_spip('inc/filtres_ecrire');
$valeurs = [
'redirection' => $redirection,
'id' => $id_article,
'_afficher_url' => ($redirection ? propre("[->$redirection]") : ''),
'_afficher_url' => ($redirection ? lien_article_virtuel($redirection) : ''),
];
return $valeurs;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter