public function renderSearchField() { $form = \Core::make("helper/form"); $html = $form->select('pTemplateID', array_reduce(\PageTemplate::getList(), function ($templates, $template) { $templates[$template->getPageTemplateID()] = $template->getPageTemplateDisplayName(); return $templates; }), $this->data['pTemplateID']); return $html; }
<?php defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\Page\Type\PublishTarget\Type\Type as PageTypePublishTargetType; $form = Loader::helper('form'); $templates = array(); $ag = \Concrete\Core\Http\ResponseAssetGroup::get(); $ag->requireAsset('selectize'); $pagetemplates = PageTemplate::getList(); foreach ($pagetemplates as $pt) { $templates[$pt->getPageTemplateID()] = $pt->getPageTemplateDisplayName(); } $targetTypes = PageTypePublishTargetType::getList(); $ptName = ''; $ptHandle = ''; $ptPageTemplateID = array(); $ptAllowedPageTemplates = 'A'; $ptDefaultPageTemplateID = 0; $ptLaunchInComposer = 0; $ptIsFrequentlyAdded = 1; $token = 'add_page_type'; if (is_object($pagetype)) { $token = 'update_page_type'; $siteType = $pagetype->getSiteTypeObject(); $ptName = $pagetype->getPageTypeName(); $ptHandle = $pagetype->getPageTypeHandle(); $ptLaunchInComposer = $pagetype->doesPageTypeLaunchInComposer(); $ptDefaultPageTemplateID = $pagetype->getPageTypeDefaultPageTemplateID(); $ptAllowedPageTemplates = $pagetype->getPageTypeAllowedPageTemplates(); $ptIsFrequentlyAdded = $pagetype->isPageTypeFrequentlyAdded(); $selectedtemplates = $pagetype->getPageTypeSelectedPageTemplateObjects();
protected function getField($field) { $r = new stdClass(); $r->field = $field; $searchRequest = $this->searchRequest->getSearchRequest(); $form = Loader::helper('form'); $wdt = Loader::helper('form/date_time'); /* @var $wdt \Concrete\Core\Form\Service\Widget\DateTime */ $html = ''; switch ($field) { case 'keywords': $html .= $form->text('keywords', $searchRequest['keywords']); break; case 'date_public': $html .= $wdt->datetime('date_public_from', $wdt->translate('date_public_from', $searchRequest)) . t('to') . $wdt->datetime('date_public_to', $wdt->translate('date_public_to', $searchRequest)); break; case 'date_added': $html .= $wdt->datetime('date_added_from', $wdt->translate('date_added_from', $searchRequest)) . t('to') . $wdt->datetime('date_added_to', $wdt->translate('date_added_to', $searchRequest)); break; case 'last_modified': $html .= $wdt->datetime('last_modified_from', $wdt->translate('last_modified_from', $searchRequest)) . t('to') . $wdt->datetime('last_modified_to', $wdt->translate('last_modified_to', $searchRequest)); break; case 'owner': $html .= $form->text('owner'); break; case 'permissions_inheritance': $html .= '<select name="cInheritPermissionsFrom" class="form-control">'; $html .= '<option value="PARENT"' . ($searchRequest['cInheritPermissionsFrom'] == 'PARENT' ? ' selected' : '') . '>' . t('Parent Page') . '</option>'; $html .= '<option value="TEMPLATE"' . ($searchRequest['cInheritPermissionsFrom'] == 'TEMPLATE' ? ' selected' : '') . '>' . t('Page Type') . '</option>'; $html .= '<option value="OVERRIDE"' . ($searchRequest['cInheritPermissionsFrom'] == 'OVERRIDE' ? ' selected' : '') . '>' . t('Itself (Override)') . '</option>'; $html .= '</select>'; break; case 'type': $html .= $form->select('ptID', array_reduce(\PageType::getList(), function ($types, $type) { $types[$type->getPageTypeID()] = $type->getPageTypeDisplayName(); return $types; }), $searchRequest['ptID']); break; case 'template': $html .= $form->select('pTemplateID', array_reduce(\PageTemplate::getList(), function ($templates, $template) { $templates[$template->getPageTemplateID()] = $template->getPageTemplateDisplayName(); return $templates; }), $searchRequest['pTemplateID']); break; case 'version_status': $versionToRetrieve = \Concrete\Core\Page\PageList::PAGE_VERSION_RECENT; if ($searchRequest['versionToRetrieve']) { $versionToRetrieve = $searchRequest['versionToRetrieve']; } $html .= '<div class="radio"><label>' . $form->radio('versionToRetrieve', \Concrete\Core\Page\PageList::PAGE_VERSION_RECENT, $versionToRetrieve) . t('All') . '</label></div>'; $html .= '<div class="radio"><label>' . $form->radio('versionToRetrieve', \Concrete\Core\Page\PageList::PAGE_VERSION_ACTIVE, $versionToRetrieve) . t('Approved') . '</label></div>'; break; case 'parent': $ps = Loader::helper("form/page_selector"); $html .= $ps->selectPage('cParentIDSearchField'); $html .= '<div class="form-group">'; $html .= '<label class="control-label">' . t('Search All Children?') . '</label>'; $html .= '<div class="radio"><label>' . $form->radio('cParentAll', 0, false) . ' ' . t('No') . '</label></div>'; $html .= '<div class="radio"><label>' . $form->radio('cParentAll', 1, false) . ' ' . t('Yes') . '</label></div>'; $html .= '</div>'; break; case 'num_children': $html .= '<div class="form-inline"><select name="cChildrenSelect" class="form-control">'; $html .= '<option value="gt"' . ($searchRequest['cChildrenSelect'] == 'gt' ? ' selected' : '') . '>' . t('More Than') . '</option>'; $html .= '<option value="eq"' . ($searchRequest['cChildrenSelect'] == 'eq' ? ' selected' : '') . '>' . t('Equal To') . '</option>'; $html .= '<option value="lt"' . ($searchRequest['cChildrenSelect'] == 'lt' ? ' selected' : '') . '>' . t('Fewer Than') . '</option>'; $html .= '</select>'; $html .= ' <input type="text" name="cChildren" class="form-control" value="' . $searchRequest['cChildren'] . '" /></div>'; break; case 'theme': $html .= '<select name="pThemeID" class="form-control">'; $themes = PageTheme::getList(); foreach ($themes as $pt) { $html .= '<option value="' . $pt->getThemeID() . '" ' . ($pt->getThemeID() == $searchRequest['pThemeID'] ? ' selected' : '') . '>' . $pt->getThemeName() . '</option>'; } $html .= '</select>'; break; default: if (Loader::helper('validation/numbers')->integer($field)) { $ak = CollectionAttributeKey::getByID($field); $html .= $ak->render('search', null, true); } break; } $r->html = $html; $ag = ResponseAssetGroup::get(); $r->assets = array(); foreach ($ag->getAssetsToOutput() as $position => $assets) { foreach ($assets as $asset) { if (is_object($asset)) { // have to do a check here because we might be included a dumb javascript call like i18n_js $r->assets[$asset->getAssetType()][] = $asset->getAssetURL(); } } } return $r; }