From c2d45534804c120af4ff864a27299d63cb539e1d Mon Sep 17 00:00:00 2001 From: liugang Date: Tue, 19 Aug 2025 07:21:05 +0000 Subject: [PATCH] * [refac] Refactor: extract duplicate search form generation code into reusable function. --- module/search/view/buildoldform.html.php | 188 ++++++++--------------- 1 file changed, 68 insertions(+), 120 deletions(-) diff --git a/module/search/view/buildoldform.html.php b/module/search/view/buildoldform.html.php index 972da2d20e..ba232e6793 100644 --- a/module/search/view/buildoldform.html.php +++ b/module/search/view/buildoldform.html.php @@ -90,6 +90,71 @@ foreach($fieldParams as $fieldName => $param) } ?> +"; + + /* Get params of current field. */ + $currentField = $formSession["field$fieldNO"]; + if(!isset($fieldParams[$currentField])) + { + $currentField = key($fields); + $formSession["field$fieldNO"] = $currentField; + $formSession["operator$fieldNO"] = isset($fieldParams[$currentField]['operator']) ? $fieldParams[$currentField]['operator'] : '='; + $formSession["value$fieldNO"] = ''; + } + $param = $fieldParams[$currentField]; + + /* Print and or. */ + echo ""; + if($i == 1) echo "{$lang->search->$group}" . html::hidden("andOr$fieldNO", 'AND'); + if($i > 1) echo html::select("andOr$fieldNO", $lang->search->andor, $formSession["andOr$fieldNO"], "class='form-control'"); + echo ''; + + /* Print field. */ + echo "" . html::select("field$fieldNO", $fields, $formSession["field$fieldNO"], "onchange='setField(this, $fieldNO, {$module}params)' class='form-control chosen'") . ''; + + /* Print operator. */ + echo "" . html::select("operator$fieldNO", $lang->search->operators, $formSession["operator$fieldNO"], "class='form-control' onchange='setPlaceHolder($fieldNO)'") . ''; + + /* Print value. */ + echo ""; + if(isset($config->moreLinks["field{$currentField}"])) + { + $selected = $formSession["value$fieldNO"]; + if(!isset($param['values'][$selected])) $config->moreLinks["value$fieldNO"] = $config->moreLinks["field{$currentField}"]; + } + if($param['control'] == 'select') echo html::select("value$fieldNO", $param['values'], $formSession["value$fieldNO"], "class='form-control searchSelect chosen' data-max_drop_width='0'"); + + if($param['control'] == 'input') + { + $fieldName = $formSession["field$fieldNO"]; + $fieldValue = $formSession["value$fieldNO"]; + $extraClass = isset($param['class']) ? $param['class'] : ''; + + $placeholder = ''; + if($fieldValue && strpos('$lastWeek,$thisWeek,$today,$yesterday,$thisMonth,$lastMonth',$fieldValue) !== false) + { + $placeholder = "placeholder='{$fieldValue}'"; + } + elseif($fieldName == 'id' and $formSession["operator$fieldNO"] == '=') + { + $placeholder = "placeholder='{$lang->search->queryTips}'";; + } + + echo html::input("value$fieldNO", $fieldValue, "class='form-control $extraClass searchInput' $placeholder data-max_drop_width='0'"); + } + echo ''; + + $fieldNO ++; + echo ''; + } +}; +?> @@ -99,64 +164,8 @@ foreach($fieldParams as $fieldName => $param) "; - - /* Get params of current field. */ - $currentField = $formSession["field$fieldNO"]; - if(!isset($fieldParams[$currentField])) - { - $currentField = key($fields); - $formSession["field$fieldNO"] = $currentField; - $formSession["operator$fieldNO"] = isset($fieldParams[$currentField]['operator']) ? $fieldParams[$currentField]['operator'] : '='; - $formSession["value$fieldNO"] = ''; - } - - $param = $fieldParams[$currentField]; - - /* Print and or. */ - echo "'; - - /* Print field. */ - echo "'; - - /* Print operator. */ - echo "'; - - /* Print value. */ - echo "'; - - $fieldNO ++; - echo ''; - } + $fieldNO = 1; + $printGroup($formSession, $fieldNO, 'group1'); ?>
"; - if($i == 1) echo "{$lang->search->group1}" . html::hidden("andOr$fieldNO", 'AND'); - if($i > 1) echo html::select("andOr$fieldNO", $lang->search->andor, $formSession["andOr$fieldNO"], "class='form-control'"); - echo '" . html::select("field$fieldNO", $fields, $formSession["field$fieldNO"], "onchange='setField(this, $fieldNO, {$module}params)' class='form-control chosen'") . '" . html::select("operator$fieldNO", $lang->search->operators, $formSession["operator$fieldNO"], "class='form-control' onchange='setPlaceHolder($fieldNO)'") . '"; - if(isset($config->moreLinks["field{$currentField}"])) $config->moreLinks["value$fieldNO"] = $config->moreLinks["field{$currentField}"]; - if($param['control'] == 'select') echo html::select("value$fieldNO", $param['values'], $formSession["value$fieldNO"], "class='form-control searchSelect chosen' data-max_drop_width='0'"); - if($param['control'] == 'input') - { - $fieldName = $formSession["field$fieldNO"]; - $fieldValue = $formSession["value$fieldNO"]; - $extraClass = isset($param['class']) ? $param['class'] : ''; - - $placeholder = ''; - if($fieldValue && strpos('$lastWeek,$thisWeek,$today,$yesterday,$thisMonth,$lastMonth',$fieldValue) !== false) - { - $placeholder = "placeholder='{$fieldValue}'"; - } - elseif($fieldName == 'id' and $formSession["operator$fieldNO"] == '=') - { - $placeholder = "placeholder='{$lang->search->queryTips}'";; - } - - echo html::input("value$fieldNO", $fieldValue, "class='form-control $extraClass searchInput' $placeholder"); - } - echo '
@@ -165,68 +174,7 @@ foreach($fieldParams as $fieldName => $param) - "; - - /* Get params of current field. */ - $currentField = $formSession["field$fieldNO"]; - if(!isset($fieldParams[$currentField])) - { - $currentField = key($fields); - $formSession["field$fieldNO"] = $currentField; - $formSession["operator$fieldNO"] = isset($fieldParams[$currentField]['operator']) ? $fieldParams[$currentField]['operator'] : '='; - $formSession["value$fieldNO"] = ''; - } - $param = $fieldParams[$currentField]; - - /* Print and or. */ - echo "'; - - /* Print field. */ - echo "'; - - /* Print operator. */ - echo "'; - - /* Print value. */ - echo "'; - - $fieldNO ++; - echo ''; - } - ?> +
"; - if($i == 1) echo "{$lang->search->group2}" . html::hidden("andOr$fieldNO", 'AND'); - if($i > 1) echo html::select("andOr$fieldNO", $lang->search->andor, $formSession["andOr$fieldNO"], "class='form-control'"); - echo '" . html::select("field$fieldNO", $fields, $formSession["field$fieldNO"], "onchange='setField(this, $fieldNO, {$module}params)' class='form-control chosen'") . '" . html::select("operator$fieldNO", $lang->search->operators, $formSession["operator$fieldNO"], "class='form-control' onchange='setPlaceHolder($fieldNO)'") . '"; - if(isset($config->moreLinks["field{$currentField}"])) - { - $selected = $formSession["value$fieldNO"]; - if(!isset($param['values'][$selected])) $config->moreLinks["value$fieldNO"] = $config->moreLinks["field{$currentField}"]; - } - if($param['control'] == 'select') echo html::select("value$fieldNO", $param['values'], $formSession["value$fieldNO"], "class='form-control searchSelect chosen' data-max_drop_width='0'"); - - if($param['control'] == 'input') - { - $fieldName = $formSession["field$fieldNO"]; - $fieldValue = $formSession["value$fieldNO"]; - $extraClass = isset($param['class']) ? $param['class'] : ''; - - $placeholder = ''; - if($fieldValue && strpos('$lastWeek,$thisWeek,$today,$yesterday,$thisMonth,$lastMonth',$fieldValue) !== false) - { - $placeholder = "placeholder='{$fieldValue}'"; - } - elseif($fieldName == 'id' and $formSession["operator$fieldNO"] == '=') - { - $placeholder = "placeholder='{$lang->search->queryTips}'";; - } - - echo html::input("value$fieldNO", $fieldValue, "class='form-control $extraClass searchInput' $placeholder data-max_drop_width='0'"); - } - echo '