From 7990f8881b085279269d35cf9dd2787b88ae1c08 Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Tue, 27 Nov 2012 14:47:43 -0500
Subject: [PATCH] Bugfix: _ispconfig_pw_crypted was ignored (stripped off in encoding method)

---
 interface/lib/classes/plugin_listview.inc.php |   56 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 10 deletions(-)

diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php
index ee254da..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,6 +81,48 @@
 				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);
+                $listTpl->setVar($wb);
 				
 
                 // Get the data
@@ -115,18 +156,13 @@
 
                                 // The variable "id" contains always the index field
                                 $rec["id"] = $rec[$idx_key];
-								$rec["delete_confirmation"] = $app->lng('delete_confirmation');
+								$rec["delete_confirmation"] = $wb['delete_confirmation'];
 
                                 $records_new[] = $rec;
                         }
                 }
 
                 $listTpl->setLoop('records',@$records_new);
-
-                // Loading language field
-                $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$app->listform->listDef['name']."_list.lng";
-                include($lng_file);
-                $listTpl->setVar($wb);
 
                 // Setting Returnto information in the session
                 $list_name = $app->listform->listDef["name"];

--
Gitblit v1.9.1