silverstripe-framework/search/ContentControllerSearchExtension.php
Sam Minnee 5e204bc6e0 BUGFIX: Added allowed_actions to ContentControllerSearchExtension (from r101812)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112041 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-13 01:14:27 +00:00

41 lines
1.1 KiB
PHP

<?php
/**
* Extension to provide a search interface when applied to ContentController
*/
class ContentControllerSearchExtension extends Extension {
static $allowed_actions = array(
'SearchForm',
'results',
);
/**
* Site search form
*/
function SearchForm() {
$searchText = isset($_REQUEST['Search']) ? $_REQUEST['Search'] : 'Search';
$fields = new FieldSet(
new TextField('Search', '', $searchText)
);
$actions = new FieldSet(
new FormAction('results', 'Search')
);
return new SearchForm($this->owner, 'SearchForm', $fields, $actions);
}
/**
* Process and render search results.
*
* @param array $data The raw request data submitted by user
* @param SearchForm $form The form instance that was submitted
* @param SS_HTTPRequest $request Request generated for this action
*/
function results($data, $form, $request) {
$data = array(
'Results' => $form->getResults(),
'Query' => $form->getSearchQuery(),
'Title' => 'Search Results'
);
return $this->owner->customise($data)->renderWith(array('Page_results', 'Page'));
}
}