[ Index ]
 

Code source de SPIP 1.9.2c

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/ecrire/ -> index.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  
  14  // Placer definition des couleurs avant inc_version,
  15  // sinon impossible de les redefinir dans mes_options
  16  $GLOBALS['couleurs_spip'] = array(
  17  
  18  // Vert
  19  1 => array (
  20          "couleur_foncee" => "#9DBA00",
  21          "couleur_claire" => "#C5E41C",
  22          "couleur_lien" => "#657701",
  23          "couleur_lien_off" => "#A6C113"
  24          ),
  25  // Violet clair
  26  2 => array (
  27          "couleur_foncee" => "#eb68b3",
  28          "couleur_claire" => "#ffa9e6",
  29          "couleur_lien" => "#8F004D",
  30          "couleur_lien_off" => "#BE6B97"
  31          ),
  32  // Orange
  33  3 => array (
  34          "couleur_foncee" => "#fa9a00",
  35          "couleur_claire" => "#ffc000",
  36          "couleur_lien" => "#FF5B00",
  37          "couleur_lien_off" => "#B49280"
  38          ),
  39  // Saumon
  40  4 => array (
  41          "couleur_foncee" => "#CDA261",
  42          "couleur_claire" => "#FFDDAA",
  43          "couleur_lien" => "#AA6A09",
  44          "couleur_lien_off" => "#B79562"
  45          ),
  46  //  Bleu pastel
  47  5 => array (
  48          "couleur_foncee" => "#5da7c5",
  49          "couleur_claire" => "#97d2e1",
  50          "couleur_lien" => "#116587",
  51          "couleur_lien_off" => "#81B7CD"
  52          ),
  53  //  Gris
  54  6 => array (
  55          "couleur_foncee" => "#85909A",
  56          "couleur_claire" => "#C0CAD4",
  57          "couleur_lien" => "#3B5063",
  58          "couleur_lien_off" => "#6D8499"
  59          ),
  60  );
  61  
  62  
  63  if (!defined('_ECRIRE_INC_VERSION')) {
  64      include  'inc_version.php';
  65  }
  66  
  67  include_spip('inc/cookie');
  68  
  69  //
  70  // Determiner l'action demandee
  71  //
  72  
  73  $exec = _request('exec');
  74  
  75  //
  76  // Authentification, redefinissable
  77  //
  78  
  79  if (autoriser_sans_cookie($exec)) {
  80      if (!isset($reinstall)) $reinstall = 'non';
  81      $var_auth = true;
  82  } else {
  83      $auth = charger_fonction('auth', 'inc');
  84      $var_auth = $auth();
  85      if ($var_auth!=="") {
  86          if ($var_auth===-1) exit();
  87          include_spip('inc/headers');
  88          redirige_par_entete(generer_url_public('login',
  89              "url=" . 
  90              rawurlencode(str_replace('/./', '/',
  91                  (_DIR_RESTREINT ? "" : _DIR_RESTREINT_ABS)
  92                  . str_replace('&amp;', '&', self())))
  93          // $var_auth indique si c'est le statut qui est insuffisant
  94              . ((!isset($_GET['bonjour'])) ? ''
  95                  : (($var_auth == '6forum') ?
  96                   '&var_echec_visiteur=true'
  97                     : '&var_echec_cookie=true')),
  98                                 true));
  99      }
 100   }
 101  
 102  //
 103  // Preferences de presentation
 104  //
 105  
 106  
 107  if (!isset($GLOBALS['auteur_session']['prefs']))
 108      $GLOBALS['prefs'] = array('couleur' =>1, 'display'=>0, 
 109                'options'=> $var_auth ? 'avancees' : 'basiques');
 110  else $GLOBALS['prefs'] = unserialize($GLOBALS['auteur_session']['prefs']);
 111  
 112  $prefs_mod = false;
 113  
 114  if (isset($_GET['set_couleur'])) {
 115      $GLOBALS['prefs']['couleur'] = floor($_GET['set_couleur']);
 116      $prefs_mod = true;
 117  }
 118  if (isset($_GET['set_disp'])) {
 119      $GLOBALS['prefs']['display'] = floor($_GET['set_disp']);
 120      $prefs_mod = true;
 121  }
 122  if (isset($_GET['set_options']) AND ($_GET['set_options'] == 'avancees' OR $_GET['set_options'] == 'basiques')) {
 123      $GLOBALS['prefs']['options'] = $_GET['set_options'];
 124      $prefs_mod = true;
 125  }
 126  if ($prefs_mod AND !$var_auth)
 127      spip_query("UPDATE spip_auteurs SET prefs = " . _q(serialize($GLOBALS['prefs'])) . " WHERE id_auteur = " .intval($GLOBALS['auteur_session']['id_auteur']));
 128  
 129  if (isset($_GET['set_ecran'])) {
 130      // Poser un cookie,
 131      // car ce reglage depend plus du navigateur que de l'utilisateur
 132      $GLOBALS['spip_ecran'] = $_GET['set_ecran'];
 133      spip_setcookie('spip_ecran', $GLOBALS['spip_ecran'], time() + 365 * 24 * 3600);
 134   } else $GLOBALS['spip_ecran'] = isset($_COOKIE['spip_ecran']) ? $_COOKIE['spip_ecran'] : "etroit";
 135  
 136  
 137  // deux globales (compatibilite ascendante)
 138  $GLOBALS['options']      = $GLOBALS['prefs']['options'];
 139  $GLOBALS['spip_display'] = $GLOBALS['prefs']['display'];
 140  $choix_couleur = $GLOBALS['prefs']['couleur'];
 141  if (!isset($GLOBALS['couleurs_spip'][$choix_couleur])) $choix_couleur = 1;
 142  
 143  $GLOBALS['couleur_foncee'] = $GLOBALS['couleurs_spip'][$choix_couleur]['couleur_foncee'];
 144  $GLOBALS['couleur_claire'] = $GLOBALS['couleurs_spip'][$choix_couleur]['couleur_claire'];
 145  
 146  // charger l'affichage minimal et initialiser a la langue par defaut
 147  include_spip('inc/minipres');
 148  
 149  //  si la langue est specifiee par cookie alors ...
 150  if (isset($GLOBALS['_COOKIE']['spip_lang_ecrire'])) {
 151  
 152      $spip_lang_ecrire = $GLOBALS['_COOKIE']['spip_lang_ecrire'];
 153      // si pas authentifie, changer juste pour cette execution
 154      if ($var_auth)
 155          changer_langue($GLOBALS['_COOKIE']['spip_lang_ecrire']);
 156      // si authentifie, changer definitivement si ce n'est fait
 157      else {    if (($spip_lang_ecrire <> $GLOBALS['auteur_session']['lang'])
 158          AND changer_langue($spip_lang_ecrire)) {
 159              spip_query("UPDATE spip_auteurs SET lang = " . _q($spip_lang_ecrire) . " WHERE id_auteur = " . intval($GLOBALS['auteur_session']['id_auteur']));
 160              $GLOBALS['auteur_session']['lang'] = $var_lang_ecrire;
 161              $session = charger_fonction('session', 'inc');
 162              $session($GLOBALS['auteur_session']);
 163          }
 164      }
 165  }
 166  
 167  utiliser_langue_visiteur(); 
 168  
 169  define('_TRANCHES', 10);
 170  
 171  //
 172  // Gestion d'une page normale de l'espace prive
 173  //
 174  
 175  // Controle de la version, sauf si on est deja en train de s'en occuper
 176  if (!isset($reinstall)
 177  AND (!isset($var_ajaxcharset))
 178  AND ($GLOBALS['spip_version'] != (str_replace(',','.',$GLOBALS['meta']['version_installee']))))
 179      $exec = 'demande_mise_a_jour';
 180  
 181  // Si interruption d'une longue restauration
 182  // detourner le script demande pour qu'il reprenne le boulot
 183  // mais virer les Ajax pour eviter plusieurs restaurations en parallele
 184  elseif ($_COOKIE['spip_admin']
 185  AND isset($GLOBALS['meta']["debut_restauration"])) {
 186      if (isset($var_ajaxcharset)) exit;
 187      $exec = 'import_all';
 188  }
 189  
 190  // Verification des plugins
 191  // (ne pas interrompre une restauration ou un upgrade)
 192  elseif ($exec!='upgrade'
 193  AND $GLOBALS['auteur_session']['statut']=='0minirezo'
 194  AND !_DIR_RESTREINT
 195  AND lire_fichier(_DIR_TMP.'verifier_plugins.txt',$l)
 196  AND $l = @unserialize($l)) {
 197      foreach ($l as $fichier) {
 198          if (!@is_readable($fichier)) {
 199              include_spip('inc/plugin');
 200              verifie_include_plugins();
 201              break; // sortir de la boucle, on a fait un verif
 202          }
 203      }
 204  }
 205  
 206  // Passer la main aux outils XML a la demande.
 207  if (isset($GLOBALS['transformer_xml'])
 208  AND $GLOBALS['auteur_session']['statut']=='0minirezo') {
 209      set_request('var_url', $exec);
 210      $exec = $GLOBALS['transformer_xml'];
 211   }
 212  
 213  // si nom pas plausible, prendre le script par defaut
 214  if (!preg_match(',^[a-z_][0-9a-z_]*$,i', $exec)) $exec = "accueil";
 215  
 216  // Trouver la fonction eventuellement surchagee
 217  
 218  $var_f = charger_fonction($exec);
 219  
 220  // Feu !
 221  
 222  $var_f();
 223  
 224  ?>


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