/** * Creates form fields and JavaScript page chooser for choosing a page. For use with inclusion in blocks. * <code> * $dh->selectPage('pageID', '1'); // prints out the home page and makes it selectable. * </code> * * @param int $cID */ public function selectPage($fieldName, $cID = false) { $r = ResponseAssetGroup::get(); $r->requireAsset('core/sitemap'); $selectedCID = 0; if (isset($_REQUEST[$fieldName])) { $selectedCID = Loader::helper('security')->sanitizeInt($_REQUEST[$fieldName]); } else { if ($cID > 0) { $selectedCID = $cID; } } $html = ''; $clearStyle = 'display: none'; $html .= '<div class="ccm-summary-selected-item" data-page-selector="' . $fieldName . '"><div class="ccm-summary-selected-item-inner"><strong class="ccm-summary-selected-item-label">'; if ($selectedCID > 0) { $oc = Page::getByID($selectedCID); $html .= $oc->getCollectionName(); $clearStyle = ''; } $html .= '</strong></div>'; $html .= '<a class="ccm-sitemap-select-page" data-page-selector-launch="' . $fieldName . '" dialog-width="90%" dialog-height="70%" dialog-append-buttons="true" dialog-modal="false" dialog-title="' . t('Choose Page') . '" href="' . REL_DIR_FILES_TOOLS_REQUIRED . '/sitemap_search_selector?cID=' . $selectedCID . '" dialog-on-close="Concrete.event.fire(\'fileselectorclose\', \'{$fieldName}\');">' . t('Select Page') . '</a>'; $html .= ' <a href="javascript:void(0)" dialog-sender="' . $fieldName . '" data-page-selector-clear="' . $fieldName . '" class="ccm-sitemap-clear-selected-page" style="float: right; margin-top: -8px;' . $clearStyle . '"><img src="' . ASSETS_URL_IMAGES . '/icons/remove.png" style="vertical-align: middle; margin-left: 3px" /></a>'; $html .= '<input type="hidden" data-page-selector="cID" name="' . $fieldName . '" value="' . $selectedCID . '"/>'; $html .= '</div>'; $html .= "<script type=\"text/javascript\">\n \$(function() {\n var ccmActivePageField;\n var launcher = \$('a[data-page-selector-launch=\"{$fieldName}\"]'), name = '{$fieldName}', openEvent, openEvent2;\n var container = \$('div[data-page-selector=\"' + name + '\"]');\n launcher.dialog();\n ConcreteEvent.bind('fileselectorclose', function(field_name) {\n ConcreteEvent.unbind('ConcreteSitemap.' + name);\n ConcreteEvent.unbind('SitemapSelectPage.' + name);\n ConcreteEvent.unbind('ConcreteSitemapPageSearch.' + name);\n });\n launcher.on('click', function () {\n var selector = \$(this),\n handle_select = function(e, data) {\n ConcreteEvent.unbind(e);\n var handle = selector.attr('data-page-selector-launch');\n container.find('.ccm-summary-selected-item-label').html(data.title);\n container.find('.ccm-sitemap-clear-selected-page').show();\n container.find('input[data-page-selector=cID]').val(data.cID);\n \$.fn.dialog.closeTop();\n };\n\n ConcreteEvent.bind('ConcreteSitemap.' + name, function (event, sitemap) {\n ConcreteEvent.subscribe('SitemapSelectPage.' + name, function (e, data) {\n if (data.instance === sitemap) {\n handle_select(e, data);\n }\n });\n });\n\n ConcreteEvent.bind('ConcreteSitemapPageSearch.' + name, function (event, search) {\n\n ConcreteEvent.subscribe('SitemapSelectPage.' + name, function (e, data) {\n if (data.instance === search) {\n handle_select(e, data);\n }\n });\n });\n });\n\n \$('a[data-page-selector-clear={$fieldName}]').click(function () {\n var container = \$('div[data-page-selector={$fieldName}]');\n container.find('.ccm-summary-selected-item-label').html('');\n container.find('.ccm-sitemap-clear-selected-page').hide();\n container.find('input[data-page-selector=cID]').val('');\n });\n });\n </script>"; return $html; }
public function __construct($config, $pluginManager, $styles) { $this->assets = ResponseAssetGroup::get(); $this->pluginManager = $pluginManager; $this->config = $config; $this->styles = $styles; }
public function view() { $r = ResponseAssetGroup::get(); $r->requireAsset('core/conversation'); $r->requireAsset('core/lightbox'); $fileSettings = $this->getFileSettings(); $conversation = $this->getConversationObject(); if (is_object($conversation)) { $this->set('conversation', $conversation); if ($this->enablePosting) { $token = Loader::helper('validation/token')->generate('add_conversation_message'); } else { $token = ''; } $this->set('posttoken', $token); $this->set('cID', Page::getCurrentPage()->getCollectionID()); $this->set('users', $this->getActiveUsers(true)); $this->set('maxFilesGuest', $fileSettings['maxFilesGuest']); $this->set('maxFilesRegistered', $fileSettings['maxFilesRegistered']); $this->set('maxFileSizeGuest', $fileSettings['maxFileSizeGuest']); $this->set('maxFileSizeRegistered', $fileSettings['maxFileSizeRegistered']); $this->set('fileExtensions', $fileSettings['fileExtensions']); $this->set('attachmentsEnabled', $fileSettings['attachmentsEnabled']); $this->set('attachmentOverridesEnabled', $fileSettings['attachmentOverridesEnabled']); } }
public function view() { $r = ResponseAssetGroup::get(); $r->requireAsset('core/app/editable-fields'); $form = Loader::helper('form'); $attribs = FileAttributeKey::getList(); $this->set('files', $this->files); $this->set('attributes', $attribs); }
public function view() { $r = ResponseAssetGroup::get(); $r->requireAsset('core/sitemap'); $cnt = new SearchPagesController(); $cnt->search(); $this->set('searchController', $cnt); $result = Loader::helper('json')->encode($cnt->getSearchResultObject()->getJSONObject()); $this->set('result', $result); }
public function view() { $r = ResponseAssetGroup::get(); $r->requireAsset('core/app/editable-fields'); $this->populatePages(); $form = Loader::helper('form'); $attribs = CollectionAttributeKey::getList(); $this->set('pages', $this->pages); $this->set('attributes', $attribs); }
public function __construct() { $fp = new Permissions(\FileSet::getGlobal()); $tp = new Permissions(); $this->assets = ResponseAssetGroup::get(); $this->token = Core::make("token")->generate('editor'); $this->setAllowFileManager($fp->canAccessFileManager()); $this->setAllowSitemap($tp->canAccessSitemap()); $this->pluginManager = new PluginManager(); $this->pluginManager->selectMultiple(\Package::getByHandle('community_ckeditor')->getConfig()->get('plugins', array())); }
/** * On CMS boot. * * @return void */ public function on_start() { $this->registerAssets(); Events::addListener('on_before_render', function ($e) { $c = Page::getCurrentPage(); if ($c instanceof Page) { $r = ResponseAssetGroup::get(); if (!$c->isEditMode()) { $r->requireAsset('smooth-scrolling'); } } }); }
public function view() { $r = ResponseAssetGroup::get(); $r->requireAsset('core/app/editable-fields'); if (isset($_REQUEST['fvID'])) { $fv = $this->file->getVersion(Loader::helper('security')->sanitizeInt($_REQUEST['fvID'])); $this->set('previewMode', true); } else { $fv = $this->file->getApprovedVersion(); $this->set('previewMode', false); } $this->set('fv', $fv); $this->set('form', Loader::helper('form')); $this->set('dateHelper', Loader::helper('date')); }
public function render($value = false) { $r = \Concrete\Core\Http\ResponseAssetGroup::get(); $r->requireAsset('core/style-customizer'); $strOptions = ''; $i = 0; $options['inputName'] = $this->getVariable(); if (is_object($value)) { $options['value'] = $value->getUrl(); } $strOptions = json_encode($options); print '<span class="ccm-style-customizer-display-swatch-wrapper" data-image-selector="' . $this->getVariable() . '"></span>'; print "<script type=\"text/javascript\">"; print "\$(function() { \$('span[data-image-selector=" . $this->getVariable() . "]').concreteStyleCustomizerImageSelector({$strOptions}); });"; print "</script>"; }
public function jsonSerialize() { ob_start(); print $this->renderSearchField(); $field = ob_get_contents(); ob_end_clean(); $ag = ResponseAssetGroup::get(); $assetsResponse = array(); foreach ($ag->getAssetsToOutput() as $position => $assets) { foreach ($assets as $asset) { if (is_object($asset)) { $assetsResponse[$asset->getAssetType()][] = $asset->getAssetURL(); } } } return ['key' => $this->getKey(), 'label' => $this->getDisplayName(), 'element' => $field, 'data' => $this->data, 'assets' => $assetsResponse]; }
public function __construct() { $fp = FilePermissions::getGlobal(); $tp = new TaskPermission(); $this->assets = ResponseAssetGroup::get(); $this->token = Core::make("token")->generate('editor'); $this->allowFileManager = \Config::get('concrete.editor.concrete.enable_filemanager') && $fp->canAccessFileManager(); $this->allowSitemap = \Config::get('concrete.editor.concrete.enable_sitemap') && $tp->canAccessSitemap(); $this->pluginManager = new PluginManager(); $this->pluginManager->register('undoredo', t('Undo/Redo')); $this->pluginManager->register('underline', t('Underline')); $this->pluginManager->register('concrete5lightbox', t('Lightbox')); $this->pluginManager->register('specialcharacters', t('Special Characters Palette')); $this->pluginManager->register('table', t('Table')); $this->pluginManager->register('fontfamily', t('Font Family')); $this->pluginManager->register('fontsize', t('Font Size')); $this->pluginManager->register('fontcolor', t('Font Color')); $this->pluginManager->selectMultiple(\Config::get('concrete.editor.plugins.selected')); }
<?php defined('C5_EXECUTE') or die("Access Denied."); $ag = \Concrete\Core\Http\ResponseAssetGroup::get(); $ag->requireAsset('core/lightbox'); ?> <div id="ccm-dialog-help" class="ccm-ui"> <div class="container-fluid"> <div class="row"> <div class="col-xs-8"> <h2><?php echo t('Learn the basics.'); ?> </h2> <div class="spacer-row-2"></div> <div class="row"> <div class="col-xs-12"> <div class="ccm-dialog-help-item"> <h4><?php echo t('Use the toolbar'); ?> </h4> <ol class="breadcrumb"> <li><a data-lightbox="iframe" href="https://www.youtube.com/watch?v=VB-R71zk06U"><?php echo t('Watch Video'); ?> </a></li> <li class="hidden-xs"><a href="#" data-launch-guide="toolbar"><?php echo t('Run Guide'); ?> </a></li>
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 '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 'is_active': $html .= $form->select('active', array('0' => t('Inactive Users'), '1' => t('Active Users')), array('style' => 'vertical-align: middle')); break; case 'group_set': $gsl = new GroupSetList(); $groupsets = array(); foreach ($gsl->get() as $gs) { $groupsets[$gs->getGroupSetID()] = $gs->getGroupSetDisplayName(); } $html .= $form->select('gsID', $groupsets); break; default: if (Loader::helper('validation/numbers')->integer($field)) { $ak = UserAttributeKey::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; }
/** * Retrieve attribute HTML to inject into the other view. */ public function add_attribute() { $allowed = $this->assignment->getAttributesAllowedArray(); $ak = CollectionAttributeKey::getByID($_REQUEST['akID']); if (is_object($ak) && in_array($ak->getAttributeKeyID(), $allowed)) { $obj = $this->getAttributeJSONRepresentation($ak, 'add'); $obj->pending = true; $obj->assets = array(); $ag = ResponseAssetGroup::get(); 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 $obj->assets[$asset->getAssetType()][] = $asset->getAssetURL(); } } } Loader::helper('ajax')->sendResult($obj); } }
public function requireAsset($assetType, $assetHandle = false) { $r = ResponseAssetGroup::get(); $r->requireAsset($assetType, $assetHandle); }
protected function getField($field) { $r = new stdClass(); $r->field = $field; $searchRequest = $this->searchRequest->getSearchRequest(); $wdt = Loader::helper('form/date_time'); /* @var $wdt \Concrete\Core\Form\Service\Widget\DateTime */ $html = ''; switch ($field) { case 'size': $form = Loader::helper('form'); $html .= $form->text('size_from', $searchRequest['size_from'], array('style' => 'width: 60px')); $html .= t('to'); $html .= $form->text('size_to', $searchRequest['size_to'], array('style' => 'width: 60px')); $html .= t('KB'); break; case 'type': $form = Loader::helper('form'); $t1 = FileType::getTypeList(); $types = array(); foreach ($t1 as $value) { $types[$value] = FileType::getGenericTypeText($value); } $html .= $form->select('type', $types, $searchRequest['type'], array('style' => 'width: 120px')); break; case 'extension': $form = Loader::helper('form'); $ext1 = FileType::getUsedExtensionList(); $extensions = array(); foreach ($ext1 as $value) { $extensions[$value] = $value; } $html .= $form->select('extension', $extensions, $searchRequest['extensions'], array('style' => 'width: 120px')); 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 'added_to': $ps = Loader::helper("form/page_selector"); $html .= $ps->selectPage('ocIDSearchField'); break; default: if (Loader::helper('validation/numbers')->integer($field)) { $ak = FileAttributeKey::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; }
defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\Http\ResponseAssetGroup; use Concrete\Core\ImageEditor\ImageEditor; use Whoops\Exception\ErrorException; $editorid = substr(sha1(time()), 0, 5); // Just enough entropy. $u = new User(); $form = Loader::helper('form'); /** @var FileVersion $fv */ $f = $fv->getFile(); $fp = new Permissions($f); if (!$fp->canEditFileContents()) { die(t("Access Denied.")); } $req = ResponseAssetGroup::get(); $req->requireAsset('core/imageeditor'); /** @var ImageEditor $editor */ if (!$editor) { $editor = \Core::make('editor/image/core'); } $filters = $editor->getFilterList(); $controls = $editor->getControlList(); ?> <div class='table ccm-ui'> <div class='editorcontainer'> <div id='<?php echo $editorid; ?> ' class='Editor'></div> <div class='bottomBar'></div>
protected function getAssetsToOutput() { $responseGroup = ResponseAssetGroup::get(); $assets = $responseGroup->getAssetsToOutput(); return $assets; }
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 '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; }
/** * Register the packages assets. * * @return void */ protected function registerAssets() { $al = AssetList::getInstance(); /* | CSS3 Animations */ $al->register('css', 'animate-it/css', 'assets/css3-animate-it-master/css/animations.css', array('version' => '0.9.0', 'position' => Asset::ASSET_POSITION_HEADER, 'minify' => true, 'combine' => true), $this); $al->register('css', 'animate-it/ie-fix-css', 'assets/css3-animate-it-master/css/animations-ie-fix.css', array('version' => '0.9.0', 'position' => Asset::ASSET_POSITION_HEADER, 'minify' => true, 'combine' => true), $this); $al->register('javascript', 'animate-it/js', 'assets/css3-animate-it-master/js/css3-animate-it.js', array('version' => '0.9.0', 'position' => Asset::ASSET_POSITION_FOOTER, 'minify' => true, 'combine' => true), $this); $al->register('javascript', 'animate-it/injector', 'assets/injector.js', array('version' => '0.9.0', 'position' => Asset::ASSET_POSITION_HEADER, 'minify' => true, 'combine' => true), $this); $al->registerGroup('animate-it', array(array('css', 'animate-it/css'), array('css', 'animate-it/ie-fix-css'), array('javascript', 'animate-it/js'), array('javascript', 'jquery'), array('javascript', 'animate-it/injector'))); Events::addListener('on_before_render', function ($e) { $c = Page::getCurrentPage(); if ($c instanceof Page) { $r = ResponseAssetGroup::get(); $r->requireAsset('javascript', 'jquery'); $r->requireAsset('javascript', 'animate-it/injector'); if (!$c->isEditMode()) { $r->requireAsset('css', 'animate-it/css'); $r->requireAsset('css', 'animate-it/ie-fix-css'); $r->requireAsset('javascript', 'animate-it/js'); } } }); }
public function requireAsset() { $r = ResponseAssetGroup::get(); $args = func_get_args(); call_user_func_array([$r, 'requireAsset'], $args); }
protected function getAssetsDefinedDuringOutput() { $ag = ResponseAssetGroup::get(); $r = array(); foreach ($ag->getAssetsToOutput() as $position => $assets) { foreach ($assets as $asset) { if (is_object($asset)) { $r[$asset->getAssetType()][] = $asset->getAssetURL(); } } } return $r; }