示例#1
0
 /**
  * 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);
 }
示例#2
0
 /**
  * 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);
 }