/**
  *	Instantiate a search page, should one not exist.
  */
 public function requireDefaultRecords()
 {
     parent::requireDefaultRecords();
     $mode = Versioned::get_reading_mode();
     Versioned::reading_stage('Stage');
     // Determine whether pages should be created.
     if (self::config()->create_default_pages) {
         // Determine whether an extensible search page already exists.
         if (!ExtensibleSearchPage::get()->first()) {
             // Instantiate an extensible search page.
             $page = ExtensibleSearchPage::create();
             $page->Title = 'Search Page';
             $page->write();
             DB::alteration_message('"Default" Extensible Search Page', 'created');
         }
     } else {
         if (ClassInfo::exists('Multisites')) {
             foreach (Site::get() as $site) {
                 // Determine whether an extensible search page already exists.
                 if (!ExtensibleSearchPage::get()->filter('SiteID', $site->ID)->first()) {
                     // Instantiate an extensible search page.
                     $page = ExtensibleSearchPage::create();
                     $page->ParentID = $site->ID;
                     $page->Title = 'Search Page';
                     $page->write();
                     DB::alteration_message("\"{$site->Title}\" Extensible Search Page", 'created');
                 }
             }
         }
     }
     Versioned::set_reading_mode($mode);
 }
 /**
  *	Retrieve the search page.
  *
  *	@return extensible search page
  */
 public function getSearchPage()
 {
     $pages = ExtensibleSearchPage::get();
     // This is required to support multiple sites.
     if (ClassInfo::exists('Multisites')) {
         $pages = $pages->filter('SiteID', $this->owner->SiteID);
     }
     return $pages->first();
 }
 /**
  * Returns the default search page for this site
  *
  * @return ExtensibleSearchPage
  */
 public function getSearchPage()
 {
     $page = ExtensibleSearchPage::get();
     if (class_exists('Multisites')) {
         $siteID = Multisites::inst()->getCurrentSiteId();
         $page = $page->filter('SiteID', $siteID);
     }
     return $page->first();
 }