diff --git a/inc-admin.php3 b/inc-admin.php3 index 639ce0953ccc23508c35e0ea5d9f774c5c5640b3..41df71161d504bdeadc322b7f86837aca0f10553 100644 --- a/inc-admin.php3 +++ b/inc-admin.php3 @@ -4,7 +4,25 @@ // puis les boutons // Feuilles de style admin : d'abord la CSS officielle, puis la perso, -function affiche_boutons_admin(&$contenu) { +function affiche_boutons_admin($contenu) { + $css = "<link rel='stylesheet' href='spip_admin.css' type='text/css' />\n"; + if ($f = find_in_path('spip_admin_perso.css')) + $css2 = "<link rel='stylesheet' href='$f' type='text/css' />\n"; + + if (preg_match('@<(/head|body)@i', $contenu, $regs)) { + $contenu = explode($regs[0], $contenu, 2); + $contenu = $contenu[0] . $css. $css2 . $regs[0] . $contenu[1]; + } else + $contenu = $css . $css2 . $contenu; + + if (preg_match('@<(/body|/html)@i', $contenu, $regs)) { + $split = explode($regs[0], $contenu, 2); + $contenu = $split[0]; + $suite = $regs[0].$split[1]; + } + + echo $contenu; + // // Regler les boutons dans la langue de l'admin (sinon tant pis) // @@ -14,36 +32,19 @@ function affiche_boutons_admin(&$contenu) { if ($row = spip_fetch_array(spip_query("SELECT lang FROM spip_auteurs WHERE login='$login'"))) { $lang = $row['lang']; } + lang_select($lang); - $css = "<link rel='stylesheet' href='spip_admin.css' type='text/css' />\n"; - if ($f = find_in_path('spip_admin_perso.css')) - $css .= "<link rel='stylesheet' href='$f' type='text/css' />\n"; - -# $n = stripos($contenu, '</head>'); #PHP5 - preg_match('@</head>@i',$contenu,$regs); - $n = strpos($contenu, $regs[0]); - if ($n) - $contenu = substr($contenu,0,$n) . $css . substr($contenu,$n); - else - // squelette pourri: on force - $contenu = "<html><head>$css</head>$contenu"; - $insere = synthetiser_balise_dynamique('formulaire_admin', - array( + // Afficher la balise #FORMULAIRE_ADMIN mais en float + inclure_balise_dynamique( + balise_formulaire_admin_dyn( $GLOBALS['id_article'], $GLOBALS['id_breve'], $GLOBALS['id_rubrique'], $GLOBALS['id_mot'], - $GLOBALS['id_auteur'], 'div'), - find_in_path('inc-formulaire_admin' . _EXTENSION_PHP), - $lang); - - preg_match('@<body[^>]*>@i',$contenu,$regs); - $n = strpos($contenu, $regs[0]) + strlen($regs[0]); - if ($n) - $contenu = substr($contenu,0,$n) . $insere . substr($contenu,$n); - else - // squelette pourri: on force - $contenu .= $insere; - - return $contenu; + $GLOBALS['id_auteur'], 'div' + )); + + lang_dselect(); + + return $suite; } ?> diff --git a/inc-public-global.php3 b/inc-public-global.php3 index 1ef4239557406149e4ae1f4d7acc7714a3ada3a2..b73404c60f3258807ef46958286447cf3a4d956d 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -97,13 +97,6 @@ function calcule_header_et_page ($fond, $delais) { header("Last-Modified: ".http_gmoddate($lastmodified)." GMT"); header("Content-Type: text/html; charset=".lire_meta('charset')); } - - // Inserer au besoin les boutons admins - if ($affiche_boutons_admin) { - include_local("inc-admin.php3"); - $page['process_ins'] = 'php'; - $page['texte'] = affiche_boutons_admin($page['texte']); - } } return $page; diff --git a/inc-public.php3 b/inc-public.php3 index c7f1c29cff4e757520df70b770d632b81923247f..3eb580849079056e14308143def0857fd2f37a1b 100644 --- a/inc-public.php3 +++ b/inc-public.php3 @@ -57,6 +57,12 @@ if (defined("_INC_PUBLIC")) { } } + // Inserer au besoin les boutons admins + if ($affiche_boutons_admin) { + include_local("inc-admin.php3"); + $page = affiche_boutons_admin($page); + } + // Passer la main au debuggueur le cas echeant if ($var_mode == 'debug') { include_ecrire("inc_debug_sql.php3");