From 4569cae57f127afd093794310ccd290d2d9fdf36 Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Wed, 20 Apr 2016 10:58:46 -0400 Subject: [PATCH] Merge branch 'stable-3.1' --- interface/lib/classes/listform.inc.php | 51 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 41 insertions(+), 10 deletions(-) diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php index 8f5bd86..af6c3ff 100644 --- a/interface/lib/classes/listform.inc.php +++ b/interface/lib/classes/listform.inc.php @@ -199,13 +199,15 @@ $searchval = $_SESSION['search'][$list_name][$search_prefix.$field]; // IDN if($searchval != ''){ - foreach($i['filters'] as $searchval_filter) { - if($searchval_filter['event'] == 'SHOW') { - switch ($searchval_filter['type']) { - case 'IDNTOUTF8': - $searchval = $app->functions->idn_encode($searchval); - //echo $searchval; - break; + if(is_array($i['filters'])) { + foreach($i['filters'] as $searchval_filter) { + if($searchval_filter['event'] == 'SHOW') { + switch ($searchval_filter['type']) { + case 'IDNTOUTF8': + $searchval = $app->functions->idn_encode($searchval); + //echo $searchval; + break; + } } } } @@ -255,10 +257,23 @@ $searchval = $year.'-'.$month.'-'.$day; } } + + if($i['datatype'] == 'BOOLEAN' && $searchval != ''){ + if (!function_exists('boolval')) { + $searchval = (bool) $searchval; + if($searchval === true){ + $searchval = 'TRUE'; + } else { + $searchval = 'FALSE'; + } + } else { + $searchval = boolval($searchval)? 'TRUE' : 'FALSE'; + } + } // if($_REQUEST[$search_prefix.$field] != '') $sql_where .= " $field ".$i["op"]." '".$i["prefix"].$_REQUEST[$search_prefix.$field].$i["suffix"]."' and"; if(isset($searchval) && $searchval != ''){ - $sql_where .= " ".($table != ''? $table.'.' : $this->listDef['table'].'.')."$field ".$i['op']." '".$app->db->quote($i['prefix'].$searchval.$i['suffix'])."' and"; + $sql_where .= " ".($table != ''? $table.'.' : $this->listDef['table'].'.')."$field ".$i['op']." ".($i['datatype'] == 'BOOLEAN'? "" : "'").$app->db->quote($i['prefix'].$searchval.$i['suffix']).($i['datatype'] == 'BOOLEAN'? "" : "'")." and"; } } } @@ -382,7 +397,7 @@ if(isset($vars['show_page_back']) && $vars['show_page_back'] == 1){ $content .= '<li><a href="#" data-load-content="'.$vars['list_file'].'?page=0'.$vars['page_params'].'" aria-label="First"> <span aria-hidden="true">«</span></a></li>'; - $content .= '<li><a href="#" data-load-content='.$vars['list_file'].'?page='.$vars['last_page'].$vars['page_params'].'" aria-label="Previous"> + $content .= '<li><a href="#" data-load-content="'.$vars['list_file'].'?page='.$vars['last_page'].$vars['page_params'].'" aria-label="Previous"> <span aria-hidden="true">‹</span></a></li>'; } $prev = -1; @@ -499,6 +514,14 @@ case 'CURRENCY': $record[$key] = $app->functions->currency_format($record[$key]); break; + + case 'BOOLEAN': + if (!function_exists('boolval')) { + $record[$key] = (bool) $record[$key]; + } else { + $record[$key] = boolval($record[$key]); + } + break; default: $record[$key] = htmlentities(stripslashes($record[$key]), ENT_QUOTES, $conf["html_content_encoding"]); @@ -540,7 +563,7 @@ break; case 'DATE': - if($record[$key] != '' && $record[$key] != '0000-00-00') { + if($record[$key] != '' && !is_null($record[$key]) && $record[$key] != '0000-00-00') { $record[$key] = $record[$key]; } break; @@ -562,6 +585,14 @@ case 'CURRENCY': $record[$key] = str_replace(',', '.', $record[$key]); break; + + case 'BOOLEAN': + if (!function_exists('boolval')) { + $record[$key] = (bool) $record[$key]; + } else { + $record[$key] = boolval($record[$key]); + } + break; } } } -- Gitblit v1.9.1