From: vincent@cubedesigners.com Date: Mon, 17 Feb 2014 10:51:40 +0000 (+0000) Subject: (no commit message) X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=7212a2f7e5652e728e5f06a204d5fe65dd91407a;p=cubedesigners-v7.git --- diff --git a/framework/application/Bootstrap.php b/framework/application/Bootstrap.php index 2ed073d..fe6c5a0 100644 --- a/framework/application/Bootstrap.php +++ b/framework/application/Bootstrap.php @@ -2,182 +2,184 @@ 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(); + } } diff --git a/framework/application/controllers/StudiesController.php b/framework/application/controllers/StudiesController.php index 98cf324..3a52a33 100644 --- a/framework/application/controllers/StudiesController.php +++ b/framework/application/controllers/StudiesController.php @@ -1,41 +1,34 @@ -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'); - $q = $s->query(); - - while ($r = $q->fetch()) { - if (CubeIT_Navigation_Page::generateAutoUri($r, $datas['seourl_stu'], null) == $url) { - - $this->view-> - $this->view->casestudies_titre = $datas["titre"]; - $this->view->titre = $r->titre; - $this->view->studie = $r; - - $ok = true; - break; - } - } - - if (!$ok) { - $this->_404(); - return; - } - } - -} - -?> +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