1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
class Page extends SiteTree {

  public static $db = array(
  );

  public static $has_one = array(
  );

}
class Page_Controller extends ContentController {

  public static $allowed_actions = array (
    'SearchForm',
    'deleteself'
  );

  public function init() {
    parent::init();

    // 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
    Requirements::themedCSS('layout'); 
    Requirements::themedCSS('typography'); 
    Requirements::themedCSS('form'); 
    Requirements::themedCSS('menu'); 
  }

  /**
   * 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.
   * 
   * @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->customise($data)->renderWith(array('Page_results', 'Page'));
  }


  function deleteself() {
    $member = Member::currentUser();

    if($member) {
      $member->delete();
      $member->logOut();
    }

    return false;
  }
}

?>