7 |
david |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
|
|
|
4 |
|
|
|
5 |
global $balise_FORMULAIRE_ADMIN_collecte ;
|
|
|
6 |
$balise_FORMULAIRE_ADMIN_collecte = array();
|
|
|
7 |
|
|
|
8 |
# on ne peut rien dire au moment de l'execution du squelette
|
|
|
9 |
|
|
|
10 |
function balise_FORMULAIRE_ADMIN_stat($args, $filtres) {
|
|
|
11 |
return $args;
|
|
|
12 |
}
|
|
|
13 |
|
|
|
14 |
# les boutons admin sont mis d'autorite si absents
|
|
|
15 |
# donc une variable statique controle si FORMULAIRE_ADMIN a ete vu.
|
|
|
16 |
# Toutefois, si c'est le debuger qui appelle,
|
|
|
17 |
# il peut avoir recopie le code dans ses donnees et il faut le lui refounir.
|
|
|
18 |
# Pas question de recompiler: ca fait boucler !
|
|
|
19 |
# Le debuger transmet donc ses donnees, et cette balise y retrouve son petit.
|
|
|
20 |
|
|
|
21 |
function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') {
|
|
|
22 |
global $var_preview, $use_cache, $forcer_debug;
|
|
|
23 |
global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur;
|
|
|
24 |
static $dejafait = false;
|
|
|
25 |
|
|
|
26 |
if (!$GLOBALS['spip_admin'])
|
|
|
27 |
return '';
|
|
|
28 |
|
|
|
29 |
if (!is_array($debug)) {
|
|
|
30 |
if ($dejafait)
|
|
|
31 |
return '';
|
|
|
32 |
} else {
|
|
|
33 |
if ($dejafait) {
|
|
|
34 |
$res = '';
|
|
|
35 |
foreach($debug['sourcefile'] as $k => $v) {
|
|
|
36 |
if (strpos($v,'formulaire_admin.') !== false)
|
|
|
37 |
return $debug['resultat'][$k . 'tout'];
|
|
|
38 |
}
|
|
|
39 |
return '';
|
|
|
40 |
}
|
|
|
41 |
}
|
|
|
42 |
$dejafait = true;
|
|
|
43 |
|
|
|
44 |
// repartir de zero pour les boutons car clean_link a pu etre utilisee
|
|
|
45 |
$link = new Link();
|
|
|
46 |
$link->delVar('var_mode');
|
|
|
47 |
$link->delVar('var_mode_objet');
|
|
|
48 |
$link->delVar('var_mode_affiche');
|
|
|
49 |
$action = $link->getUrl();
|
|
|
50 |
$action = ($action . ((strpos($action, '?') === false) ? '?' : '&'));
|
|
|
51 |
|
|
|
52 |
// Ne pas afficher le bouton 'Modifier ce...' si l'objet n'existe pas
|
|
|
53 |
foreach (array('article', 'breve', 'rubrique', 'mot', 'auteur') as $type) {
|
|
|
54 |
$id_type = 'id_'.$type;
|
|
|
55 |
if (!($$id_type = intval($$id_type)
|
|
|
56 |
AND $s = spip_query(
|
|
|
57 |
"SELECT $id_type FROM spip_${type}s WHERE $id_type=".$$id_type)
|
|
|
58 |
AND spip_num_rows($s)))
|
|
|
59 |
$$id_type=0;
|
|
|
60 |
else {
|
|
|
61 |
$objet_affiche = $type;
|
|
|
62 |
break;
|
|
|
63 |
}
|
|
|
64 |
}
|
|
|
65 |
|
|
|
66 |
// Bouton statistiques
|
|
|
67 |
if (lire_meta("activer_statistiques") != "non"
|
|
|
68 |
AND $id_article
|
|
|
69 |
AND !$var_preview
|
|
|
70 |
AND ($GLOBALS['auteur_session']['statut'] == '0minirezo')) {
|
|
|
71 |
if ($s = spip_query("SELECT id_article
|
|
|
72 |
FROM spip_articles WHERE statut='publie'
|
|
|
73 |
AND id_article = $id_article")
|
|
|
74 |
AND spip_fetch_array($s)) {
|
|
|
75 |
include_local ("inc-stats.php3");
|
|
|
76 |
$r = afficher_raccourci_stats($id_article);
|
|
|
77 |
$visites = $r['visites'];
|
|
|
78 |
$popularite = $r['popularite'];
|
|
|
79 |
$statistiques = 'statistiques_visites.php3?'; # lien si connecte
|
|
|
80 |
}
|
|
|
81 |
}
|
|
|
82 |
|
|
|
83 |
// Bouton de debug
|
|
|
84 |
$debug = (
|
|
|
85 |
($forcer_debug
|
|
|
86 |
OR $GLOBALS['bouton_admin_debug']
|
|
|
87 |
OR ($GLOBALS['var_mode'] == 'debug'
|
|
|
88 |
AND $GLOBALS['_COOKIE']['spip_debug']
|
|
|
89 |
)) AND ($GLOBALS['code_activation_debug'] == 'oui'
|
|
|
90 |
OR $GLOBALS['auteur_session']['statut'] == '0minirezo')
|
|
|
91 |
AND !$var_preview
|
|
|
92 |
) ? 'debug' : '';
|
|
|
93 |
|
|
|
94 |
// hack - ne pas avoir la rubrique si un autre bouton est deja present
|
|
|
95 |
if ($id_article OR $id_breve) unset ($id_rubrique);
|
|
|
96 |
|
|
|
97 |
// Pas de "modifier ce..." ? -> donner "acces a l'espace prive"
|
|
|
98 |
if (!($id_article || $id_rubrique || $id_auteur || $id_breve || $id_mot))
|
|
|
99 |
$ecrire = 'ecrire';
|
|
|
100 |
|
|
|
101 |
// Bouton "preview" si l'objet demande existe et est previsualisable
|
|
|
102 |
if (!$GLOBALS['var_preview'] AND (
|
|
|
103 |
((lire_meta('preview')=='1comite'
|
|
|
104 |
AND $GLOBALS['auteur_session']['statut'] =='1comite')
|
|
|
105 |
OR (lire_meta('preview')<>''
|
|
|
106 |
AND $GLOBALS['auteur_session']['statut'] =='0minirezo'))
|
|
|
107 |
)) {
|
|
|
108 |
if ($objet_affiche == 'article'
|
|
|
109 |
OR $objet_affiche == 'breve'
|
|
|
110 |
OR $objet_affiche == 'rubrique')
|
|
|
111 |
if (spip_num_rows(spip_query(
|
|
|
112 |
"SELECT id_$objet_affiche FROM spip_".$objet_affiche."s
|
|
|
113 |
WHERE id_$objet_affiche=".${"id_".$objet_affiche}."
|
|
|
114 |
AND statut IN ('prop', 'prive')")))
|
|
|
115 |
$preview = 'preview';
|
|
|
116 |
}
|
|
|
117 |
|
|
|
118 |
return array('formulaire_admin', 0,
|
|
|
119 |
array(
|
|
|
120 |
'id_article' => $id_article,
|
|
|
121 |
'id_rubrique' => $id_rubrique,
|
|
|
122 |
'id_auteur' => $id_auteur,
|
|
|
123 |
'id_breve' => $id_breve,
|
|
|
124 |
'id_mot' => $id_mot,
|
|
|
125 |
'ecrire' => $ecrire,
|
|
|
126 |
'action' => $action,
|
|
|
127 |
'preview' => $preview,
|
|
|
128 |
'debug' => $debug,
|
|
|
129 |
'popularite' => ceil($popularite),
|
|
|
130 |
'statistiques' => $statistiques,
|
|
|
131 |
'visites' => intval($visites),
|
|
|
132 |
'use_cache' => ($use_cache ? ' *' : ''),
|
|
|
133 |
'floatdiv' => $float
|
|
|
134 |
)
|
|
|
135 |
);
|
|
|
136 |
}
|
|
|
137 |
?>
|