[ Index ]
 

Code source de SPIP 1.9.2c

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/ecrire/inc/ -> admin.php (source)

   1  <?php
   2  
   3  /***************************************************************************\
   4   *  SPIP, Systeme de publication pour l'internet                           *
   5   *                                                                         *
   6   *  Copyright (c) 2001-2007                                                *
   7   *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
   8   *                                                                         *
   9   *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  10   *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
  11  \***************************************************************************/
  12  
  13  if (!defined("_ECRIRE_INC_VERSION")) return;
  14  
  15  // http://doc.spip.org/@fichier_admin
  16  function fichier_admin($action) {
  17      global $connect_login;
  18      return "admin_".substr(md5($action.(time() & ~2047).$connect_login), 0, 10);
  19  }
  20  
  21  // http://doc.spip.org/@debut_admin
  22  function debut_admin($script, $action, $commentaire='') {
  23      global $connect_login, $connect_statut, $connect_toutes_rubriques;
  24  
  25      if ((!$action) || ($connect_statut != "0minirezo")) {
  26          include_spip('inc/minipres');
  27          echo minipres(_T('info_acces_refuse'));
  28          exit;
  29      }
  30      if ($connect_toutes_rubriques) {
  31          $dir = _DIR_TMP;
  32      } else {
  33          $dir = _DIR_TRANSFERT . $connect_login . '/';
  34      }
  35  
  36      $signal = fichier_admin($action);
  37      if (@file_exists($dir . $signal)) {
  38          spip_log ("Action admin: $action");
  39          return true;
  40      }
  41      if ($commentaire) {
  42          include_spip('inc/texte');
  43          $commentaire = ("\n<p>".propre($commentaire)."</p>\n");
  44      }
  45  
  46      include_spip('inc/minipres');
  47  
  48  
  49      // Si on est un super-admin, un bouton de validation suffit
  50      // nom de l'autorisation a revoir... 'webmestre' veut tout et rien dire...
  51      if (autoriser('webmestre')) {
  52          if (_request('validation_admin') == $signal) {
  53              spip_log ("Action super-admin: $action");
  54              return true;
  55          }
  56          $form = $commentaire
  57              . "<form action='./' method='post'>"
  58              . copy_request($script)
  59              . '<input type="hidden" name="validation_admin" value="'.$signal.'" />'
  60              . bouton_suivant(_T('bouton_valider'))
  61          . "</form>";
  62          $js = '';
  63      }
  64  
  65      else {
  66          $form =  $commentaire
  67          . "<form action='./' method='post'>"
  68          . copy_request($script)
  69          . fieldset(_T('info_authentification_ftp').aide("ftp_auth"),
  70              array(
  71                  'fichier' => array(
  72                      'label' => _T('info_creer_repertoire'),
  73                      'valeur' => $signal
  74                      )),
  75              ('<br />'
  76               . _T('info_creer_repertoire_2', array('repertoire' => joli_repertoire($dir)))
  77               . bouton_suivant(_T('bouton_recharger_page'))))
  78          . "</form>";
  79          $js = " onload='document.forms[0].fichier.value=\"\";barre_inserer(\"$signal\", document.forms[0].fichier)'";
  80      }
  81  
  82      // code volontairement tordu:
  83      // provoquer la copie dans le presse papier du nom du repertoire
  84      // en remettant a vide le champ pour que ca marche aussi en cas
  85      // de JavaScript inactif.
  86      echo minipres(_T('info_action', array('action' => $action)),
  87           $form, $js);
  88      exit;
  89  }
  90  
  91  // http://doc.spip.org/@fin_admin
  92  function fin_admin($action) {
  93      global $connect_login, $connect_toutes_rubriques;
  94      if ($connect_toutes_rubriques) {
  95          $dir = _DIR_TMP;
  96      } else {
  97          $dir = _DIR_TRANSFERT . $connect_login . '/';
  98      }
  99      $signal = fichier_admin($action);
 100      @unlink($dir . $signal);
 101      @rmdir($dir . $signal);
 102  }
 103  
 104  
 105  // http://doc.spip.org/@copy_request
 106  function copy_request($script)
 107  {
 108      $hidden = ""; 
 109      $args = $_POST;
 110      $args['exec'] = $script;
 111      unset($args['fichier']);
 112          include_spip('inc/filtres');
 113      foreach($args as $n => $c) {
 114          $hidden .= "\n<input type='hidden' name='$n' value='" .
 115            entites_html($c) .
 116            "'  />";
 117      }
 118      return $hidden;
 119  }
 120  ?>


Généré le : Wed Nov 21 10:20:27 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics