Source of file DocumentationOpenSearchController.php
Size: 1,260 Bytes - Last Modified: 2021-12-23T10:29:30+00:00
/var/www/docs.ssmods.com/process/src/code/controllers/DocumentationOpenSearchController.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | <?php /** * Public facing controller for handling an opensearch interface based on * the standard search form. * * @package docsviewer */ class DocumentationOpenSearchController extends Controller { private static $allowed_actions = array( 'description' ); public function index() { return $this->httpError(404); } public function description() { $viewer = new DocumentationViewer(); if (!$viewer->canView()) { return Security::permissionFailure($this); } if (!Config::inst()->get('DocumentationSearch', 'enabled')) { return $this->httpError('404'); } $data = DocumentationSearch::get_meta_data(); $link = Director::absoluteBaseUrl() . $data['SearchPageLink'] = Controller::join_links( $viewer->Link(), 'results/?Search={searchTerms}&start={startIndex}&length={count}&action_results=1' ); $data['SearchPageAtom'] = $data['SearchPageLink'] . '&format=atom'; return $this->customise( new ArrayData($data) )->renderWith( array( 'OpenSearchDescription' ) ); } } |