From c1fcaed2ee8f05a5030fe4e8e211ca4eae7a9489 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Tue, 11 Jun 2013 11:44:57 -0400
Subject: [PATCH] - Fixed FS#2921 - RBL list field in server config can not be empty.
---
interface/lib/classes/plugin_listview.inc.php | 46 +++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 41 insertions(+), 5 deletions(-)
diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php
index e543e25..30932b9 100644
--- a/interface/lib/classes/plugin_listview.inc.php
+++ b/interface/lib/classes/plugin_listview.inc.php
@@ -59,11 +59,10 @@
$listTpl->setVar('theme', $_SESSION['s']['theme']);
// Generate the SQL for searching
+ $sql_where = "";
if($app->listform->listDef["auth"] != 'no') {
- if($_SESSION["s"]["user"]["typ"] == "admin") {
- $sql_where = "";
- } else {
- $sql_where = $app->tform->getAuthSQL('r')." and";
+ if($_SESSION["s"]["user"]["typ"] != "admin") {
+ $sql_where = $app->tform->getAuthSQL('r')." and";
}
}
@@ -82,7 +81,44 @@
if(isset($this->options["sql_order_by"])) {
$sql_order_by = $this->options["sql_order_by"];
}
-
+
+ //* Limit each page
+ $limits = array('5'=>'5','15'=>'15','25'=>'25','50'=>'50','100'=>'100','999999999' => 'all');
+
+ //* create options and set selected, if default -> 15 is selected
+ $options='';
+ foreach($limits as $key => $val){
+ $options .= '<option value="'.$key.'" '.(isset($_SESSION['search']['limit']) && $_SESSION['search']['limit'] == $key ? 'selected="selected"':'' ).(!isset($_SESSION['search']['limit']) && $key == '15' ? 'selected="selected"':'').'>'.$val.'</option>';
+ }
+ $listTpl->setVar('search_limit','<select name="search_limit" style="width:50px">'.$options.'</select>');
+
+
+ //Sorting
+ if(!isset($_SESSION['search'][$app->listform->listDef["name"]]['order'])){
+ $_SESSION['search'][$app->listform->listDef["name"]]['order'] = '';
+ }
+
+ if(!empty($_GET['orderby'])){
+ $order = str_replace('tbl_col_','',$_GET['orderby']);
+ //* Check the css class submited value
+ if (preg_match("/^[a-z\_]{1,}$/",$order)) {
+ if($_SESSION['search'][$app->listform->listDef["name"]]['order'] == $order){
+ $_SESSION['search'][$app->listform->listDef["name"]]['order'] = $order.' DESC';
+ } else {
+ $_SESSION['search'][$app->listform->listDef["name"]]['order'] = $order;
+ }
+ }
+ }
+
+ // If a manuel oder by like customers isset the sorting will be infront
+ if(!empty($_SESSION['search'][$app->listform->listDef["name"]]['order'])){
+ if(empty($sql_order_by)){
+ $sql_order_by = "ORDER BY ".$_SESSION['search'][$app->listform->listDef["name"]]['order'];
+ } else {
+ $sql_order_by = str_replace("ORDER BY ","ORDER BY ".$_SESSION['search'][$app->listform->listDef["name"]]['order'].', ',$sql_order_by);
+ }
+ }
+
// Loading language field
$lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$app->listform->listDef['name']."_list.lng";
include($lng_file);
--
Gitblit v1.9.1