Skip to content
Browse files

Minor Moved ContentControllerSearchExtension from sapphire/search/ to…

… cms module
  • Loading branch information...
1 parent 93bf302 commit 766e652ca0e2db59b908c0aaef4dfa80881a3b3a Paul Meyrick committed with chillu Mar 18, 2011
Showing with 50 additions and 0 deletions.
  1. +50 −0 code/ContentControllerSearchExtension.php
View
50 code/ContentControllerSearchExtension.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Extension to provide a search interface when applied to ContentController
+ *
+ * @package cms
+ * @subpackage search
+ */
+class ContentControllerSearchExtension extends Extension {
+ static $allowed_actions = array(
+ 'SearchForm',
+ 'results',
+ );
+
+ /**
+ * Site search form
+ */
+ function SearchForm() {
+ $searchText = _t('SearchForm.SEARCH', 'Search');
+
+ if($this->owner->request && $this->owner->request->getVar('Search')) {
+ $searchText = $this->owner->request->getVar('Search');
+ }
+
+ $fields = new FieldSet(
+ new TextField('Search', false, $searchText)
+ );
+ $actions = new FieldSet(
+ new FormAction('results', _t('SearchForm.GO', 'Go'))
+ );
+ $form = new SearchForm($this->owner, 'SearchForm', $fields, $actions);
+ $form->classesToSearch(FulltextSearchable::get_searchable_classes());
+ return $form;
+ }
+
+ /**
+ * 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' => _t('SearchForm.SearchResults', 'Search Results')
+ );
+ return $this->owner->customise($data)->renderWith(array('Page_results', 'Page'));
+ }
+}

0 comments on commit 766e652

Please sign in to comment.
Something went wrong with that request. Please try again.