示例#1
0
 /**
  * Constructeur qui initialise certaines variables de classe
  * et qui lance le traitement initial
  *
  * @param	filename	emplacement du fichier XML de configuration
  * @return	null
  * @author	Anthony GUÉRIN, Florent MONTHEL, Stéphane F
  **/
 public function __construct($filename)
 {
     # Version de PluXml
     if (!is_readable(PLX_ROOT . 'version')) {
         header('Content-Type: text/plain charset=UTF-8');
         echo 'Le fichier "' . PLX_ROOT . 'version" est necessaire au fonctionnement de PluXml';
         exit;
     }
     $f = file(PLX_ROOT . 'version');
     $this->version = $f['0'];
     # Traitement initial
     $this->start = plxDate::microtime();
     $this->get = plxUtils::getGets();
     # On parse le fichier de configuration
     $this->getConfiguration($filename);
     # On vérifie s'il faut faire une mise à jour
     if ((!isset($this->aConf['version']) or $this->version != $this->aConf['version']) and !defined('PLX_UPDATER')) {
         header('Location: ' . PLX_ROOT . 'update/index.php');
         exit;
     }
     # Chargement des variables
     $this->racine = $this->aConf['racine'];
     $this->bypage = $this->aConf['bypage'];
     $this->tri = $this->aConf['tri'];
     $this->tri_coms = $this->aConf['tri_coms'];
     # On récupère le chemin de l'url
     $var = parse_url($this->racine);
     $this->path_url = str_replace(ltrim($var['path'], '\\/'), '', ltrim($_SERVER['REQUEST_URI'], '\\/'));
     # Definition du thème à afficher
     if (plxUtils::mobileDetect() and !empty($this->aConf['style_mobile']) and is_dir(PLX_ROOT . 'themes/' . $this->aConf['style_mobile'])) {
         $this->style = $this->aConf['style_mobile'];
     } else {
         $this->style = $this->aConf['style'];
     }
     # Traitement sur les répertoires des articles et des commentaires
     $this->plxGlob_arts = plxGlob::getInstance(PLX_ROOT . $this->aConf['racine_articles']);
     $this->plxGlob_coms = plxGlob::getInstance(PLX_ROOT . $this->aConf['racine_commentaires']);
     # On récupère les catégories et les pages statiques
     $this->getCategories(PLX_ROOT . $this->aConf['categories']);
     $this->getStatiques(PLX_ROOT . $this->aConf['statiques']);
     $this->getTags(PLX_ROOT . $this->aConf['tags']);
     $this->getUsers(PLX_ROOT . $this->aConf['users']);
 }