Permalink
Browse files

BUG Fix encoding of SearchForm::getSearchQuery

This made it awkward for user code to extract the query value for use in other applications; This would otherwise have to be xml decoded again.
Casting has been promoted to the templating level via DBField::create_field and a `SearchForm.casting` config setting.
  • Loading branch information...
1 parent b369928 commit 5dd058338af08dd3ee5956e7a7c66c30160f6cd4 @tractorcow tractorcow committed Apr 29, 2014
Showing with 6 additions and 2 deletions.
  1. +1 −1 code/search/ContentControllerSearchExtension.php
  2. +5 −1 code/search/SearchForm.php
@@ -42,7 +42,7 @@ public function SearchForm() {
public function results($data, $form, $request) {
$data = array(
'Results' => $form->getResults(),
- 'Query' => $form->getSearchQuery(),
+ 'Query' => DBField::create_field('Text', $form->getSearchQuery()),
'Title' => _t('SearchForm.SearchResults', 'Search Results')
);
return $this->owner->customise($data)->renderWith(array('Page_results', 'Page'));
@@ -27,6 +27,10 @@ class SearchForm extends Form {
"SiteTree", "File"
);
+ private static $casting = array(
+ 'SearchQuery' => 'Text'
+ );
+
/**
*
* @param Controller $controller
@@ -186,7 +190,7 @@ public function getSearchQuery($data = null) {
if(!isset($data)) $data = $_REQUEST;
// The form could be rendered without the search being done, so check for that.
- if (isset($data['Search'])) return Convert::raw2xml($data['Search']);
+ if (isset($data['Search'])) return $data['Search'];
}
/**

0 comments on commit 5dd0583

Please sign in to comment.