From dc48ab33efda6f56c30d408182cfec868ef4d91f Mon Sep 17 00:00:00 2001 From: xaver <xaver@ispconfig3> Date: Sat, 24 Mar 2012 09:01:29 -0400 Subject: [PATCH] Bug #2143, wrong filter url --- interface/lib/classes/listform.inc.php | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 deletions(-) diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php index f55df7b..b17eb0e 100644 --- a/interface/lib/classes/listform.inc.php +++ b/interface/lib/classes/listform.inc.php @@ -191,11 +191,16 @@ public function getPagingSQL($sql_where = '1') { global $app, $conf; + + //* Add Global Limit from selectbox + if(!empty($_POST['search_limit']) AND intval($_POST['search_limit'])){ + $_SESSION['search']['limit'] = $_POST['search_limit']; + } //* Get Config variables $list_name = $this->listDef['name']; $search_prefix = $this->listDef['search_prefix']; - $records_per_page = $this->listDef['records_per_page']; + $records_per_page = (empty($_SESSION['search']['limit']) ? $this->listDef['records_per_page'] : $_SESSION['search']['limit']) ; $table = $this->listDef['table']; //* set PAGE to zero, if in session not set @@ -282,7 +287,7 @@ public function decode($record) { global $conf, $app; - if(is_array($record)) { + if(is_array($record) && count($record) > 0 && is_array($this->listDef['item'])) { foreach($this->listDef['item'] as $field){ $key = $field['field']; if(isset($record[$key])) { @@ -295,7 +300,7 @@ case 'DATETSTAMP': if ($record[$key] > 0) { // is value int? - if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) { + if (preg_match("/^[0-9]+[\.]?[0-9]*$/", $record[$key], $p)) { $record[$key] = date($this->lng('conf_format_dateshort'), $record[$key]); } else { $record[$key] = date($this->lng('conf_format_dateshort'), strtotime($record[$key])); @@ -305,7 +310,7 @@ case 'DATE': if ($record[$key] > 0) { // is value int? - if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) { + if (preg_match("/^[0-9]+[\.]?[0-9]*$/", $record[$key], $p)) { $record[$key] = date($this->lng('conf_format_dateshort'), $record[$key]); } else { $record[$key] = date($this->lng('conf_format_dateshort'), strtotime($record[$key])); @@ -316,7 +321,7 @@ case 'DATETIME': if ($record[$key] > 0) { // is value int? - if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) { + if (preg_match("/^[0-9]+[\.]?[0-9]*$/", $record[$key], $p)) { $record[$key] = date($this->lng('conf_format_datetime'), $record[$key]); } else { $record[$key] = date($this->lng('conf_format_datetime'), strtotime($record[$key])); @@ -347,6 +352,7 @@ public function encode($record) { + global $app; if(is_array($record)) { foreach($this->listDef['item'] as $field){ $key = $field['field']; @@ -355,7 +361,7 @@ case 'VARCHAR': case 'TEXT': if(!is_array($record[$key])) { - $record[$key] = mysql_real_escape_string($record[$key]); + $record[$key] = $app->db->quote($record[$key]); } else { $record[$key] = implode($this->tableDef[$key]['separator'],$record[$key]); } @@ -384,7 +390,7 @@ break; case 'DOUBLE': - $record[$key] = mysql_real_escape_string($record[$key]); + $record[$key] = $app->db->quote($record[$key]); break; case 'CURRENCY': @@ -422,4 +428,4 @@ } -?> \ No newline at end of file +?> -- Gitblit v1.9.1