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 . '&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); }
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; }