File "formulaire_admin.php"
Full path: /home/argothem/www/SpipFactory-fichiers_de_travail/sauvegarde-depannage-1.9a3.2/1.9/ecrire/balise/formulaire_admin.php
File size: 6.31 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2006 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
function balise_FORMULAIRE_ADMIN ($p) {
return calculer_balise_dynamique($p,'FORMULAIRE_ADMIN', array());
}
# on ne peut rien dire au moment de l'execution du squelette
function balise_FORMULAIRE_ADMIN_stat($args, $filtres) {
return $args;
}
# les boutons admin sont mis d'autorite si absents
# donc une variable statique controle si FORMULAIRE_ADMIN a ete vu.
# Toutefois, si c'est le debuger qui appelle,
# il peut avoir recopie le code dans ses donnees et il faut le lui refounir.
# Pas question de recompiler: ca fait boucler !
# Le debuger transmet donc ses donnees, et cette balise y retrouve son petit.
function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') {
global $var_preview, $use_cache, $forcer_debug, $xhtml;
global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur, $id_syndic;
static $dejafait = false;
if (!$GLOBALS['spip_admin'])
return '';
if (!is_array($debug)) {
if ($dejafait)
return '';
} else {
if ($dejafait) {
$res = '';
foreach($debug['sourcefile'] as $k => $v) {
if (strpos($v,'formulaire_admin.') !== false)
return $debug['resultat'][$k . 'tout'];
}
return '';
}
}
$dejafait = true;
include_spip('inc/urls');
$objet_affiche = '';
// Ne pas afficher le bouton 'Modifier ce...' si l'objet n'existe pas
foreach (array('article', 'breve', 'rubrique', 'mot', 'auteur', 'syndic') as $type) {
$id_type = id_table_objet($type);
if ($n = intval($$id_type)) {
$s = spip_query("SELECT $id_type FROM spip_".table_objet($type)." WHERE $id_type=".$$id_type);
if ($s AND spip_num_rows($s)) {
$$id_type = $n;
$objet_affiche = $type;
break;
}
}
}
$statut = isset($GLOBALS['auteur_session']['statut']) ?
$GLOBALS['auteur_session']['statut'] : '';
// Bouton statistiques
$visites = $popularite = $statistiques = '';
if ($GLOBALS['meta']["activer_statistiques"] != "non"
AND $id_article
AND !$var_preview
AND $statut == '0minirezo'
) {
$result = spip_query("SELECT visites, popularite FROM spip_articles WHERE id_article=$id_article AND statut='publie'");
if ($row = @spip_fetch_array($result)) {
$visites = intval($row['visites']);
$popularite = ceil($row['popularite']);
$statistiques = str_replace('&', '&', generer_url_ecrire_statistiques($id_article));
}
}
// Bouton de debug
$debug =
(
( $forcer_debug
OR $GLOBALS['bouton_admin_debug']
OR (
$GLOBALS['var_mode'] == 'debug'
AND $GLOBALS['_COOKIE']['spip_debug']
)
) AND (
$statut == '0minirezo'
) AND (
!$var_preview
)
) ? parametre_url(self(),'var_mode', 'debug', '&'): '';
$analyser = !$xhtml ? "" :
(($xhtml === 'spip_sax') ?
(parametre_url(self(), 'var_mode', 'debug', '&')
.'&var_mode_affiche=validation') :
('http://validator.w3.org/check?uri='
. rawurlencode("http://" . $_SERVER['HTTP_HOST'] . nettoyer_uri())));
// hack - ne pas avoir la rubrique si un autre bouton est deja present
if ($id_article OR $id_breve) unset ($id_rubrique);
// Pas de "modifier ce..." ? -> donner "acces a l'espace prive"
if (!($id_article || $id_rubrique || $id_auteur || $id_breve || $id_mot || $id_syndic))
$ecrire = _DIR_RESTREINT_ABS;
else $ecrire = '';
// Bouton "preview" si l'objet demande existe et est previsualisable
$preview = false;
if (!$GLOBALS['var_preview'] AND (
(($GLOBALS['meta']['preview']=='1comite'
AND $statut =='1comite')
OR ($GLOBALS['meta']['preview']<>''
AND $statut =='0minirezo'))
)) {
$p = ($objet_affiche == 'article' AND $GLOBALS['meta']['post_dates'] != 'oui');
if ($objet_affiche == 'article'
OR $objet_affiche == 'breve'
OR $objet_affiche == 'rubrique'
OR $objet_affiche == 'syndic')
$preview = spip_num_rows(spip_query("SELECT id_$objet_affiche FROM spip_".table_objet($objet_affiche)." WHERE ".id_table_objet($objet_affiche)."=".$$id_type." AND ((statut IN ('prop', 'prive')) " . (!$p ? '' : "OR (statut='publie' AND date>NOW())") .")"));
}
//
// Regler les boutons dans la langue de l'admin (sinon tant pis)
//
include_spip('inc/lang');
include_spip('base/abstract_sql');
$login = preg_replace(',^@,','',$GLOBALS['spip_admin']);
$alang = spip_abstract_fetsel(array('lang'), array('spip_auteurs'),
array("login=" . spip_abstract_quote($login)));
if ($alang['lang']) {
lang_select($alang['lang']);
$lang = $GLOBALS['spip_lang'];
lang_dselect();
} else
$lang = '';
return array('formulaires/formulaire_admin', 0,
array(
'id_article' => $id_article,
'id_rubrique' => $id_rubrique,
'id_auteur' => $id_auteur,
'id_breve' => $id_breve,
'id_mot' => $id_mot,
'id_syndic' => $id_syndic,
'voir_article' => str_replace('&', '&', generer_url_ecrire_article($id_article, 'prop')),
'voir_breve' => str_replace('&', '&', generer_url_ecrire_breve($id_breve, 'prop')),
'voir_rubrique' => str_replace('&', '&', generer_url_ecrire_rubrique($id_rubrique, 'prop')),
'voir_mot' => str_replace('&', '&', generer_url_ecrire_mot($id_mot, 'prop')),
'voir_site' => str_replace('&', '&', generer_url_ecrire_site($id_syndic, 'prop')),
'voir_auteur' => str_replace('&', '&', generer_url_ecrire_auteur($id_auteur, 'prop')),
'ecrire' => $ecrire,
'action' => self(),
'preview' => $preview?parametre_url(self(),'var_mode','preview','&'):'',
'debug' => $debug,
'popularite' => $popularite,
'statistiques' => $statistiques,
'visites' => $visites,
'use_cache' => ($use_cache ? '' : ' *'),
'divclass' => $float,
'analyser' => $analyser,
'lang' => $lang,
'calcul' => (_request('var_mode') ? 'recalcul' : 'calcul'),
'xhtml_error' => isset($GLOBALS['xhtml_error']) ? $GLOBALS['xhtml_error'] : ''
)
);
}
?>