Index: branches/RC/core/units/general/cat_tag_processor.php =================================================================== diff -u -r9175 -r9363 --- branches/RC/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 9175) +++ branches/RC/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 9363) @@ -463,6 +463,30 @@ return preg_replace('/('.implode('|', $keywords).')/i', $opening.'\\1'.$closing, $ret); } + function AdvancedSearchForm($params) + { + $search_table = $this->Application->getUnitOption('confs', 'TableName'); + $module_name = $this->Application->findModule('Var', $this->Prefix, 'Name'); + + $sql = 'SELECT * + FROM '.$search_table.' + WHERE (ModuleName = '.$this->Conn->qstr($module_name).') AND (AdvancedSearch = 1) + ORDER BY DisplayOrder'; + $search_config = $this->Conn->Query($sql); + + $ret = ''; + foreach ($search_config as $record) { + $params['name'] = $this->SelectParam($params, 'and_or_render_as,and_or_block'); + $params['field'] = $record['FieldName']; + $params['andor'] = $this->Application->ParseBlock($params); + + $params['name'] = $this->SelectParam($params, $record['FieldType'].'_render_as,'.$record['FieldType'].'_block'); + $params['caption'] = $this->Application->Phrase($record['DisplayName']); + $ret .= $this->Application->ParseBlock($params); + } + return $ret; + } + /** * Returns last modification date of items in category / system *