[ Index ]
 

Code source de SPIP 1.8.3

Accédez au Source d'autres logiciels libres | Soutenez Angelica Josefina !

title

Body

[fermer]

/formulaires/ -> inc-formulaire_admin.php3 (source)

   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, $xhtml;
  23      global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur, $id_syndic;
  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', 'syndic') as $type) {
  54          $id_type = id_table_objet($type);
  55          if (!($$id_type = intval($$id_type)
  56          AND $s = spip_query(
  57          "SELECT $id_type FROM spip_".table_objet($type)."
  58          WHERE $id_type=".$$id_type)
  59          AND spip_num_rows($s)))
  60              $$id_type=0;
  61          else {
  62              $objet_affiche = $type;
  63              break;
  64          }
  65      }
  66  
  67      // Bouton statistiques
  68      if (lire_meta("activer_statistiques") != "non" 
  69      AND $id_article
  70      AND !$var_preview
  71      AND ($GLOBALS['auteur_session']['statut'] == '0minirezo')) {
  72          if ($s = spip_query("SELECT id_article
  73          FROM spip_articles WHERE statut='publie'
  74          AND id_article = $id_article")
  75          AND spip_fetch_array($s)) {
  76              include_local ("inc-stats.php3");
  77              $r = afficher_raccourci_stats($id_article);
  78              $visites = $r['visites'];
  79              $popularite = $r['popularite'];
  80              $statistiques = 'statistiques_visites.php3?'; # lien si connecte
  81          }
  82      }
  83  
  84      // Bouton de debug
  85      $debug = (($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      $analyser = !$xhtml ? "" :
  94        (($xhtml === 'spip_sax') ?
  95         ($action . "var_mode=debug&var_mode_affiche=validation") :
  96         $GLOBALS['xhtml_check']); // cas tidy
  97      // hack - ne pas avoir la rubrique si un autre bouton est deja present
  98      if ($id_article OR $id_breve) unset ($id_rubrique);
  99  
 100      // Pas de "modifier ce..." ? -> donner "acces a l'espace prive"
 101      if (!($id_article || $id_rubrique || $id_auteur || $id_breve || $id_mot || $id_syndic))
 102          $ecrire = 'ecrire';
 103  
 104      // Bouton "preview" si l'objet demande existe et est previsualisable
 105      if (!$GLOBALS['var_preview'] AND (
 106      ((lire_meta('preview')=='1comite'
 107          AND $GLOBALS['auteur_session']['statut'] =='1comite')
 108      OR (lire_meta('preview')<>''
 109          AND $GLOBALS['auteur_session']['statut'] =='0minirezo'))
 110      )) {
 111          if ($objet_affiche == 'article'
 112          OR $objet_affiche == 'breve'
 113          OR $objet_affiche == 'rubrique'
 114          OR $objet_affiche == 'syndic')
 115              if (spip_num_rows(spip_query(
 116              "SELECT id_$objet_affiche FROM spip_".table_objet($objet_affiche)."
 117              WHERE ".id_table_objet($objet_affiche)."=".$$id_type."
 118              AND statut IN ('prop', 'prive')")))
 119                  $preview = 'preview';
 120      }
 121  
 122      return array('formulaire_admin', 0,
 123              array(
 124                  'id_article' => $id_article,
 125                  'id_rubrique' => $id_rubrique,
 126                  'id_auteur' => $id_auteur,
 127                  'id_breve' => $id_breve,
 128                  'id_mot' => $id_mot,
 129                  'id_syndic' => $id_syndic,
 130                  'ecrire' => $ecrire,
 131                  'action' => $action,
 132                  'preview' => $preview,
 133                  'debug' => $debug,
 134                  'popularite' => ceil($popularite),
 135                  'statistiques' => $statistiques,
 136                  'visites' => intval($visites),
 137                  'use_cache' => ($use_cache ? ' *' : ''),
 138                  'divclass' => $float,
 139                  'analyser' => $analyser,
 140                  'xhtml_error' => $GLOBALS['xhtml_error']
 141              )
 142          );
 143  }
 144  ?>


Généré le : Thu Feb 22 22:27:47 2007 par Balluche grâce à PHPXref 0.7