예제 #1
0
function getItemsPerPageMenu($base_url = '', $steps = array(10, 25, 50, 100, 250, 0), $separator = ' ')
{
    $ipp = isset($_SESSION['PAGE_FILTER']['IPP']) ? $_SESSION['PAGE_FILTER']['IPP'] : setItemsPerPage();
    if (!in_array($ipp, $steps)) {
        array_unshift($steps, $ipp);
    }
    $menu = array();
    $x = 0;
    foreach ($steps as $item) {
        $menu[$x] = '<a href="' . $base_url . '&amp;showipp=' . $item . '"';
        if ($ipp == $item) {
            $menu[$x] .= ' class="active"';
        }
        $menu[$x] .= '>';
        $menu[$x] .= $item == 0 ? $GLOBALS['BL']['be_ftptakeover_all'] : $item;
        $menu[$x] .= '</a>';
        $x++;
    }
    return implode($separator, $menu);
}
예제 #2
0
 function filter()
 {
     // filter defaults
     // 0 = all with deleted
     // 1 = all active
     // 2 = all inactive
     $status = isset($_SESSION['PAGE_FILTER']['news']['status']) ? intval($_SESSION['PAGE_FILTER']['news']['status']) : 0;
     $filter = isset($_SESSION['PAGE_FILTER']['news']['filter']) ? $_SESSION['PAGE_FILTER']['news']['filter'] : '';
     $page = isset($_SESSION['PAGE_FILTER']['news']['page']) ? intval($_SESSION['PAGE_FILTER']['news']['page']) : 0;
     $sort = isset($_SESSION['PAGE_FILTER']['news']['sort']) ? $_SESSION['PAGE_FILTER']['news']['sort'] : 'start_desc';
     $lang = isset($_SESSION['PAGE_FILTER']['news']['lang']) ? $_SESSION['PAGE_FILTER']['news']['lang'] : '';
     $keyword = isset($_SESSION['PAGE_FILTER']['news']['keyword']) ? $_SESSION['PAGE_FILTER']['news']['keyword'] : '';
     if (isset($_POST['filter'])) {
         $active = empty($_POST['showactive']) ? false : true;
         $inactive = empty($_POST['showinactive']) ? false : true;
         $filter = clean_slweg($_POST['filter']);
         $page = empty($_POST['page']) ? 0 : intval($_POST['page']);
         $sort = empty($_POST['sort']) || !isset($this->sort_options[$_POST['sort']]) ? 'start_desc' : $_POST['sort'];
         $lang = empty($_POST['lang']) ? '' : $_POST['lang'];
         $keyword = clean_slweg($_POST['keyword']);
         if ($active && $inactive) {
             $status = 0;
         } elseif ($active) {
             $status = 1;
         } elseif ($inactive) {
             $status = 2;
         }
         if (!isset($_SESSION['PAGE_FILTER'])) {
             $_SESSION['PAGE_FILTER'] = array();
         }
         $_SESSION['PAGE_FILTER']['news'] = array('status' => $status, 'filter' => $filter, 'page' => $page, 'sort' => $sort, 'lang' => $lang, 'keyword' => $keyword);
     }
     switch ($status) {
         case 0:
             $this->where['status'] = 'cnt_status IN (1,0)';
             break;
         case 1:
             $this->where['status'] = 'cnt_status = 1';
             break;
         case 2:
             $this->where['status'] = 'cnt_status = 0';
             break;
     }
     if ($filter != '') {
         $this->where['filter'] = "CONCAT(cnt_name,' ',cnt_title,' ',cnt_subtitle,' ',cnt_teasertext,' ',cnt_text) LIKE '%";
         $this->where['filter'] .= mysql_real_escape_string($filter) . "%'";
     }
     if ($keyword) {
         $this->where['cat'] = '(';
         $this->where['cat'] .= 'SELECT COUNT(pcat.cat_pid) ';
         $this->where['cat'] .= 'FROM ' . DB_PREPEND . 'phpwcms_categories pcat WHERE ';
         $this->where['cat'] .= "pcat.cat_type='news' AND pcat.cat_pid=cnt_id AND ";
         $this->where['cat'] .= 'pcat.cat_name=' . _dbEscape($keyword) . ' ';
         $this->where['cat'] .= 'GROUP BY pcat.cat_pid';
         $this->where['cat'] .= ')';
     }
     $this->order_by = array($this->sort_options[$sort]);
     $this->filter_status = $status;
     $this->filter = $filter;
     $this->filter_page = $page;
     $this->filter_sort = $sort;
     $this->filter_lang = $lang;
     $this->filter_keyword = $keyword;
     $this->limit = setItemsPerPage();
     $this->start_at = $page * $this->limit;
 }