Update of /home/spip-cvs/spip
In directory alan:/tmp/cvs-serv16966
Modified Files:
inc-admin.php3 inc-form-squel.php3 inc-public-global.php3
inc-public.php3
Log Message:
boutons d'admins à l'ancienne ou presque 
reste un truc que je n'ai pas pigé : page['naissance'] n'est jamais égale à 0 même quand on recalcule, du coup on n'a pas la petite étoile qui signale qu'une page est fraiche... ou l'inverse je sais plus.
Index: inc-form-squel.php3
RCS file: /home/spip-cvs/spip/inc-form-squel.php3,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- inc-form-squel.php3 16 Jul 2004 13:59:02 -0000 1.3
+++ inc-form-squel.php3 17 Jul 2004 21:48:32 -0000 1.4
@@ -9,7 +9,7 @@
function calculer_champ_FORMULAIRE_ADMIN($fonctions, $nom_champ, $id_boucle, &$boucles, $id_mere)
{
- return array("envoi_script('admin()')",'');
+ return array("'<!-- @@formulaire_admin@@45609871@@ -->'",'');
}
function calculer_champ_FORMULAIRE_RECHERCHE($fonctions, $nom_champ, $id_boucle, &$boucles, $id_mere)
Index: inc-public-global.php3
RCS file: /home/spip-cvs/spip/inc-public-global.php3,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -d -r1.105 -r1.106
--- inc-public-global.php3 17 Jul 2004 16:19:29 -0000 1.105
+++ inc-public-global.php3 17 Jul 2004 21:48:32 -0000 1.106
@@ -43,36 +43,22 @@
return $page;
}
-# 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
-
-function admin_page($cached, $texte)
-{
- if ($GLOBALS['flag_preserver'] ||
- !($admin = $GLOBALS['HTTP_COOKIE_VARS']['spip_admin']))
- $a = '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='';}";
- }
- if (eregi("^[[:space:]]*(<!DOCTYPE[^>]*>[[:space:]]*<html[^>]*>[[:space:]]<head[^>]*>)(.*)$", $texte, $m))
- return $m[1] . envoi_script($a) . $m[2];
- else
- {
- return envoi_script($a) . $texte;
- }
-}
+//
+// 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 ? ' *' : '');
-function envoi_script($code)
-{
- return
- "<script type='text/javascript'><!--
- $code
---></script>\n";
+ // 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 cherche_image_nommee($nom, $dossier) {
Index: inc-public.php3
RCS file: /home/spip-cvs/spip/inc-public.php3,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- inc-public.php3 17 Jul 2004 14:57:40 -0000 1.62
+++ inc-public.php3 17 Jul 2004 21:48:32 -0000 1.63
@@ -176,14 +176,12 @@
# On nettoie celui de la page retournee car le systeme vient d'y acceder:
# il y a de bonnes chances qu'il l'ait toujours dans son cache.
- if ($page['naissance'] && (time() - lire_meta('date_purge_cache') > 3600))
- {
+ if ($page['naissance'] && (time() - lire_meta('date_purge_cache') > 3600)) {
ecrire_meta('date_purge_cache', time());
retire_vieux_caches($cle, $delais);
}
# Mise a jour des fichiers langues de l'espace public
-
if ($cache_lang_modifs) {
include_ecrire('inc_lang.php3');
ecrire_caches_langues();
Index: inc-admin.php3
RCS file: /home/spip-cvs/spip/inc-admin.php3,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- inc-admin.php3 16 Jul 2004 07:20:02 -0000 1.11
+++ inc-admin.php3 17 Jul 2004 21:48:32 -0000 1.12
@@ -5,84 +5,68 @@
if (defined("_INC_ADMIN")) return;
define("_INC_ADMIN", "1");
-// Afficher un bouton admin
-function bouton_admin($titre, $script, $args) {
- $r = '';
- if ($args)
- foreach ($args as $n => $v)
- $r .= "<input type='hidden' name='$n' value='$v'/>";
- return "<form action='$script'>$r<input type='submit' value='" .
- attribut_html($titre) .
- "' class='spip_bouton' /></form>";
-}
+//
+// Afficher un bouton admin
+//
-function split_query_string($query_string)
-{
- $res = array();
- if ($query_string)
- foreach(split('&',$query_string) as $v)
- {
- ereg("^(.*)=(.*)$", $v, $m);
- if ($m[1] != 'recalcul')
- $res[$m[1]] = $m[2];
- }
- return $res;
+function bouton_admin($titre, $lien) {
+ $link = new Link($lien);
+ $link->delVar('submit');
+ $ret = $link->getForm('GET');
+ $ret .= "<input type='submit' name='submit' value=\"".attribut_html($titre)."\" class='spip_bouton' />\n";
+ $ret .= "</form>";
+ return $ret;
}
-function afficher_boutons_admin($pop) {
- global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur;
+function afficher_boutons_admin() {
+ global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur;
include_ecrire("inc_filtres.php3");
include_ecrire("inc_lang.php3");
// regler les boutons dans la langue de l'admin (sinon tant pis)
if ($login = addslashes(ereg_replace('^@','',$GLOBALS['spip_admin']))) {
- $row = spip_fetch_array(spip_query("SELECT lang FROM spip_auteurs WHERE login='$login'"));
-
- $lang = $row['lang'];
+ $q = spip_query("SELECT lang FROM spip_auteurs WHERE login='$login'");
+ $row = spip_fetch_array($q);
+ $lang = $row['lang'];
}
lang_select($lang);
- $ret =
- (($id_article) ?
- (bouton_admin(_T('admin_modifier_article') . " ($id_article)",
- './ecrire/articles.php3',
- array('id_article' => $id_article))):
- (($id_breve) ?
- (bouton_admin(_T('admin_modifier_breve') . " ($id_breve)",
- "./ecrire/breves_voir.php3",
- array('id_breve' => $id_breve))) :
- (($id_rubrique) ?
- (bouton_admin(_T('admin_modifier_rubrique') . " ($id_rubrique)",
- "./ecrire/naviguer.php3",
- array( 'coll' => $id_rubrique))) :
- (($id_mot) ?
- (bouton_admin(_T('admin_modifier_mot') . " ($id_mot)",
- "./ecrire/mots_edit.php3",
- array( 'id_mot' => $id_mot))) :
- (($id_auteur) ?
- (bouton_admin(_T('admin_modifier_auteur') . " ($id_auteur)",
- "./ecrire/auteurs_edit.php3",
- array( 'id_auteur' => $id_auteur))) :
- '')))));
+ $ret = '<div class="spip-admin" dir="'.lang_dir($lang,'ltr','rtl').'">';
+ if ($id_article) {
+ $ret .= bouton_admin(_T('admin_modifier_article')." ($id_article)", "./ecrire/articles.php3?id_article=$id_article");
+ }
+ else if ($id_breve) {
+ $ret .= bouton_admin(_T('admin_modifier_breve')." ($id_breve)", "./ecrire/breves_voir.php3?id_breve=$id_breve");
+ }
+ else if ($id_rubrique) {
+ $ret .= bouton_admin(_T('admin_modifier_rubrique')." ($id_rubrique)", "./ecrire/naviguer.php3?coll=$id_rubrique");
+ }
+ else if ($id_mot) {
+ $ret .= bouton_admin(_T('admin_modifier_mot')." ($id_mot)", "./ecrire/mots_edit.php3?id_mot=$id_mot");
+ }
+ else if ($id_auteur) {
+ $ret .= bouton_admin(_T('admin_modifier_auteur')." ($id_auteur)", "./ecrire/auteurs_edit.php3?id_auteur=$id_auteur");
+ }
+ $link = $GLOBALS['clean_link'];
+ $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";
- $args = split_query_string($GLOBALS['QUERY_STRING']);
- $args['recalcul'] = 'oui';
- $ret .= bouton_admin(attribut_html(_T('admin_recalculer') . $pop),
- $GLOBALS[PHP_SELF],
- $args);
if (lire_meta("activer_statistiques") != "non" AND $id_article AND ($GLOBALS['auteur_session']['statut'] == '0minirezo')) {
- include_local ("inc-stats.php3");
- $ret .= bouton_admin(_T('stats_visites_et_popularite',
- afficher_raccourci_stats($id_article)),
- "./ecrire/statistiques_visites.php3",
- array('id_article' => $id_article));
+ include_local ("inc-stats.php3");
+ $ret .= bouton_admin(_T('stats_visites_et_popularite', afficher_raccourci_stats($id_article)), "./ecrire/statistiques_visites.php3?id_article=$id_article");
}
+ $ret .= "</div>";
+
lang_dselect();
-
- return "<div class='spip-admin' dir='" .
- lang_dir($lang,'ltr','rtl') .
- "'>$ret</div>";
+
+ return $ret;
}
+
?>