From 3768d4218fcf858cc3d372910a7b2b8f639e8ecc Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Sun, 12 Nov 2006 16:41:16 +0000 Subject: [PATCH] mettre les boutons au bon endroit meme s'il y a des < /HTML > dans la page (un forum pourri par exemple) (togg, #671) --- ecrire/public/admin.php | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/ecrire/public/admin.php b/ecrire/public/admin.php index 6a47499975..842cafca1b 100644 --- a/ecrire/public/admin.php +++ b/ecrire/public/admin.php @@ -24,24 +24,28 @@ function affiche_boutons_admin($contenu) { $css .= "<link rel='stylesheet' href='" . url_absolue($f) . "' type='text/css' />\n"; - if (preg_match('@<(/head|body)@i', $contenu, $regs)) { - $contenu = explode($regs[0], $contenu, 2); - $contenu = $contenu[0] . $css . $regs[0] . $contenu[1]; - } else - $contenu = $css . $contenu; - - if (preg_match('@<(/body|/html)@i', $contenu, $regs)) { - $split = explode($regs[0], $contenu, 2); - $contenu = $split[0]; - $suite = $regs[0].$split[1]; - } else $suite =''; + // Compatibilite : on utilise strripos() qui n'existe pas en php4 + if (!function_exists('strripos')) { + function strripos($botte, $aiguille) { + return strrpos(strtolower($botte), $aiguille); + } + } + + ($pos = strripos($contenu, '</head>')) + || ($pos = strripos($contenu, '<body>')) + || ($pos = 0); + $contenu = substr_replace($contenu, $css, $pos, 0); // Recuperer sans l'afficher la balise #FORMULAIRE_ADMIN, en float $boutons_admin = inclure_balise_dynamique( balise_FORMULAIRE_ADMIN_dyn('spip-admin-float'), false); + ($pos = strripos($contenu, '</body>')) + || ($pos = strripos($contenu, '</html>')) + || ($pos = strlen($contenu)); + $contenu = substr_replace($contenu, $boutons_admin, $pos, 0); - return $contenu.$boutons_admin.$suite; + return $contenu; } ?> -- GitLab