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

boutons admin propres et complets ... jusqu'à la prochaine fois

parent 59575c37
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -19,7 +19,7 @@ function bouton_admin($titre, $lien) {
return $ret;
}
function afficher_boutons_admin() {
function afficher_boutons_admin($pop) {
global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur;
include_ecrire("inc_filtres.php3");
include_ecrire("inc_lang.php3");
......@@ -52,8 +52,6 @@ function afficher_boutons_admin() {
$link->addVar('recalcul', 'oui');
$link->delVar('submit');
$ret .= $link->getForm('GET');
if ($GLOBALS['use_cache']) $pop = " *";
else $pop = "";
$ret .= "<input type='submit' class='spip_bouton' name='submit' value=\"".attribut_html(_T('admin_recalculer')).$pop."\"></input>";
$ret .= "</form>\n";
......
......@@ -9,7 +9,7 @@
function calculer_champ_FORMULAIRE_ADMIN($fonctions, $nom_champ, $id_boucle, &$boucles, $id_mere)
{
return array("'<!-- @@formulaire_admin@@45609871@@ -->'",'');
return array("envoi_script('admin()')",'');
}
function calculer_champ_FORMULAIRE_RECHERCHE($fonctions, $nom_champ, $id_boucle, &$boucles, $id_mere)
......@@ -191,7 +191,7 @@ function calculer_champ_PARAMETRES_FORUM($fonctions, $nom_champ, $id_boucle, &$b
}
$milieu .= "}\n";
$code = "(!\$forums_publics) ? '' :
($c .\n" . '"&cache=".$Cache[cache] .' . "\n\"&retour=\$lien\")";
($c .\n" . '"&cache=".rawurlencode($Cache[cache]) .' . "\n\"&retour=\$lien\")";
list($c,$m) = applique_filtres($fonctions, $code, $id_boucle, $boucles, $id_mere);
return array($c,$milieu . $m);
......
......@@ -43,22 +43,45 @@ function inclure_page($fond, $delais_inclus, $contexte_inclus, $cache_incluant='
return $page;
}
//
// Le bouton des administrateurs
//
function admin_page($cached, $texte) {
if (!$GLOBALS['flag_preserver'] && ($admin = $GLOBALS['HTTP_COOKIE_VARS']['spip_admin'])) {
include_local('inc-admin.php3');
$a = afficher_boutons_admin($cached ? ' *' : '');
# Le bouton des administrateurs est affiche' par une fonction JavaScript
# non mise en cache car de'pendant de l'utilisateur (pas d'affichage parfois)
# Elle est appele'e par le code d'un squelette utilisant FORMULAIRE_ADMIN
# mais par compatibilité avec l'époque où cette balise n'existait pas
# la fonction est toujours appelée à la fin. C'est pourquoi elle se neutralise
# au premier appel.
// La constante doit etre definie a l'identique dans inc-form-squel
// balise #FORMULAIRE_ADMIN ? sinon ajouter en fin de page
if (!(strpos($texte, '<!-- @@formulaire_admin@@45609871@@ -->') === false))
$texte = str_replace('<!-- @@formulaire_admin@@45609871@@ -->', $a, $texte);
else
$texte .= $a;
}
return $texte;
function admin_page($cached, $texte)
{
if ($GLOBALS['flag_preserver'] ||
!($admin = $GLOBALS['HTTP_COOKIE_VARS']['spip_admin']))
$a = envoi_script('function admin(){}');
else
{
include_local('inc-admin.php3');
$a = str_replace("/", '\/', addslashes(strtr(afficher_boutons_admin($cached ? ' *' : ''), "\n", ' ')));
$a = "var bouton_admin = \"$a\";function admin() {
document.write(bouton_admin); document.close(); bouton_admin='';}";
$a = envoi_script($a);
$force = envoi_script('admin()');
}
if (eregi("^[[:space:]]*(<!DOCTYPE[^>]*>[[:space:]]*<html[^>]*>[[:space:]]<head[^>]*>)(.*)$", $texte, $m))
{ $debut = $m[1]; $texte = $m[2];}
else
{
$debut = '';
}
if (eregi('(.*)(</body>[[:space:]]</html>[[:space:]]*)$',$texte,$m))
return $debut . $a . $m[1] . $force . $m[2];
else return $debut . $a . $texte . $force;
}
function envoi_script($code)
{
return
"<script type='text/javascript'><!--
$code
--></script>\n";
}
function cherche_image_nommee($nom, $dossier) {
......
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