[ Index ]

PHP Cross Reference of GASELL SVN Trunk

title

Body

[close]

/gasell/ -> index.php (source)

   1  <?php
   2  /*
   3   * Gasell: Copyright 2005 Linux-Nantes Association <contact@linux-nantes.org>
   4   *
   5   * You should have received a copy of the GNU Public
   6   * License along with this package; if not, write to the
   7   * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
   8   * Boston, MA 02110, USA.
   9   *
  10   * Authors: Saint-Genest Gwenael (Hooligan0) <gwen@hooligan0.net>
  11   *           GrdScarabe <grdscarabe@grdscarabe.net>
  12   *
  13   * Histoire
  14   *  * 02/05/05 Hooligan0 : Ajout d'un switcheur de page pour permettre
  15   *      d'eviter les noms fixes de fichiers.
  16   *  * 27/05/04 Hooligan0 : Ajout des messages d'infos sur la page d'index.
  17   *  * 05/08/06 GrdScarabe : Menage dans le fichier ... index doit contenir le
  18   *   minimum de code possible et montrer les grandes lignes du chemin des 
  19   *   donnees definissant l'application
  20  */
  21  
  22  /* ............................................................. *
  23   * Mesure de protection contre les mauvaises configurations php  *
  24   * ............................................................. */
  25  if (isset($_REQUEST['GLOBALS'])) {
  26      echo '<a href="http://www.hardened-php.net/index.76.html">';
  27      echo "GLOBALS overwrite vulnerability</a>";
  28      die(-1);
  29  }
  30  
  31  
  32  /* .............................................................. *
  33   *  Definition de quelques constantes pour rester propre un max   *
  34   * .............................................................. */
  35  define("GASELL_BASE",          dirname(__FILE__) );
  36  define("GASELL_LIB",           GASELL_BASE . '/lib' );
  37  define("GASELL_EXTERNAL",      GASELL_BASE . '/external' );
  38  define("GASELL_TESTING",       GASELL_BASE . '/testing' );
  39  define("GASELL_CONFIG",        GASELL_BASE . '/config/conf.php' );
  40  define("GASELL_DEF_CONTROL",   GASELL_BASE . '/control/default');
  41  define("GASELL_DEF_TEMPLATES", GASELL_DEF_CONTROL . '/templates');
  42  define("GASELL_DEF_ACTIONS",   GASELL_DEF_CONTROL . '/actions');
  43  define("GASELL_DEF_GRAPHICS",  GASELL_DEF_CONTROL . '/graphics');
  44  define("GASELL_DEF_CSS",       GASELL_DEF_CONTROL . '/css');
  45  define("GASELL_DEF_JS",        GASELL_DEF_CONTROL . '/js');
  46  define("GASELL_DEF_PDF",       GASELL_DEF_CONTROL . '/pdf');
  47  
  48  /* .............................................................. *
  49   *       Lancement de la configuration de l'application           *
  50   * .............................................................. */
  51  
  52  if ( ! @is_readable(GASELL_CONFIG) ) {
  53      // il n'est pas possible de charger la configuration
  54      include GASELL_DEF_TEMPLATES . '/index/notconfigured.php';
  55      exit;
  56  } else {
  57      // chargement de la configuration
  58      require_once(GASELL_CONFIG);
  59  }
  60  
  61  /* on definit le repertoire des templates a partir de la config */
  62  if ( isset($conf['asso']['control']) ) {
  63      define("GASELL_CONTROL",   GASELL_BASE . '/control/' . $conf_control);
  64      define("GASELL_TEMPLATES", GASELL_CONTROL . '/templates' );
  65      define("GASELL_ACTIONS",   GASELL_CONTROL . '/actions' );
  66      define("GASELL_GRAPHICS",  GASELL_CONTROL . '/graphics');
  67      define("GASELL_CSS",       GASELL_CONTROL . '/css');
  68      define("GASELL_JS",        GASELL_CONTROL . '/js');
  69      define("GASELL_PDF",       GASELL_CONTROL . '/pdf');
  70  } else {
  71      define("GASELL_CONTROL",   GASELL_DEF_CONTROL);
  72      define("GASELL_TEMPLATES", GASELL_DEF_TEMPLATES );
  73      define("GASELL_ACTIONS",   GASELL_DEF_ACTIONS);
  74      define("GASELL_GRAPHICS",  GASELL_DEF_GRAPHICS);
  75      define("GASELL_CSS",       GASELL_DEF_CSS);
  76      define("GASELL_JS",        GASELL_DEF_JS);
  77      define("GASELL_PDF",       GASELL_DEF_PDF);
  78  }
  79  
  80  
  81  /* .............................................................. *
  82   *            Initialisation du gestionnaire d'erreurs            *
  83   * .............................................................. */
  84  require_once ( GASELL_LIB . '/Errors.php' );
  85  $EMS = new Errors();
  86  
  87  
  88  /* .............................................................. *
  89   *            Initialisation de la connexion a la BDD             *
  90   * .............................................................. */
  91  require_once( GASELL_LIB . '/Bdd2.php' );
  92  $DB = new Bdd2( $conf['bdd']['dsn'] , $EMS);
  93  
  94  
  95  /* .............................................................. *
  96   *            Nettoyage des donnees en POST et en GET             *
  97   * .............................................................. */
  98  
  99  // CODE A NETTOYER APRES L'IMPLEMENTATION DE SECUREDENVIRONMENT
 100  //$G_SECURED = new SecuredEnvironment();
 101  // set error reporting according to config settings
 102  @error_reporting($conf['debug_level']);
 103  // set max execution time according to config settings
 104  @set_time_limit($conf['max_exec_time']);
 105  // set the umask according to config settings
 106  if (isset($conf['umask']))
 107      umask($conf['umask']);
 108  /* Decomposition des parametres GET passes a la page dans un tableau        */
 109  parse_str($_SERVER['QUERY_STRING'], $query_tab);
 110  /* Sauvegarde des parametres POST pases a la page dans une variable         */
 111  $query_post = $_POST;
 112  
 113  
 114  /* ............................................................... *
 115   *    Demarrage de la session et verification authentification     *
 116   * ............................................................... */
 117  if (!isset($_SESSION)) { session_start(); }
 118  
 119  
 120  /* .............................................................. *
 121   *       Inclusion des dependances de base de l'application       *
 122   * .............................................................. */
 123  require_once( GASELL_LIB . '/Gasell.php' );
 124  $Gasell = new Gasell(NULL);
 125  
 126  /* .............................................................. *
 127   *                 Lancement du wrapper de pages                  *
 128   * .............................................................. */
 129  
 130  /* Extrait le nom de la page suivant qu'il soit passe en GET ou en POST  */
 131  if (isset($query_post['page']))
 132      $page = $query_post['page'];
 133  else if (isset($query_tab['page']))
 134      $page = $query_tab['page'];
 135  else
 136      $page = "_INDEX_";
 137  
 138  global $Gasell;
 139  $Gasell->setPage($page, $query_tab, $query_post);
 140  
 141  /* Fin explicite du script pour eviter des effets de bords sur autres pages  */
 142  exit;
 143  
 144  /* EOF */
 145  ?>


Generated: Tue Jan 6 01:17:25 2009 Cross-referenced by PHPXref 0.7