public function indexAction() { $c = (require SYS_ROOT . "/conf/cm.php"); if (!in_array($this->reqs->inst, $c['types'])) { return $this->errorAction(); } $this->view->inst = $this->reqs->inst; if (!isset($c['pagelets'][$this->reqs->act])) { return $this->errorAction(); } $this->view->act = $this->reqs->act; foreach ($c['pagelets'][$this->reqs->act]['views'] as $v) { $table = isset($v['table']) ? $v['table'] : 'data_entry'; $db = Core_Dao::factory(array('name' => $table)); $where = array(); $output = array(); $limit = 10; if (isset($v['query'])) { foreach ($v['query'] as $key => $val) { if (isset($this->reqs->{$key})) { $where[$key] = $this->reqs->{$key}; } } } if ($v['output'] == 'entry') { if (isset($where['id'])) { $rs = $db->getById($where['id']); } else { $rs = array(); } } else { $order = isset($v['sortby']) ? $v['sortby'] : array(); $p = isset($this->reqs->p) ? intval($this->reqs->p) : 1; if ($p < 1) { $p = 1; } $rs = $db->getList($where, $order, $limit, ($p - 1) * $limit); if (isset($v['pager'])) { $count = $db->getCount($where); } } $output[$v['output']] = $rs; if (isset($v['pager'])) { $count = $db->getCount($where); $output['pager'] = Core_Util_Pager::get($p, $count, $limit); } $this->view->{$v['laykey']} = $this->view->render($v['view'], $output); unset($db, $rs); } $this->response($c['pagelets'][$this->reqs->act]['layout']); }
if (isset($reqs->params['cat'])) { $where['cat'] = intval($reqs->params['cat']); $pagerurl .= "&cat={$reqs->params['cat']}"; } if (isset($reqs->params['term'])) { $where['like.terms'] = "%{$reqs->params['term']}%"; $pagerurl .= "&term={$reqs->params['term']}"; } $order = array('published DESC'); if (isset($reqs->q)) { $where['like.title'] = "%{$reqs->q}%"; $pagerurl .= "&q={$reqs->q}"; } $feed = $db->getList($where, $order, $limit, ($p - 1) * $limit); $count = $db->getCount($where); $pager = Core_Util_Pager::get($p, $count, $limit); foreach ($feed as $key => $entry) { $feed[$key]['link'] = "/{$this->inst}/view/?id={$entry['id']}"; // TODO $feed[$key]['avatar'] = "/user/profile/avatar/{$entry['uname']}-w40.png"; $feed[$key]['link_profile'] = "/user/profile/{$entry['uname']}"; $feed[$key]['terms'] = explode(",", $entry['terms']); if ($entry['cat'] > 0) { $feed[$key]['_cat_entry'] = $dbterm->getById($entry['cat']); } if (strlen($entry['summary']) > 1) { $feed[$key]['summary'] = Core_Util_Format::ubb2html(Core_Util_Format::textHtmlFilter($entry['summary'])); } else { $feed[$key]['summary'] = Core_Util_Format::autoParagraph(Core_Util_Format::cutstr(Core_Util_Format::ubbClear($entry['content']), 400)); } }