* Move setDefaultParams in zen.
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user