diff --git a/module/search/control.php b/module/search/control.php index 53f2e5e9a2..3068dd97b2 100644 --- a/module/search/control.php +++ b/module/search/control.php @@ -50,7 +50,7 @@ class search extends control $this->view->module = $module; $this->view->actionURL = empty($actionURL) ? $_SESSION[$searchParams]['actionURL'] : $actionURL; $this->view->fields = $fields; - $this->view->fieldParams = $this->search->setDefaultParams($fields, $params); + $this->view->fieldParams = $this->searchZen->setDefaultParams($fields, $params); $this->view->queries = $this->search->getQueryList($module); $this->view->queryID = (empty($module) && empty($queryID)) ? $_SESSION[$searchParams]['queryID'] : $queryID; $this->view->style = !empty($_SESSION[$searchParams]['style']) ? $_SESSION[$searchParams]['style'] : 'full'; diff --git a/module/search/model.php b/module/search/model.php index 961c7d2aac..a44d6039f3 100644 --- a/module/search/model.php +++ b/module/search/model.php @@ -101,57 +101,6 @@ class searchModel extends model if($scoreNum > 2 && !dao::isError()) $this->loadModel('score')->create('search', 'saveQueryAdvanced'); } - /** - * 设置默认的搜索参数。 - * Set default params for selection. - * - * @param array $fields - * @param array $params - * @access public - * @return array - */ - public function setDefaultParams(array $fields, array $params): array - { - $fields = array_keys($fields); - - list($users, $products, $executions) = $this->searchTao->getParamValues($fields, $params); - - foreach($fields as $fieldName) - { - if(!isset($params[$fieldName])) $params[$fieldName] = array('operator' => '=', 'control' => 'input', 'values' => ''); - - if($params[$fieldName]['values'] == 'users') - { - if(!empty($this->config->user->moreLink)) $this->config->moreLinks["field{$fieldName}"] = $this->config->user->moreLink; - $params[$fieldName]['values'] = $users; - } - - if($params[$fieldName]['values'] == 'products') $params[$fieldName]['values'] = $products; - if($params[$fieldName]['values'] == 'executions') $params[$fieldName]['values'] = $executions; - - /* 处理数组。*/ - /* Process array value. */ - if(is_array($params[$fieldName]['values'])) - { - /* For build right sql when key is 0 and is not null. e.g. confirmed field. */ - if(isset($params[$fieldName]['values'][0]) and $params[$fieldName]['values'][0] !== '') - { - $params[$fieldName]['values'] = array('ZERO' => $params[$fieldName]['values'][0]) + $params[$fieldName]['values']; - unset($params[$fieldName]['values'][0]); - } - elseif(empty($params[$fieldName]['values'])) - { - $params[$fieldName]['values'] = array('' => '', 'null' => $this->lang->search->null); - } - elseif(empty($params[$fieldName]['nonull'])) - { - $params[$fieldName]['values'] = $params[$fieldName]['values'] + array('null' => $this->lang->search->null); - } - } - } - return $params; - } - /** * 获取查询。 * Get a query. diff --git a/module/search/zen.php b/module/search/zen.php index d390dd77ce..671533f53a 100644 --- a/module/search/zen.php +++ b/module/search/zen.php @@ -179,4 +179,55 @@ class searchZen extends search return $options; } + + /** + * 设置默认的搜索参数。 + * Set default params for selection. + * + * @param array $fields + * @param array $params + * @access public + * @return array + */ + protected function setDefaultParams(array $fields, array $params): array + { + $fields = array_keys($fields); + + list($users, $products, $executions) = $this->search->getParamValues($fields, $params); + + foreach($fields as $fieldName) + { + if(!isset($params[$fieldName])) $params[$fieldName] = array('operator' => '=', 'control' => 'input', 'values' => ''); + + if($params[$fieldName]['values'] == 'users') + { + if(!empty($this->config->user->moreLink)) $this->config->moreLinks["field{$fieldName}"] = $this->config->user->moreLink; + $params[$fieldName]['values'] = $users; + } + + if($params[$fieldName]['values'] == 'products') $params[$fieldName]['values'] = $products; + if($params[$fieldName]['values'] == 'executions') $params[$fieldName]['values'] = $executions; + + /* 处理数组。*/ + /* Process array value. */ + if(is_array($params[$fieldName]['values'])) + { + /* For build right sql when key is 0 and is not null. e.g. confirmed field. */ + if(isset($params[$fieldName]['values'][0]) and $params[$fieldName]['values'][0] !== '') + { + $params[$fieldName]['values'] = array('ZERO' => $params[$fieldName]['values'][0]) + $params[$fieldName]['values']; + unset($params[$fieldName]['values'][0]); + } + elseif(empty($params[$fieldName]['values'])) + { + $params[$fieldName]['values'] = array('' => '', 'null' => $this->lang->search->null); + } + elseif(empty($params[$fieldName]['nonull'])) + { + $params[$fieldName]['values'] = $params[$fieldName]['values'] + array('null' => $this->lang->search->null); + } + } + } + return $params; + } }