|
@@ -432,6 +432,12 @@ class Database
|
|
|
if (isset($v['level'])) {
|
|
|
$config['level'] = 3;
|
|
|
}
|
|
|
+
|
|
|
+ if (isset($v['search_parent'])) {
|
|
|
+ $config['manage']['search_parent'][$v['search_parent']] = $k;
|
|
|
+ $config['manage']['search_child'][$k] = $v['search_parent'];
|
|
|
+ }
|
|
|
+
|
|
|
if (isset($v['search'])) {
|
|
|
/*
|
|
|
if(strpos($v['search'], 'order') !== false)
|
|
@@ -691,7 +697,7 @@ class Database
|
|
|
*
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function list_search_select(&$result, $search, $name, $lang, $option, $default = false)
|
|
|
+ public function list_search_select(&$result, $search, $name, $lang, $option, $default = false, $bind = array(), $parent = '')
|
|
|
{
|
|
|
$value = array();
|
|
|
if (strpos($lang, '-')) {
|
|
@@ -707,6 +713,10 @@ class Database
|
|
|
if ($default) {
|
|
|
//$value['default'] = $default;
|
|
|
}
|
|
|
+ if ($bind) {
|
|
|
+ $value['bind'] = $bind;
|
|
|
+ }
|
|
|
+ $value['parent'] = $parent;
|
|
|
$result .= Html::select($value, false) . ' ';
|
|
|
}
|
|
|
|
|
@@ -920,7 +930,21 @@ class Database
|
|
|
|
|
|
if (isset($config['manage']['search']['select'])) {
|
|
|
foreach ($config['manage']['search']['select'] as $k => $v) {
|
|
|
- $this->list_search_select($result, $search, $prefix . 'option_' . $k, $v['lang'], $this->option($v['option']), $v['default']);
|
|
|
+ $bind = array();
|
|
|
+ $parent = '';
|
|
|
+ $option = $this->option($v['option']);
|
|
|
+ if (isset($config['manage']['search_parent'][$k])) {
|
|
|
+ $bind = array
|
|
|
+ (
|
|
|
+ 'onchange',
|
|
|
+ 'setOption',
|
|
|
+ 'search_option_' . $config['manage']['search_parent'][$k]
|
|
|
+ );
|
|
|
+ }
|
|
|
+ elseif (isset($config['manage']['search_child'][$k])) {
|
|
|
+ $parent = $config['manage']['search_child'][$k];
|
|
|
+ }
|
|
|
+ $this->list_search_select($result, $search, $prefix . 'option_' . $k, $v['lang'], $option, $v['default'], $bind, $parent);
|
|
|
}
|
|
|
}
|
|
|
|