]> _ Git - cubedesigners-v7.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 17 Feb 2014 10:51:40 +0000 (10:51 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 17 Feb 2014 10:51:40 +0000 (10:51 +0000)
framework/application/Bootstrap.php
framework/application/controllers/StudiesController.php

index 2ed073dc1a9a97f20baf894e61880285d087e82a..fe6c5a0d4295e7a192a5e6926b03189e0f2e3728 100644 (file)
 
 class Bootstrap extends CubeIT_Bootstrap {
 
-    protected function _initMinimum() {
-        parent::_initMinimum();
-        // If a project with html display (don't activate by default for web services apps
-        $this->bootstrap('doctype');
-        $this->bootstrap('scripts');
-    }
-
-    protected function _initScripts() {
-        parent::_initScripts();
-        $this->getView()->headLink()->appendStylesheet('/css/fonts/fonts.css');
-        $this->getView()->headScript()->addTagHandler();
-    }
-
-    protected function _initRouter($initCms = true) {
-        $router = parent::_initRouter($initCms);
-        return $router;
-    }
-
-    /**
-     *
-     * @param \Doctrine\DBAL\Schema\Schema  $schema
-     * @param array $options
-     */
-    protected function _defineSchema(&$schema, $options) {
-        parent::_defineSchema($schema, $options);
-
-        $user = $schema->createTable('user');
-        $user->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
-        $user->setPrimaryKey(array('id'));
-        $user->addColumn('username', 'string', array('length' => 64));
-        $user->addUniqueIndex(array('username'));
-        $user->addColumn('password', 'string', array('length' => 255));
-        $user->addColumn('role', 'string', array('length' => 32));
-
-        $tags = $schema->createTable('tags');
-        $tags->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
-        $tags->setPrimaryKey(array('id'));
-        $tags->addColumn('name', 'string', array('length' => 64));
-
-        $casestudies = $schema->createTable('casestudies');
-        $casestudies->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
-        $casestudies->setPrimaryKey(array('id'));
-        $casestudies->addColumn('online', 'boolean');
-        $casestudies->addColumn('titre', 'text');
-        $casestudies->addColumn('description', 'text');
-        $casestudies->addColumn('url', 'text');
-        $casestudies->addColumn('visuel', 'string', array('length' => 128));
-        $casestudies->addColumn('visuel_detail', 'string', array('length' => 128));
-        $casestudies->addColumn('legende', 'text');
-        $casestudies->addColumn('couleur', 'text');
-        $casestudies->addColumn('blocs', 'text');
-        $casestudies->addColumn('tags', 'text');
-
-
-        $realisations = $schema->createTable('realisations');
-        $realisations->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
-        $realisations->setPrimaryKey(array('id'));
-        $realisations->addColumn('titre', 'text');
-        $realisations->addColumn('legende', 'text');
-        $realisations->addColumn('agence', 'text');
-        $realisations->addColumn('description', 'text');
-        $realisations->addColumn('url', 'text');
-        $realisations->addColumn('visuel', 'string', array('length' => 128));
-        $realisations->addColumn('visuel_detail', 'text');
-        $realisations->addColumn('tags', 'text');
-    }
-
-    protected function _initAcl() {
-        $acl = parent::_initAcl();
-        return $acl;
-    }
-
-    protected function _makeNavigationOnePage(&$navigation, $r, $t, $isAdmin, $locale = false) {
-        $page = parent::_makeNavigationOnePage($navigation, $r, $t, $isAdmin, $locale);
-
-        if (!$page) {
-            return;
-        }
-
-        if ($page->getTemplate() == 'casestudies') {
-            $this->addStudiesPages($page);
-        }
-
-        if ($page->getTemplate() == 'realisations') {
-            $this->addRealisationsPages($page);
-        }
-    }
-
-    /**
-     *
-     * @param CubeIT_Navigation_Page_Locale $page
-     */
-    protected function addRealisationsPages($page) {
-
-        $datas = $this->getCMSDatasOfNavigationPage($page);
-        //fb($datas);
-        $db = Zend_Db_Table::getDefaultAdapter();
-        $s = $db->select()->from('realisations')
-                ->order('id ASC');
-        $q = $s->query();
-
-        while ($r = $q->fetch()) {
-            if ($r->titre == '') {
-                continue;
-            }
-            $p = new CubeIT_Navigation_Page_Locale();
-            $p->setController('Realisations');
-            $p->setId($page->getId() . '/' . $r->id);
-            $p->setAutoUri($r, $datas['seourl_rea'], $page->getLocale());
-            $p->setSitemap(true);
-            $p->setEditable(false);
-            $p->setDomain($page->getDomain());
-            $p->setLabel($r->titre);
-            $page->addPage($p);
-        }
-    }
-
-    /**
-     *
-     * @param CubeIT_Navigation_Page_Locale $page
-     */
-    protected function addStudiesPages($page) {
-        $datas = $this->getCMSDatasOfNavigationPage($page);
-        //fb($datas);
-        $db = Zend_Db_Table::getDefaultAdapter();
-        $s = $db->select()->from('casestudies')
-                ->order('id ASC');
-        $q = $s->query();
-
-        fb($page->getLocale());
-
-        while ($r = $q->fetch()) {
-            if ($r->titre == '') {
-                continue;
-            }
-            $p = new CubeIT_Navigation_Page_Locale();
-            $p->setController('Studies');
-            $p->setId($page->getId() . '/' . $r->id);
-            $p->setAutoUri($r, $datas['seourl_stu'], $page->getLocale());
-            $p->setSitemap(true);
-            $p->setEditable(false);
-
-            if ($r->online != 1)
-                $p->setOnline(false);
-
-            $p->setDomain($page->getDomain());
-            $p->setLabel($r->titre);
-            $page->addPage($p);
-        }
-    }
-
-    /**
-     *
-     * @return array
-     */
-    public function getCMSTemplates() {
-        $templates = parent::getCMSTemplates();
-
-        $templates['Agence'] = array("agence" => "L'agence");
-        $templates['Realisations'] = array('realisations' => 'Réalisations');
-        $templates['Casestudies'] = array('casestudies' => 'Case-Studies');
-        $templates['CasestudiesDetail'] = array('casestudies_detail' => 'Case-Studies (détail)');
-        $templates['Expertises'] = array('expertises' => 'Expertises');
-        $templates['Contact'] = array('contact' => 'Contact');
-        $templates['Mentions'] = array('mentions' => 'Mentions légales');
-
-        return $templates;
-    }
-
-    public function run() {
-        // run have to be the last call of bootstrap
-        parent::run();
-    }
-
-    function __destroy() {
-        endProfile();
-    }
+       protected function _initMinimum() {
+               parent::_initMinimum();
+               // If a project with html display (don't activate by default for web services apps
+               $this->bootstrap('doctype');
+               $this->bootstrap('scripts');
+       }
+
+       protected function _initScripts() {
+               parent::_initScripts();
+               $this->getView()->headLink()->appendStylesheet('/css/fonts/fonts.css');
+               $this->getView()->headScript()->addTagHandler();
+       }
+
+       protected function _initRouter($initCms = true) {
+               $router = parent::_initRouter($initCms);
+               return $router;
+       }
+
+       /**
+        *
+        * @param \Doctrine\DBAL\Schema\Schema  $schema
+        * @param array $options
+        */
+       protected function _defineSchema(&$schema, $options) {
+               parent::_defineSchema($schema, $options);
+
+               $user = $schema->createTable('user');
+               $user->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
+               $user->setPrimaryKey(array('id'));
+               $user->addColumn('username', 'string', array('length' => 64));
+               $user->addUniqueIndex(array('username'));
+               $user->addColumn('password', 'string', array('length' => 255));
+               $user->addColumn('role', 'string', array('length' => 32));
+
+               $tags = $schema->createTable('tags');
+               $tags->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
+               $tags->setPrimaryKey(array('id'));
+               $tags->addColumn('name', 'string', array('length' => 64));
+
+               $casestudies = $schema->createTable('casestudies');
+               $casestudies->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
+               $casestudies->setPrimaryKey(array('id'));
+               $casestudies->addColumn('online', 'boolean');
+               $casestudies->addColumn('titre', 'text');
+               $casestudies->addColumn('description', 'text');
+               $casestudies->addColumn('url', 'text');
+               $casestudies->addColumn('visuel', 'string', array('length' => 128));
+               $casestudies->addColumn('visuel_detail', 'string', array('length' => 128));
+               $casestudies->addColumn('legende', 'text');
+               $casestudies->addColumn('couleur', 'text');
+               $casestudies->addColumn('blocs', 'text');
+               $casestudies->addColumn('tags', 'text');
+
+
+               $realisations = $schema->createTable('realisations');
+               $realisations->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
+               $realisations->setPrimaryKey(array('id'));
+               $realisations->addColumn('titre', 'text');
+               $realisations->addColumn('legende', 'text');
+               $realisations->addColumn('agence', 'text');
+               $realisations->addColumn('description', 'text');
+               $realisations->addColumn('url', 'text');
+               $realisations->addColumn('visuel', 'string', array('length' => 128));
+               $realisations->addColumn('visuel_detail', 'text');
+               $realisations->addColumn('tags', 'text');
+       }
+
+       protected function _initAcl() {
+               $acl = parent::_initAcl();
+               return $acl;
+       }
+
+       protected function _makeNavigationOnePage(&$navigation, $r, $t, $isAdmin, $locale = false) {
+               $page = parent::_makeNavigationOnePage($navigation, $r, $t, $isAdmin, $locale);
+
+               if (!$page) {
+                       return;
+               }
+
+               if ($page->getTemplate() == 'casestudies') {
+                       $this->addStudiesPages($page, $locale);
+               }
+
+               if ($page->getTemplate() == 'realisations') {
+                       $this->addRealisationsPages($page, $locale);
+               }
+       }
+
+       /**
+        *
+        * @param CubeIT_Navigation_Page_Locale $page
+        */
+       protected function addRealisationsPages($page, $locale) {
+
+               $datas = $this->getCMSDatasOfNavigationPage($page);
+               //fb($datas);
+               $db = Zend_Db_Table::getDefaultAdapter();
+               $s = $db->select()->from('realisations')
+                               ->order('id ASC');
+               $q = $s->query();
+
+               while ($r = $q->fetch()) {
+                       $r = CubeIT_Util_Cms::unserialize($r, $locale);
+                       if ($r->titre == '') {
+                               continue;
+                       }
+                       $p = new CubeIT_Navigation_Page_Locale();
+                       $p->setController('Realisations');
+                       $p->setId($page->getId() . '/' . $r->id);
+                       $p->setAutoUri($r, $datas['seourl_rea'], $page->getLocale());
+                       $p->setSitemap(true);
+                       $p->setEditable(false);
+                       $p->setDomain($page->getDomain());
+                       $p->setLabel($r->titre);
+                       $p->setParams(array('realisation_id' => $r->id));
+                       $page->addPage($p);
+               }
+       }
+
+       /**
+        *
+        * @param CubeIT_Navigation_Page_Locale $page
+        */
+       protected function addStudiesPages($page, $locale) {
+               $datas = $this->getCMSDatasOfNavigationPage($page);
+               $db = Zend_Db_Table::getDefaultAdapter();
+               $s = $db->select()->from('casestudies')
+                               ->order('id ASC');
+               $q = $s->query();
+
+               while ($r = $q->fetch()) {
+                       $r = CubeIT_Util_Cms::unserialize($r, $locale);
+                       if ($r->titre == '') {
+                               continue;
+                       }
+                       $p = new CubeIT_Navigation_Page_Locale();
+                       $p->setController('Studies');
+                       $p->setId($page->getId() . '/' . $r->id);
+                       $p->setAutoUri($r, $datas['seourl_stu'], $page->getLocale());
+                       $p->setSitemap(true);
+                       $p->setEditable(false);
+                       $p->setParams(array('casestudy_id' => $r->id));
+
+                       if ($r->online != 1)
+                               $p->setOnline(false);
+
+                       $p->setDomain($page->getDomain());
+                       $p->setLabel($r->titre);
+                       $page->addPage($p);
+               }
+       }
+
+       /**
+        *
+        * @return array
+        */
+       public function getCMSTemplates() {
+
+               $templates = parent::getCMSTemplates();
+
+               $templates['Agence'] = array("agence" => "L'agence");
+               $templates['Realisations'] = array('realisations' => 'Réalisations');
+               $templates['Casestudies'] = array('casestudies' => 'Case-Studies');
+               $templates['CasestudiesDetail'] = array('casestudies_detail' => 'Case-Studies (détail)');
+               $templates['Expertises'] = array('expertises' => 'Expertises');
+               $templates['Contact'] = array('contact' => 'Contact');
+               $templates['Mentions'] = array('mentions' => 'Mentions légales');
+
+               return $templates;
+       }
+
+       public function run() {
+               // run have to be the last call of bootstrap
+               parent::run();
+       }
+
+       function __destroy() {
+               endProfile();
+       }
 
 }
index 98cf3247328861141a817f19dd7a451d0735f43f..3a52a33b59b978c1b96283ad96c2a87ff84a200c 100644 (file)
@@ -1,41 +1,34 @@
-<?php\r
-\r
-class StudiesController extends CubeIT_Controller_PageController {\r
-\r
-    public function indexAction() {\r
-        $parent = $this->view->currentPage->getParent();\r
-\r
-        $datas = $this->getBootstrap()->getCMSDatasOfNavigationPage($parent);\r
-        $this->view->datas = $datas;\r
-\r
-        $url = $this->getRequest()->getParam('page');\r
-\r
-        $ok = false;\r
-\r
-        $db = Zend_Db_Table::getDefaultAdapter();\r
-        $s = $db->select()->from('casestudies')\r
-                ->order('id ASC');\r
-        $q = $s->query();\r
-\r
-        while ($r = $q->fetch()) {\r
-            if (CubeIT_Navigation_Page::generateAutoUri($r, $datas['seourl_stu'], null) == $url) {\r
-\r
-                $this->view->\r
-                        $this->view->casestudies_titre = $datas["titre"];\r
-                $this->view->titre = $r->titre;\r
-                $this->view->studie = $r;\r
-\r
-                $ok = true;\r
-                break;\r
-            }\r
-        }\r
-\r
-        if (!$ok) {\r
-            $this->_404();\r
-            return;\r
-        }\r
-    }\r
-\r
-}\r
-\r
-?>\r
+<?php
+
+class StudiesController extends CubeIT_Controller_PageController {
+
+       public function indexAction() {
+               $parent = $this->view->currentPage->getParent();
+
+               $datas = $this->getBootstrap()->getCMSDatasOfNavigationPage($parent);
+               $this->view->datas = $datas;
+
+               $url = $this->getRequest()->getParam('page');
+
+               $ok = false;
+
+               $db = Zend_Db_Table::getDefaultAdapter();
+               $s = $db->select()->from('casestudies')
+                               ->order('id ASC')
+                               ->where('id = ?', $this->getRequest()->getParam('casestudy_id'));
+               $q = $s->query();
+
+               if (!$q->rowCount()) {
+                       $this->_404();
+                       return;
+               }
+
+               $r = CubeIT_Util_Cms::unserialize($q->fetch());
+               $this->view->casestudies_titre = $datas["titre"];
+               $this->view->titre = $r->titre;
+               $this->view->studie = $r;
+       }
+
+}
+
+?>
\ No newline at end of file