Index: core/kernel/processors/main_processor.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/kernel/processors/main_processor.php (revision 16079) +++ core/kernel/processors/main_processor.php (revision ) @@ -307,10 +307,6 @@ $ret = kUtil::escape($ret, kUtil::ESCAPE_HTML); } - if (getArrayValue($params, 'urlencode')) { - $ret = kUtil::escape($ret, kUtil::ESCAPE_URL); - } - return $ret; } @@ -1223,7 +1219,7 @@ function GetUrlHiddenFileds($params) { - $vars = Array ('page', 'per_page', 'sort_by'); + $vars = Array ('page', 'per_page', 'sort_by', 'keywords'); $ret = ''; if (array_key_exists('skip', $params)) { Index: core/kernel/db/db_tag_processor.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/kernel/db/db_tag_processor.php (revision 16079) +++ core/kernel/db/db_tag_processor.php (revision ) @@ -681,7 +681,8 @@ } if ( $has_next_page ) { - $block_params = Array ('name' => $this->SelectParam($params, 'render_as,block')); + $block_params = $this->prepareTagParams($params); + $block_params['name'] = $this->SelectParam($params, 'render_as,block'); return $this->Application->ParseBlock($block_params); } @@ -752,6 +753,13 @@ if (array_key_exists('per_page', $params)) { $params[$prefix_special . '_PerPage'] = $params['per_page']; unset($params['per_page']); + } + + // process keywords + $keywords = $this->Application->GetVar('keywords'); + + if ( $keywords ) { + $params['keywords'] = urlencode(kUtil::unescape($keywords, kUtil::ESCAPE_HTML)); } if (!array_key_exists('pass', $params)) { \ No newline at end of file Index: core/kernel/db/db_event_handler.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/kernel/db/db_event_handler.php (revision 16079) +++ core/kernel/db/db_event_handler.php (revision ) @@ -829,7 +829,7 @@ */ protected function _passListParams($event, $skip_var) { - $param_names = array_diff(Array ('page', 'per_page', 'sort_by'), Array ($skip_var)); + $param_names = array_diff(Array ('page', 'per_page', 'sort_by', 'keywords'), Array ($skip_var)); $list_helper = $this->Application->recallObject('ListHelper'); /* @var $list_helper ListHelper */ @@ -859,6 +859,13 @@ if ( $list_helper->hasUserSorting($object) ) { $event->SetRedirectParam('sort_by', $value); + } + break; + + case 'keywords': + if ( $value ) { + $value = $this->Application->unescapeRequestVariable($value); + $event->SetRedirectParam('keywords', kUtil::escape($value, kUtil::ESCAPE_URL)); } break; } Index: core/kernel/processors/tag_processor.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/kernel/processors/tag_processor.php (revision 16079) +++ core/kernel/processors/tag_processor.php (revision ) @@ -186,7 +186,10 @@ function PreparePostProcess(&$params) { - $flags = Array('js_escape', 'equals_to', 'result_to_var', 'pass_params', 'html_escape', 'strip_nl', 'trim', 'cache_timeout'); + $flags = Array( + 'js_escape', 'equals_to', 'result_to_var', 'pass_params', + 'html_escape', 'strip_nl', 'trim', 'cache_timeout', 'url_escape', + ); $flag_values = Array(); foreach ($flags as $flag_name) { @@ -206,6 +209,9 @@ } if ($flag_values['js_escape']) { $ret = kUtil::escape($ret, kUtil::ESCAPE_JS); + } + if ($flag_values['url_escape']) { + $ret = kUtil::escape($ret, kUtil::ESCAPE_URL); } if ($flag_values['strip_nl']) { // 1 - strip \r,\n; 2 - strip tabs too \ No newline at end of file