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();
+ }
}