public function updateEditForm(Form $form)
 {
     if (($record = $form->getRecord()) instanceof SiteTree) {
         if (!$record->numChildren()) {
             return;
         }
     }
     Requirements::javascript(THIRDPARTY_DIR . '/jquery/jquery.js');
     Requirements::javascript('siteexporter/javascript/SiteExportAdmin.js');
     $action = new FormAction('doExport');
     $action->useButtonTag = true;
     $action->setButtonContent('Export');
     $exports = new TableListField('SiteExports', 'SiteExport', null, sprintf('"ParentClass" = \'%s\' AND "ParentID" =  %d', ClassInfo::baseDataClass($form->getRecord()->class), $form->getRecord()->ID));
     $exports->setFieldFormatting(array('Archive.Name' => '<a href=\\"{$Archive()->Link()}\\">{$Archive()->Name}</a>'));
     $exports->setForm($form);
     $fields = array(new HeaderField('ExportSiteHeader', 'Export Site As Zip'), new OptionSetField('ExportSiteBaseUrlType', 'Base URL type', array('fixed' => 'Set the site base URL to a fixed value', 'rewrite' => 'Attempt to rewrite URLs to be relative'), 'fixed'), new TextField('ExportSiteBaseUrl', 'Base URL', Director::absoluteBaseURL()), new DropdownField('ExportSiteTheme', 'Theme', SiteConfig::current_site_config()->getAvailableThemes(), null, null, '(Use default theme)'), $action, new HeaderField('SiteExportsHeader', 'Site Exports'), $exports);
     $form->Fields()->addFieldsToTab('Root.Export', $fields);
     if (class_exists('QueuedJobService')) {
         $form->Fields()->addFieldToTab('Root.Export', new LiteralField('ExporSiteQueuedNote', '<p>The site export' . ' will not be performed immediately, but will be ' . ' processed in the background as a queued job. You can' . ' enter an email address below to send a notification' . ' email to when the job is complete:</p>'), 'action_doExport');
         $email = new EmailField('ExportSiteCompleteEmail', 'Notification email address');
         $email->setForm($form);
         $form->Fields()->addFieldToTab('Root.Export', $email, 'action_doExport');
     }
 }
 public function SearchForm()
 {
     $searchText = $this->GetSearchTerm() ?: "";
     $queryType = $this->GetSearchType() ?: "";
     $category = $this->GetCategory() ?: "";
     $searchField = new TextField('Search', "Search youtube for:", $searchText);
     $searchField->setAttribute('placeholder', "Type here");
     $fields = new FieldList(new DropdownField('queryType', "Search type:", array('relevance' => 'All Videos', 'viewcount' => 'Most Viewed Videos', 'date' => 'Most recent', 'rating' => 'Top rated'), $queryType), new DropdownField('category', "Category:", $this->GetCategories(), $category), $searchField);
     $action = new FormAction('YouTubeSearchResults', _t('SearchForm.GO', 'Go'));
     $action->addExtraClass('btn btn-default btn-search');
     $action->useButtonTag = true;
     $action->setButtonContent('<i class="fa fa-search"></i><span class="text-hide">Search</span>');
     $actions = new FieldList($action);
     $form = new Form($this, 'YouTubeSearchForm', $fields, $actions);
     $form->setFormMethod('GET');
     $form->setFormAction($this->Link() . "");
     $form->disableSecurityToken();
     return $form;
 }