From 364f2c050b020dc3e1cab874f3b1a0eddda5f8b8 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Mon, 8 Feb 2016 22:43:35 +0100 Subject: [PATCH] - [x] [ResourceDispatcher] Modification du gestionnaire de ressource car ne marche pas en ligne --- config/database.json | 2 +- index.php | 2 +- manager/Database.php | 4 ++-- manager/ModuleRequest.php | 2 +- manager/ResourceDispatcher.php | 43 +++++++++++++++++++++++++++------- test.php | 23 ++++++++++++++++++ todo.md | 4 ++-- view.php | 12 +++++----- 8 files changed, 70 insertions(+), 22 deletions(-) create mode 100644 test.php diff --git a/config/database.json b/config/database.json index 2ca9745..fe15446 100755 --- a/config/database.json +++ b/config/database.json @@ -1,5 +1,5 @@ { - "host" : "sql31.free-h.org:3306", + "host" : "sql31.free-h.org", "dbname" : "stefproject", "user" : "php", "password" : "Hx2c#e77" diff --git a/index.php b/index.php index ec47c03..a06b3ab 100755 --- a/index.php +++ b/index.php @@ -42,7 +42,7 @@ // $R->get('settings/', function(){ include __ROOT__.'/view.php'; }); // Dispatcher - $R->get('f(?:/([\w-]+))*/?', function(){ new \manager\ResourceDispatcher($_GET['url']); }); + $R->get('f(?:/([\w-]+))*/?', function(){ new \manager\ResourceDispatcher($_GET['url'], true); }); // Api $R->post('api/?', function(){ diff --git a/manager/Database.php b/manager/Database.php index 64072ff..7adf270 100755 --- a/manager/Database.php +++ b/manager/Database.php @@ -6,7 +6,7 @@ class DataBase{ /* ATTRIBUTS STATIQUES */ - public static $config_path = array('/f/json/database/conf', '/f/json/database-local/conf'); + public static $config_path = array('f/json/database/conf', 'f/json/database-local/conf'); private static $pdo; private static $instance; @@ -34,7 +34,7 @@ if( self::$instance == null ){ // chargement de la configuration du server SQL - if( $_SERVER['HTTP_HOST'] == 'stefprojectv2' ) + if( $_SERVER['HTTP_HOST'] != 'stefprojectv2' ) $conf = json_decode( ResourceDispatcher::getResource(self::$config_path[0]), true ); else $conf = json_decode( ResourceDispatcher::getResource(self::$config_path[1]), true ); diff --git a/manager/ModuleRequest.php b/manager/ModuleRequest.php index b067733..5ef6e9e 100755 --- a/manager/ModuleRequest.php +++ b/manager/ModuleRequest.php @@ -17,7 +17,7 @@ class ModuleRequest{ // Constantes - public static $config_path = '/f/json/modules/conf'; + public static $config_path = 'f/json/modules/conf'; // Attributs prives utiles (initialisation) diff --git a/manager/ResourceDispatcher.php b/manager/ResourceDispatcher.php index 24d6852..66255f5 100755 --- a/manager/ResourceDispatcher.php +++ b/manager/ResourceDispatcher.php @@ -22,15 +22,19 @@ /* CONSTRUCTEUR & AMORCAGE DU DISPATCHER * * @url L'url courante + * @view Si VRAI, retourne header+contenu, sinon cree juste l'objet * * @return status Retourne si oui ou non tout s'est bien passe * */ - public function __construct($url){ + public function __construct($url, $view=false){ + $this->error = ManagerError::Success; + + /* [0] On met a jour la configuration =====================================================*/ // Extensions supportees - $extensions_conf = json_decode( file_get_contents('http://'.$_SERVER['HTTP_HOST'].self::$extension_config_path), true ); + $extensions_conf = json_decode( file_get_contents(__ROOT__.self::$extension_config_path), true ); // Gestion de l'erreur de parsage if( $extensions_conf == null ){ @@ -41,7 +45,7 @@ self::$supported_extensions = $extensions_conf; // Dossiers supportes - $parents_conf = json_decode( file_get_contents('http://'.$_SERVER['HTTP_HOST'].self::$parents_config_path), true ); + $parents_conf = json_decode( file_get_contents(__ROOT__.self::$parents_config_path), true ); // Gestion de l'erreur de parsage if( $parents_conf == null ){ @@ -72,11 +76,12 @@ return false; } - /* [4] On gere l'affichage pour l'appel externe + /* [4] On gere l'affichage pour l'appel externe/interne ==================================================*/ - $this->view(); + if( $view ) // Appel externe + $this->view(); - $this->error = ManagerError::Success; + return true; } @@ -90,7 +95,8 @@ * */ public static function getResource($route){ - return file_get_contents('http://'.$_SERVER['HTTP_HOST'].$route); + $instance = new ResourceDispatcher($route); + return $instance->getContent(); } @@ -197,7 +203,7 @@ /* [6] On retourne si le fichier existe ou non ==========================================================*/ - return file_exists( $this->path ); + return @file_get_contents( $this->path ) != false; } @@ -208,11 +214,30 @@ * */ public function view(){ + // S'il y a eu une erreur en amont + if( $this->error != ManagerError::Success ) + return false; // on retourne faux + // On definit le header header('Content-Type: '.$this->header); // On inclut le contenu - include $this->path; + echo file_get_contents($this->path); + } + + + + /* FUNCTION QUI RETOURNE LE CONTENU DE LA RESSOURCE EN QUESTION + * + */ + public function getContent(){ + // S'il y a eu une erreur en amont + if( $this->error != ManagerError::Success ) + return false; // on retourne faux + + + // On inclut le contenu + return file_get_contents($this->path); } diff --git a/test.php b/test.php new file mode 100644 index 0000000..b238af6 --- /dev/null +++ b/test.php @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/todo.md b/todo.md index 635be37..1060517 100755 --- a/todo.md +++ b/todo.md @@ -13,8 +13,7 @@ ############ # EN COURS # ############ - -- [ ] [/users/view] Affichage basique de liste d'elements complexes (users/machines/journal, ...) +- [.] [/users/view] Affichage basique de liste d'elements complexes (users/machines/journal, ...) - [x] Conception BDD + ameliorations - [x] Liste des tables - [x] Liste de attributs @@ -32,6 +31,7 @@ ######## # FAIT # ######## +- [x] [ResourceDispatcher] Modification du gestionnaire de ressource car ne marche pas en ligne - [x] [css/container.css + js/action-script.js] Gestion de l'affichage de la page associee au sous-menu (.active) - [x] [view/*.php] Modification des views - [x] Mise a jour / Modification / Correction des images du menu-side diff --git a/view.php b/view.php index f06c41c..6c2a1c5 100755 --- a/view.php +++ b/view.php @@ -42,15 +42,15 @@