Beispiel #1
0
 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;
 }
Beispiel #2
0
<?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();
Beispiel #3
0
 /**
  * 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;
     }
 }