diff --git a/application/class/Application.php b/application/class/Application.php index 892752e..d67fa28 100644 --- a/application/class/Application.php +++ b/application/class/Application.php @@ -23,10 +23,6 @@ class Application public function launch() { - //on declare la session lors du chargement du controlleur, - // ainsi on instancie la page précédente et le javascript et le css asynchrone - \MVC\Object\Session::createAndTestSession(); - $controlleur = new Controlleur($this); //si la page n'est un controlleur d'action alors on affiche l'écran if (!$this->url->page['control']) { diff --git a/application/class/Asynchonous.php b/application/class/Asynchonous.php new file mode 100644 index 0000000..8063785 --- /dev/null +++ b/application/class/Asynchonous.php @@ -0,0 +1,38 @@ +_css = ""; + $this->_javascript = ""; + } + + public function addCss($code) + { + $this->_css .= "\n"; + $this->_css .= $code; + } + + public function addJs($code) + { + $this->_javascript .= "\n"; + $this->_javascript .= $code; + } + + public function printCss() + { + echo $this->_css; + } + + public function printJs() + { + echo $this->_javascript; + } +} diff --git a/application/class/Bdd.php b/application/class/Bdd.php index 4c8984d..0b3d3f0 100644 --- a/application/class/Bdd.php +++ b/application/class/Bdd.php @@ -6,7 +6,7 @@ class Bdd { public $bdd; - public function __construct($bdd = 'default') + public function __construct($bdd = 'bdd') { switch ($bdd) { case 'bdd1': diff --git a/application/class/Controlleur.php b/application/class/Controlleur.php index a61f38f..fa022fa 100644 --- a/application/class/Controlleur.php +++ b/application/class/Controlleur.php @@ -37,6 +37,15 @@ class Controlleur require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php'; } else { $this->modele = new Modele($application->url->page); + if(isset($this->modele->page['authentification']) && $this->modele->page['authentification'] == 'yes'){ + //on declare la session lors du chargement du controlleur, + // ainsi on instancie la page précédente et le javascript et le css asynchrone + \MVC\Object\Session::createAndTestSession(); + }else{ + \MVC\Object\Session::sessionStart(); + \MVC\Object\History::setPagePrecedente(); + \MVC\Object\Asynchronous::declare(); + } $this->vue = new Vue($this); } } diff --git a/application/class/Url.php b/application/class/Url.php index a96f5c2..7ba8aa7 100644 --- a/application/class/Url.php +++ b/application/class/Url.php @@ -192,8 +192,10 @@ class Url $scheme = 'http'; } $base_url = $scheme . "://" . $url; + $url = $base_url; }else{ $base_url = PATH_URL; + $url = $base_url . BASE_SERVER_DIRECTORY; } if ($isControlPatern) { $uri = self::controlLink_rewrite($page, $params); @@ -202,6 +204,10 @@ class Url } - return ( $base_url . BASE_SERVER_DIRECTORY . $uri); + return ( $url . $uri); + } + + public static function getBaseDirectory(){ + return '/' . BASE_SERVER_DIRECTORY; } } diff --git a/application/config/app-parameters.php.skel b/application/config/app-parameters.php.skel index 95e27fd..3fb557b 100644 --- a/application/config/app-parameters.php.skel +++ b/application/config/app-parameters.php.skel @@ -7,7 +7,6 @@ define("BASE_SERVER_DIRECTORY", ""); // Optionnel! il n'est nécessaire que si vous l'utilisez dans les fichiers de traitement ou dans une commande console -// si vous l'utilisez dans les fichiers de traitement -> il est plus simple d'utiliser l'Objet page précédente -define('PATH_URL',"http://www.domain.org"); +define('PATH_URL',"http://www.domain.org/"); define('ENV', "DEV"); \ No newline at end of file diff --git a/application/include/conduits/DocConduit.php b/application/include/conduits/DocConduit.php index a77e0db..d703dc3 100644 --- a/application/include/conduits/DocConduit.php +++ b/application/include/conduits/DocConduit.php @@ -8,7 +8,7 @@ class DocConduit extends Conduit // Route('/docs') public function index() { - + \MVC\Object\Session::createAndTestSession(); $files = array(); if ($handle = opendir(DATA_PATH . '/docs')) { @@ -36,7 +36,7 @@ class DocConduit extends Conduit // Route('/docs/file/{file}') public function readfile() { - + \MVC\Object\Session::createAndTestSession(); $markdown = file_get_contents(DATA_PATH . '/docs/' . $this->file); $my_html = MarkdownExtra::defaultTransform($markdown); diff --git a/application/include/conduits/FooConduit.php b/application/include/conduits/FooConduit.php index dcefa6b..c76652f 100644 --- a/application/include/conduits/FooConduit.php +++ b/application/include/conduits/FooConduit.php @@ -8,6 +8,7 @@ class FooConduit extends Conduit // Route('/foo') public function index() { + \MVC\Object\Session::createAndTestSession(); echo "blob of foo"; return $this->render('foo', array('page_title' => 'Foo', 'description' => 'FooConduit')); } @@ -15,6 +16,7 @@ class FooConduit extends Conduit // Route('/foo/{id}') public function load() { + \MVC\Object\Session::createAndTestSession(); echo "load of foo"; return $this->render('foo', array('page_title' => 'Foo', 'description' => 'FooConduit', 'id' => $this->id)); } diff --git a/application/include/conduits/IndexConduit.php b/application/include/conduits/IndexConduit.php index 2dbe1e5..83deef3 100644 --- a/application/include/conduits/IndexConduit.php +++ b/application/include/conduits/IndexConduit.php @@ -8,6 +8,7 @@ class IndexConduit extends Conduit // Route('/') public function homepage() { + \MVC\Object\Session::createAndTestSession(); echo "IndexControlleur"; return $this->render('index', array("templating_a"=>'blade',"templating_b"=>'twig',"templating_c"=>'edge')); } diff --git a/application/include/modeles/admin.model b/application/include/modeles/admin.model index 7eb9635..358c598 100644 --- a/application/include/modeles/admin.model +++ b/application/include/modeles/admin.model @@ -1,6 +1,10 @@ name : admin page_title : Administration de l'application description : Administration de l'application -engine : blade -params : params + +engine : blade +authentification : yes + +ariane : {acceuil} +arianelink : {index} diff --git a/application/include/modeles/beers.model b/application/include/modeles/beers.model index e4f701c..aa74e28 100644 --- a/application/include/modeles/beers.model +++ b/application/include/modeles/beers.model @@ -1,5 +1,10 @@ name : beers page_title : module_title description : module_description -params : module_params + +engine : blade +authentification : yes + +ariane : {acceuil} +arianelink : {index} diff --git a/application/include/modeles/cgu.model b/application/include/modeles/cgu.model index d828d46..37c0780 100644 --- a/application/include/modeles/cgu.model +++ b/application/include/modeles/cgu.model @@ -1,5 +1,9 @@ name : cgu page_title: Conditions Générale d'Utilisation de l'application description : abracadabla + engine : blade -params : params +authentification : yes + +ariane : {acceuil} +arianelink : {index} diff --git a/application/include/modeles/donate.model b/application/include/modeles/donate.model index 1abd3e2..3aa36c7 100644 --- a/application/include/modeles/donate.model +++ b/application/include/modeles/donate.model @@ -1,5 +1,10 @@ name : donate page_title : Be a sponsor description : Page permettant de devenir un sponsor du framework SAND -params : module_params + +engine : blade +authentification : yes + +ariane : {acceuil} +arianelink : {index} diff --git a/application/include/modeles/error-access-denied.model b/application/include/modeles/error-access-denied.model index 9c3ae8e..0ff7f6f 100644 --- a/application/include/modeles/error-access-denied.model +++ b/application/include/modeles/error-access-denied.model @@ -1,5 +1,10 @@ name : error-access-denied page_title : Page 403 (Accès restreint) de l'application description : Page 403 (Accès restreint) de l'application -params : module_params + +engine : blade +authentification : no + +ariane : {acceuil} +arianelink : {index} diff --git a/application/include/modeles/error.model b/application/include/modeles/error.model index b1f0268..5f11e6a 100644 --- a/application/include/modeles/error.model +++ b/application/include/modeles/error.model @@ -1,4 +1,9 @@ name : error page_title: Page 404 (Page Non Trouvé) de l'application description : Page 404 (Page Non Trouvé) de l'application -params : params + +engine : blade +authentification : no + +ariane : {acceuil} +arianelink : {index} diff --git a/application/include/modeles/gitlist.model b/application/include/modeles/gitlist.model index e141648..223682b 100644 --- a/application/include/modeles/gitlist.model +++ b/application/include/modeles/gitlist.model @@ -1,5 +1,10 @@ name : gitlist page_title : Dépot Git description : Le dépot de travail du framework -engine: blade + +engine : blade +authentification : yes + +ariane : {acceuil, dépot git du framework} +arianelink : {index, gitlist} diff --git a/application/include/modeles/index.model b/application/include/modeles/index.model index b503377..28294d9 100644 --- a/application/include/modeles/index.model +++ b/application/include/modeles/index.model @@ -1,7 +1,10 @@ name : index page_title : Accueil de l'application description : zatou stra bracadabla + engine : blade +authentification : yes + ariane : {acceuil} arianelink : {index} diff --git a/application/include/modeles/policy.model b/application/include/modeles/policy.model index 77af2b9..5d23f08 100644 --- a/application/include/modeles/policy.model +++ b/application/include/modeles/policy.model @@ -1,5 +1,9 @@ name : policy page_title: Politique de Confidentialité de l'application description : abracadabla + engine : blade -params : params +authentification : yes + +ariane : {acceuil} +arianelink : {index} diff --git a/application/include/vues/layout/body.blade.php b/application/include/vues/layout/body.blade.php index 68ef57e..5414b10 100644 --- a/application/include/vues/layout/body.blade.php +++ b/application/include/vues/layout/body.blade.php @@ -64,7 +64,7 @@