From 8145fbd30c55be3ead0648c0ececa3a18644d41c Mon Sep 17 00:00:00 2001 From: xaver <xaver@ispconfig3> Date: Sat, 03 Mar 2012 20:48:32 -0500 Subject: [PATCH] Sort and limit in ispconfig all templates... additional info howtoforge - http://www.howtoforge.com/forums/showthread.php?p=274790 --- interface/lib/classes/plugin_listview.inc.php | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php index e543e25..036b115 100644 --- a/interface/lib/classes/plugin_listview.inc.php +++ b/interface/lib/classes/plugin_listview.inc.php @@ -82,7 +82,43 @@ 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 + 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