function __construct() { $this->debug = $_GET['debug']; $this->MEM = core::cache()->factory(); $this->time_out = 30; // is used in fsockopen() $this->host_name = "localhost"; // is used in command $this->log_file = ""; $this->sock = FALSE; }
<?php /** * Vérification de la version de PHP */ if (version_compare(PHP_VERSION, '5.4.0', '<')) { die('PHP 5.4+ requis !'); } /** * Initialisation de ZwiiCMS */ require 'core/core.php'; $core = new core(); spl_autoload_register('core::autoload'); $core->router(); echo $core->cache();
/** * Crée la connexion entre les modules et le système afin d'afficher le contenu de la page */ public function router() { // Crée le dossier de cache si il n'existe pas if (!file_exists('core/cache/')) { mkdir('core/cache/'); } // Module système if (in_array($this->getUrl(0, false), self::$modules)) { // Si l'utilisateur est connecté le module système est retournée if ($this->getData(['config', 'password']) === $this->getCookie()) { $method = $this->getUrl(0, false); $this->{$method}(); // Passe en mode édition // Sauf pour le module de configuration et le gestionnaire de fichiers afin de ne pas changer de mode en cliquant sur leur lien dans le panneau admin if (!in_array($this->getUrl(0, false), ['config', 'files'])) { $this->setMode(true); } } else { $this->login(); } } elseif ($this->getData(['pages', $this->getUrl(0, false)])) { // Utilisateur non connecté et layout LAYOUT utilisé if (!$this->getCookie() and self::$layout === 'LAYOUT') { // Remplace les / de l'URL par des _ $url = str_replace('/', '_', $this->getUrl()); // Importe le fichier si il existe if (file_exists('core/cache/' . $url . '.html')) { require 'core/cache/' . $url . '.html'; exit; } else { ob_start(); } } // Importe le module de la page if ($this->getData(['pages', $this->getUrl(0), 'module'])) { $module = $this->getData(['pages', $this->getUrl(0), 'module']) . 'Mod'; $module = new $module(); $method = in_array($this->getUrl(1), $module::$views) ? $this->getUrl(1) : 'index'; $module->{$method}(); // Mise en cache en fonction du module self::$cache = $module::$cache; } // Passe en mode public $this->setMode(false); // Titre, contenu et description de la page self::$title = $this->getData(['pages', $this->getUrl(0, false), 'title']); self::$description = $this->getData(['pages', $this->getUrl(0, false), 'description']); self::$content = $this->getData(['pages', $this->getUrl(0, false), 'content']) . self::$content; } // Erreur 404 if (!self::$content) { http_response_code(404); self::$title = helper::translate('Erreur 404'); self::$content = '<p>' . helper::translate('Page introuvable !') . '</p>'; } // Choix du type de données à afficher switch (self::$layout) { // Affiche le layout case 'LAYOUT': // Description par défaut if (!self::$description) { self::$description = $this->getData(['config', 'description']); } // Importe le layout require 'core/layout.html'; break; // Affiche un tableau JSON // Affiche un tableau JSON case 'JSON': echo json_encode(self::$content); break; // Affiche une page vide // Affiche une page vide case 'BLANK': echo self::$content; break; } }