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 $article_search->makeCriteriaDisplayable(); } return "( " . join(" " . $this->getCombineLogic() . " ", $total_crit) . " ) AND " . $article_search->makeCriteriaDisplayable(); }
function makeCriteriaSectionLogic($section_id) { require_once 'AMP/Content/Section.inc.php'; $section = new Section(AMP_Registry::getDbcon(), $section_id); if (!$section->hasData()) { return 'TRUE'; } $scope = $section->getDisplayCriteria(); unset($scope['displayable']); $value = $this->makeCriteria($scope); if ($value) { return join(' AND ', $value); } return 'TRUE'; }