From b581b739769a64548bb88e2a100545893d5320d5 Mon Sep 17 00:00:00 2001 From: Alexander Meteiko Date: Fri, 26 Feb 2010 17:50:31 +0200 Subject: [PATCH] IPF_Admin_Filters_ModelList --- ipf/admin/filters/modellist.php | 55 +++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 ipf/admin/filters/modellist.php diff --git a/ipf/admin/filters/modellist.php b/ipf/admin/filters/modellist.php new file mode 100644 index 0000000..0ff029a --- /dev/null +++ b/ipf/admin/filters/modellist.php @@ -0,0 +1,55 @@ +GET[$fname]; + + $choices = array( + array( + 'id' => null, + 'param' => '', + 'name' => 'All', + 'selected' => ($sel_id==''), + ), + array( + 'id' => '0', + 'param' => $fname.'=0', + 'name' => 'None', + 'selected' => ($sel_id=='0'), + ), + ); + + foreach ($coll as $item) + { + $id = (string)$item->id; + + $choices[] = array( + 'id' => $id, + 'param' => $fname.'='.$id, + 'name' => (string)$item, + 'selected' => ($sel_id == $id), + ); + } + + parent::__construct($local, $foreign, $choices, $title); + } + + function FilterQuery($request,$q) + { + $param_name = 'filter_'.$this->local; + if (isset($request->GET[$param_name])) + { + $id = $request->GET[$param_name]; + if ($this->IsChoice($id)) + { + if ($id == '0') + $q->where($this->local.' is null'); + else $q->where($this->local.'='.$id); + } + } + } +} \ No newline at end of file -- 2.49.0