Beispiel #1
0
 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']);
 }
Beispiel #2
0
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));
    }
}