/** * 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']); }