/** * loadGlobalParentPages * @param integer $intGlobalType * @author Thomas Schedler <*****@*****.**> * @return Zend_Db_Table_Rowset_Abstract */ public function loadGlobalParentPages($intGlobalType) { $this->core->logger->debug('cms->models->Model_Pages->loadGlobalParentPages(' . $intGlobalType . ')'); $objSelect = $this->getPageTable()->select(); $objSelect->setIntegrityCheck(false); $objSelect->from('pages', array('id', 'pageId', 'version', 'idParent', 'pageProperties.created', 'pageProperties.changed', 'pageProperties.published'))->join('globalTypePageTypes', 'globalTypePageTypes.idGlobalTypes = ' . $this->core->dbh->quote($intGlobalType, Zend_Db::INT_TYPE), array())->join('pageProperties', 'globalTypePageTypes.idPageTypes = pageProperties.idPageTypes AND pageProperties.pageId = pages.pageId AND pageProperties.version = pages.version AND pageProperties.idLanguages = ' . $this->core->dbh->quote($this->intLanguageId, Zend_Db::INT_TYPE), array())->join('pageTitles', 'pageTitles.pageId = pages.pageId AND pageTitles.version = pages.version AND pageTitles.idLanguages = ' . $this->core->dbh->quote($this->intLanguageId, Zend_Db::INT_TYPE), array('title'))->join('genericForms', 'genericForms.id = pageProperties.idGenericForms', array('genericFormId', 'version AS genericFormVersion', 'idGenericFormTypes'))->join('urls', 'urls.relationId = pages.pageId AND urls.version = pages.version AND urls.idUrlTypes = ' . $this->core->sysConfig->url_types->page . ' AND urls.idLanguages = ' . $this->core->dbh->quote($this->intLanguageId, Zend_Db::INT_TYPE) . ' AND urls.isMain = 1 AND urls.idParent IS NULL', array('url'))->joinleft('folders', 'pages.idParent = folders.id AND pages.idParentTypes = ' . $this->core->sysConfig->parent_types->folder, array('idRootLevels'))->join('languages', 'languages.id = urls.idLanguages', array('languageCode'))->where('pageProperties.idStatus = ?', $this->core->sysConfig->status->live)->where('pageProperties.published <= \'' . date('Y-m-d H:i:s') . '\''); return $this->objPageTable->fetchAll($objSelect); }
/** * loadsByTemplatedId * @param integer $intTemplateId * @param integer $intQuarter * @param integer $intYear * @return Zend_Db_Table_Rowset_Abstract * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ public function loadsByTemplatedId($intTemplateId, $intQuarter = 0, $intYear = 0) { $this->core->logger->debug('cms->models->Model_Pages->loadsByTemplatedId(' . $intTemplateId . ')'); $objSelect = $this->getPageTable()->select(); $objSelect->setIntegrityCheck(false); $objSelect->from('pages', array('id', 'pageId', 'version', 'created', 'changed', 'published')); $objSelect->join('pageTitles', 'pageTitles.pageId = pages.pageId AND pageTitles.version = pages.version AND pageTitles.idLanguages = ' . $this->intLanguageId, array('title')); $objSelect->join('genericForms', 'genericForms.id = pages.idGenericForms', array('genericFormId', 'version AS genericFormVersion', 'idGenericFormTypes')); if ($intTemplateId == $this->core->sysConfig->page_types->page->event_templateId) { $objSelect->join('pageDatetimes', 'pageDatetimes.pageId = pages.pageId AND pageDatetimes.version = pages.version AND pageDatetimes.idLanguages = ' . $this->intLanguageId, array('datetime')); } $objSelect->joinleft('urls', 'urls.relationId = pages.pageId AND urls.version = pages.version AND urls.idLanguages = ' . $this->intLanguageId, array('url')); $objSelect->joinleft('languages', 'languages.id = urls.idLanguages', array('languageCode')); $objSelect->where('pages.idTemplates = ?', $intTemplateId); if ($intTemplateId == $this->core->sysConfig->page_types->page->event_templateId) { $timestamp = time(); if ($intQuarter > 0 && $intQuarter <= 4) { $intCurrQuarter = $intQuarter; } else { $intCurrQuarter = ceil(date('m', $timestamp) / 3); } if ($intYear > 0) { $intCurrYear = $intYear; } else { $intCurrYear = date('Y', $timestamp); } $objSelect->where('QUARTER(STR_TO_DATE(pageDatetimes.datetime, \'%d.%m.%Y\')) = ?', $intCurrQuarter); $objSelect->where('SUBSTRING(STR_TO_DATE(pageDatetimes.datetime, \'%d.%m.%Y\'),1,4) = ?', $intCurrYear); } if (!isset($_SESSION['sesTestMode']) || isset($_SESSION['sesTestMode']) && $_SESSION['sesTestMode'] == false) { $timestamp = time(); $now = date('Y-m-d H:i:s', $timestamp); $objSelect->where('pages.idStatus = ?', $this->core->sysConfig->status->live); $objSelect->where('pages.published <= \'' . $now . '\''); } if ($intTemplateId == $this->core->sysConfig->page_types->page->event_templateId) { $objSelect->order('STR_TO_DATE(pageDatetimes.datetime, \'%d.%m.%Y\') ASC'); } return $this->objPageTable->fetchAll($objSelect); }