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 _filter_by_class($class_id) { $article = new Article(AMP_Registry::getDbcon()); $crit = $article->makeCriteriaClass($class_id); if (!$crit) { return; } $this->criteria = $crit . ' AND ' . $this->criteria; }
function assign() { require_once 'AMP/Content/Article.inc.php'; $crit_builder = new Article(AMP_Registry::getDbcon()); $this->criteria = $crit_builder->makeCriteriaClass($this->_allowed_classes); }