function getCriteria() { $total_crit = array(); $article_search = new Article($this->dbcon); if ($crit = $this->getData('sqlwhere')) { if ($bad_spot = strpos($crit, "or typeid")) { $crit = substr($crit, 0, $bad_spot) . ")"; } $total_crit[] = $crit; } if ($id = $this->getData('class_id')) { #$total_crit[] = "class =".$id; $total_crit[] = $article_search->makeCriteriaClass($id); } if ($id = $this->getData('section_id')) { $section =& new Section($this->dbcon, $id); $section_crit = $section->getDisplayCriteria(); $crit = join(' AND ', $article_search->makeCriteria($section_crit)); $total_crit[] = $crit; } if (empty($total_crit)) { return false; } return "( " . join(" " . $this->getCombineLogic() . " ", $total_crit) . " ) AND " . $article_search->makeCriteriaDisplayable(); }
function _addCriteriaSection() { require_once 'AMP/Content/Article.inc.php'; $article = new Article(AMP_Registry::getDbcon()); $crit = $article->makeCriteria($this->_section->getDisplayCriteria()); foreach ($crit as $crit_item) { $this->_source->addCriteria($crit_item); } #$this->_source->addCriteriaSection( $this->_section->id ); }
function &getContents() { if (isset($this->_contents)) { return $this->_contents; } $finder = new Article($this->dbcon); $this->_contents = new ArticleSet($this->dbcon); $this->_contents->setSort(array('date DESC', 'id DESC')); if ($this->id == AMP_CONTENT_CLASS_FRONTPAGE) { $this->_contents->addCriteria(join($finder->makeCriteria(array('class' => $this->id, 'live' => 1)), " AND ")); $this->_contents->addSort('if (( isnull( pageorder ) or pageorder="" or pageorder=0 ), ' . AMP_SORT_MAX . ', pageorder)'); } else { $this->_contents->addCriteria(join($finder->makeCriteria(array('class' => $this->id, 'displayable' => true)), " AND ")); } foreach ($this->_contents_criteria as $criteria) { $this->_contents->addCriteria($criteria); } $criteria_set = new AMPContent_DisplayCriteria(); $criteria_set->allowClass($this->id); $criteria_set->clean($this->_contents); return $this->_contents; }
function _addCriteriaSection() { $article = new Article(AMP_Registry::getDbcon()); $raw_crit = $this->_section->getDisplayCriteria(); if (isset($raw_crit['section']) && $raw_crit['section']) { $raw_crit['in_section_descendant'] = $raw_crit['section']; unset($raw_crit['section']); } $crit = $article->makeCriteria($raw_crit); foreach ($crit as $crit_item) { $this->_source->addCriteria($crit_item); } #$this->_source->addCriteriaSectionDescendent( $this->_section->id ); }