2007-09-17 02:17:51 +02:00
|
|
|
<?php
|
2008-11-11 21:46:52 +01:00
|
|
|
|
2007-08-08 00:41:30 +02:00
|
|
|
class Page extends SiteTree {
|
2008-11-10 01:53:41 +01:00
|
|
|
|
|
|
|
public static $db = array(
|
|
|
|
);
|
|
|
|
|
|
|
|
public static $has_one = array(
|
2007-08-08 00:41:30 +02:00
|
|
|
);
|
2008-11-10 01:53:41 +01:00
|
|
|
|
2010-02-15 04:52:41 +01:00
|
|
|
function allPagesToCache() {
|
|
|
|
$pages = DataObject::get('Page');
|
|
|
|
$urls = array();
|
|
|
|
foreach($pages as $page) $urls[] = $page->AbsoluteLink();
|
|
|
|
return $urls;
|
|
|
|
}
|
|
|
|
|
2007-08-08 00:41:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
class Page_Controller extends ContentController {
|
2008-11-10 01:53:41 +01:00
|
|
|
|
2009-10-11 02:47:05 +02:00
|
|
|
/**
|
|
|
|
* An array of actions that can be accessed via a request. Each array element should be an action name, and the
|
|
|
|
* permissions or conditions required to allow the user to access it.
|
|
|
|
*
|
|
|
|
* <code>
|
|
|
|
* array (
|
|
|
|
* 'action', // anyone can access this action
|
|
|
|
* 'action' => true, // same as above
|
|
|
|
* 'action' => 'ADMIN', // you must have ADMIN permissions to access this action
|
|
|
|
* 'action' => '->checkAction' // you can only access this action if $this->checkAction() returns true
|
|
|
|
* );
|
|
|
|
* </code>
|
|
|
|
*
|
|
|
|
* @var array
|
|
|
|
*/
|
|
|
|
public static $allowed_actions = array (
|
|
|
|
'SearchForm'
|
|
|
|
);
|
|
|
|
|
2008-11-10 01:53:41 +01:00
|
|
|
public function init() {
|
2007-09-17 00:49:43 +02:00
|
|
|
parent::init();
|
2008-11-10 02:04:45 +01:00
|
|
|
|
2009-11-19 21:33:47 +01:00
|
|
|
// Note: you should use SS template require tags inside your templates
|
|
|
|
// instead of putting Requirements calls here. However these are
|
|
|
|
// included so that our older themes still work
|
2008-11-10 02:04:45 +01:00
|
|
|
Requirements::themedCSS("layout");
|
|
|
|
Requirements::themedCSS("typography");
|
|
|
|
Requirements::themedCSS("form");
|
2007-09-17 00:49:43 +02:00
|
|
|
}
|
2008-11-10 01:53:41 +01:00
|
|
|
|
2009-01-08 23:13:29 +01:00
|
|
|
/**
|
|
|
|
* 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, "SearchForm", $fields, $actions);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Process and render search results
|
|
|
|
*/
|
|
|
|
function results($data, $form){
|
|
|
|
$data = array(
|
|
|
|
'Results' => $form->getResults(),
|
|
|
|
'Query' => $form->getSearchQuery(),
|
|
|
|
'Title' => 'Search Results'
|
|
|
|
);
|
|
|
|
|
|
|
|
return $this->customise($data)->renderWith(array('Page_results', 'Page'));
|
|
|
|
}
|
|
|
|
|
2007-08-08 00:41:30 +02:00
|
|
|
}
|
2008-11-11 21:46:52 +01:00
|
|
|
|
|
|
|
?>
|