public function getWebItems($criteria = null, $con = null) { include_once 'lib/model/om/BaseWebItemPeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collWebItems === null) { if ($this->isNew()) { $this->collWebItems = array(); } else { $criteria->add(WebItemPeer::ITEM_CATEGORY_ID, $this->getId()); WebItemPeer::addSelectColumns($criteria); $this->collWebItems = WebItemPeer::doSelect($criteria, $con); } } else { if (!$this->isNew()) { $criteria->add(WebItemPeer::ITEM_CATEGORY_ID, $this->getId()); WebItemPeer::addSelectColumns($criteria); if (!isset($this->lastWebItemCriteria) || !$this->lastWebItemCriteria->equals($criteria)) { $this->collWebItems = WebItemPeer::doSelect($criteria, $con); } } } $this->lastWebItemCriteria = $criteria; return $this->collWebItems; }
public function getlist($param) { $department_id = $param['department_id']; $departmentAvailable = $this->tools->departmentAvailable($department_id); $this->criteria->add(WebItemPeer::DEPARTMENT_ID, $departmentAvailable, Criteria::IN); /* FILTER */ if (!empty($param['filter'])) { $filter = $param['filter']; if (!empty($filter['title'])) { $this->criteria->add(WebItemPeer::TITLE, '%' . $filter['title'] . '%', Criteria::LIKE); } if (!empty($filter['initial'])) { $this->criteria->add(WebItemPeer::INITIAL, '%' . $filter['initial'] . '%', Criteria::LIKE); } if (!empty($filter['category'])) { $this->criteria->add(WebItemPeer::ITEM_CATEGORY_ID, $filter['category'], Criteria::EQUAL); } if (!empty($filter['section'])) { $this->criteria->add(WebItemPeer::DEPARTMENT_ID, $filter['section'], Criteria::EQUAL); } if (!empty($filter['published'])) { $published = array('true' => 1, 'false' => 0); $this->criteria->add(WebArticlePeer::PUBLISHED, $published[$filter['published']], Criteria::EQUAL); } } /* SORTING */ if (!empty($param['sort'])) { if (!empty($param['sort']['field'])) { switch ($param['sort']['field']) { case 'initial': if (!empty($param['sort']['type'])) { if ($param['sort']['type'] == 'asc') { $this->criteria->addAscendingOrderByColumn(WebItemPeer::INITIAL); } else { $this->criteria->addDescendingOrderByColumn(WebItemPeer::INITIAL); } } else { $this->criteria->addAscendingOrderByColumn(WebItemPeer::INITIAL); } break; case 'title': if (!empty($param['sort']['type'])) { if ($param['sort']['type'] == 'asc') { $this->criteria->addAscendingOrderByColumn(WebItemPeer::TITLE); } else { $this->criteria->addDescendingOrderByColumn(WebItemPeer::TITLE); } } else { $this->criteria->addAscendingOrderByColumn(WebItemPeer::TITLE); } break; case 'published': if (!empty($param['sort']['type'])) { if ($param['sort']['type'] == 'asc') { $this->criteria->addAscendingOrderByColumn(WebItemPeer::PUBLISHED); } else { $this->criteria->addDescendingOrderByColumn(WebItemPeer::PUBLISHED); } } else { $this->criteria->addAscendingOrderByColumn(WebItemPeer::PUBLISHED); } break; case 'category': if (!empty($param['sort']['type'])) { if ($param['sort']['type'] == 'asc') { $this->criteria->addAscendingOrderByColumn(WebItemPeer::ITEM_CATEGORY_ID); } else { $this->criteria->addDescendingOrderByColumn(WebItemPeer::ITEM_CATEGORY_ID); } } else { $this->criteria->addAscendingOrderByColumn(WebItemPeer::ITEM_CATEGORY_ID); } break; case 'created': if (!empty($param['sort']['type'])) { if ($param['sort']['type'] == 'asc') { $this->criteria->addAscendingOrderByColumn(WebItemPeer::CREATED); } else { $this->criteria->addDescendingOrderByColumn(WebItemPeer::CREATED); } } else { $this->criteria->addAscendingOrderByColumn(WebItemPeer::CREATED); } break; } } } else { $this->criteria->addDescendingOrderByColumn(WebItemPeer::CREATED); } $itemsTemp = WebItemPeer::doSelect($this->criteria); $items = array(); foreach ($itemsTemp as $item) { $temp = $item->toArray(); $itemCategory = $item->getWebItemCategory(); $temp['category'] = $item->getWebItemCategory() ? $item->getWebItemCategory()->toArray() : null; $temp['section'] = $item->getDepartment() ? $item->getDepartment()->toArray() : null; $items[] = $temp; } $output = array('success' => 1, 'data' => $items); $this->jsonwrapper->print_json($output); }
public static function retrieveByPKs($pks, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(); $criteria->add(WebItemPeer::ID, $pks, Criteria::IN); $objs = WebItemPeer::doSelect($criteria, $con); } return $objs; }