Example #1
0
 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();
 }
Example #2
0
 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 );
 }
Example #3
0
 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 );
 }