public function getResults(Request $request) { $list = \Concrete\Core\Page\Type\Type::getList(); $items = array(); foreach ($list as $t) { $item = new \PortlandLabs\Concrete5\MigrationTool\Entity\Export\PageType(); $item->setItemId($t->getPageTypeID()); $items[] = $item; } return $items; }
/** * Removes any existing pages, files, stacks, block and page types and installs content from the package. * * @param $options */ public function swapContent(Package $package, $options) { if ($this->validateClearSiteContents($options)) { \Core::make('cache/request')->disable(); $pl = new PageList(); $pages = $pl->getResults(); foreach ($pages as $c) { $c->delete(); } $fl = new FileList(); $files = $fl->getResults(); foreach ($files as $f) { $f->delete(); } // clear stacks $sl = new StackList(); foreach ($sl->get() as $c) { $c->delete(); } $home = \Page::getByID(HOME_CID); $blocks = $home->getBlocks(); foreach ($blocks as $b) { $b->deleteBlock(); } $pageTypes = Type::getList(); foreach ($pageTypes as $ct) { $ct->delete(); } // Set the page type of the home page to 0, because // if it has a type the type will be gone since we just // deleted it $home = Page::getByID(HOME_CID); $home->setPageType(null); // now we add in any files that this package has if (is_dir($package->getPackagePath() . '/content_files')) { $ch = new ContentImporter(); $computeThumbnails = true; if ($package->contentProvidesFileThumbnails()) { $computeThumbnails = false; } $ch->importFiles($package->getPackagePath() . '/content_files', $computeThumbnails); } // now we parse the content.xml if it exists. $ci = new ContentImporter(); $ci->importContentFile($package->getPackagePath() . '/content.xml'); \Core::make('cache/request')->enable(); } }
public function view() { $c = $this->page; $cp = $this->permissions; $pagetype = $c->getPageTypeObject(); if (is_object($pagetype)) { $_templates = $pagetype->getPageTypePageTemplateObjects(); } else { $_templates = PageTemplate::getList(); } $pTemplateID = $c->getPageTemplateID(); $templates = array(); if ($pTemplateID) { $selectedTemplate = PageTemplate::getByID($pTemplateID); $templates[] = $selectedTemplate; } foreach ($_templates as $tmp) { if (!in_array($tmp, $templates)) { $templates[] = $tmp; } } $tArrayTmp = array_merge(PageTheme::getGlobalList(), PageTheme::getLocalList()); $_themes = array(); foreach ($tArrayTmp as $pt) { if ($cp->canEditPageTheme($pt)) { $_themes[] = $pt; } } $pThemeID = $c->getCollectionThemeID(); if ($pThemeID) { $selectedTheme = PageTheme::getByID($pThemeID); } else { $selectedTheme = PageTheme::getSiteTheme(); } $themes = array($selectedTheme); foreach ($_themes as $t) { if (!in_array($t, $themes)) { $themes[] = $t; } } $templatesSelect = array(); $themesSelect = array(); foreach ($_themes as $pt) { $themesSelect[$pt->getThemeID()] = $pt->getThemeDisplayName(); } foreach ($_templates as $pt) { $templatesSelect[$pt->getPageTemplateID()] = $pt->getPageTemplateDisplayName(); } $typeList = Type::getList(); $typesSelect = array('0' => t('** None')); foreach ($typeList as $_pagetype) { $typesSelect[$_pagetype->getPageTypeID()] = $_pagetype->getPageTypeDisplayName(); } $this->set('templatesSelect', $templatesSelect); $this->set('themesSelect', $themesSelect); $this->set('themes', $themes); $this->set('templates', $templates); $this->set('typesSelect', $typesSelect); $this->set('selectedTheme', $selectedTheme); $this->set('selectedType', $pagetype); $this->set('selectedTemplate', $selectedTemplate); }
public function up(Schema $schema) { $ft = FlagType::getByhandle('spam'); if (!is_object($ft)) { FlagType::add('spam'); } $bt = BlockType::getByHandle('image_slider'); $bt->refresh(); $types = array(Type::getByHandle('group'), Type::getByHandle('user'), Type::getByHandle('group_set'), Type::getByHandle('group_combination')); $categories = array(Category::getByHandle('conversation'), Category::getByHandle('conversation_message')); foreach ($categories as $category) { foreach ($types as $pe) { if (is_object($category) && is_object($pe)) { $category->associateAccessEntityType($pe); } } } try { $gat = AuthenticationType::getByHandle('google'); } catch (Exception $e) { $gat = AuthenticationType::add('google', 'Google'); if (is_object($gat)) { $gat->disable(); } } // fix register page permissions $g1 = \Group::getByID(GUEST_GROUP_ID); $register = \Page::getByPath('/register', "RECENT"); $register->assignPermissions($g1, array('view_page')); // add new permissions, set it to the same value as edit page permissions on all pages. $epk = PermissionKey::getByHandle('edit_page_permissions'); $msk = PermissionKey::getByHandle('edit_page_multilingual_settings'); $ptk = PermissionKey::getByHandle('edit_page_page_type'); if (!is_object($msk)) { $msk = PermissionKey::add('page', 'edit_page_multilingual_settings', 'Edit Multilingual Settings', 'Controls whether a user can see the multilingual settings menu, re-map a page or set a page as ignored in multilingual settings.', false, false); } if (!is_object($ptk)) { $ptk = PermissionKey::add('page', 'edit_page_page_type', 'Edit Page Type', 'Change the type of an existing page.', false, false); } $db = \Database::get(); $r = $db->Execute('select cID from Pages where cInheritPermissionsFrom = "OVERRIDE" order by cID asc'); while ($row = $r->FetchRow()) { $c = Page::getByID($row['cID']); if (is_object($c) && !$c->isError()) { $epk->setPermissionObject($c); $msk->setPermissionObject($c); $ptk->setPermissionObject($c); $rpa = $epk->getPermissionAccessObject(); if (is_object($rpa)) { $pt = $msk->getPermissionAssignmentObject(); if (is_object($pt)) { $pt->clearPermissionAssignment(); $pt->assignPermissionAccess($rpa); } $pt = $ptk->getPermissionAssignmentObject(); if (is_object($pt)) { $pt->clearPermissionAssignment(); $pt->assignPermissionAccess($rpa); } } } } // add new page type permissions $epk = PermissionKey::getByHandle('edit_page_type_permissions'); $msk = PermissionKey::getByHandle('edit_page_type'); $dsk = PermissionKey::getByHandle('delete_page_type'); if (!is_object($msk)) { $msk = PermissionKey::add('page_type', 'edit_page_type', 'Edit Page Type', '', false, false); } if (!is_object($dsk)) { $dsk = PermissionKey::add('page_type', 'delete_page_type', 'Delete Page Type', '', false, false); } $list = \Concrete\Core\Page\Type\Type::getList(); foreach ($list as $pagetype) { $epk->setPermissionObject($pagetype); $msk->setPermissionObject($pagetype); $dsk->setPermissionObject($pagetype); $rpa = $epk->getPermissionAccessObject(); if (is_object($rpa)) { $pt = $msk->getPermissionAssignmentObject(); if (is_object($pt)) { $pt->clearPermissionAssignment(); $pt->assignPermissionAccess($rpa); } $pt = $dsk->getPermissionAssignmentObject(); if (is_object($pt)) { $pt->clearPermissionAssignment(); $pt->assignPermissionAccess($rpa); } } } // add new multilingual tables. $sm = $db->getSchemaManager(); $schemaTables = $sm->listTableNames(); if (!in_array('MultilingualPageRelations', $schemaTables)) { $mpr = $schema->createTable('MultilingualPageRelations'); $mpr->addColumn('mpRelationID', 'integer', array('notnull' => true, 'unsigned' => true, 'default' => 0)); $mpr->addColumn('cID', 'integer', array('notnull' => true, 'unsigned' => true, 'default' => 0)); $mpr->addColumn('mpLanguage', 'string', array('notnull' => true, 'default' => '')); $mpr->addColumn('mpLocale', 'string', array('notnull' => true)); $mpr->setPrimaryKey(array('mpRelationID', 'cID', 'mpLocale')); } if (!in_array('MultilingualSections', $schemaTables)) { $mus = $schema->createTable('MultilingualSections'); $mus->addColumn('cID', 'integer', array('notnull' => true, 'unsigned' => true, 'default' => 0)); $mus->addColumn('msLanguage', 'string', array('notnull' => true, 'default' => '')); $mus->addColumn('msCountry', 'string', array('notnull' => true, 'default' => '')); $mus->setPrimaryKey(array('cID')); } if (!in_array('MultilingualTranslations', $schemaTables)) { $mts = $schema->createTable('MultilingualTranslations'); $mts->addColumn('mtID', 'integer', array('autoincrement' => true, 'unsigned' => true)); $mts->addColumn('mtSectionID', 'integer', array('unsigned' => true, 'notnull' => true, 'default' => 0)); $mts->addColumn('msgid', 'text', array('notnull' => false)); $mts->addColumn('msgstr', 'text', array('notnull' => false)); $mts->addColumn('context', 'text', array('notnull' => false)); $mts->addColumn('comments', 'text', array('notnull' => false)); $mts->addColumn('reference', 'text', array('notnull' => false)); $mts->addColumn('flags', 'text', array('notnull' => false)); $mts->addColumn('updated', 'datetime', array('notnull' => false)); $mts->setPrimaryKey(array('mtID')); } // block type $bt = BlockType::getByHandle('switch_language'); if (!is_object($bt)) { $bt = BlockType::installBlockType('switch_language'); } // single pages $sp = Page::getByPath('/dashboard/system/multilingual'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/system/multilingual'); $sp->update(array('cName' => 'Multilingual')); $sp->setAttribute('meta_keywords', 'multilingual, localization, internationalization, i18n'); } $sp = Page::getByPath('/dashboard/system/multilingual/setup'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/system/multilingual/setup'); $sp->update(array('cName' => 'Multilingual Setup')); } $sp = Page::getByPath('/dashboard/system/multilingual/page_report'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/system/multilingual/page_report'); $sp->update(array('cName' => 'Page Report')); } $sp = Page::getByPath('/dashboard/system/multilingual/translate_interface'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/system/multilingual/translate_interface'); $sp->update(array('cName' => 'Translate Interface')); } $sp = Page::getByPath('/dashboard/pages/types/attributes'); if (!is_object($sp) || $sp->isError()) { $sp = SinglePage::add('/dashboard/pages/types/attributes'); $sp->update(array('cName' => 'Page Type Attributes')); } }
echo t('Number/Type of Pages'); ?> </h5> <div class="input"> <?php echo t('Display'); ?> <input type="text" name="num" value="<?php echo $num; ?> " style="width: 30px"> <?php echo t('pages of type'); ?> <?php $ctArray = CollectionType::getList(); if (is_array($ctArray)) { ?> <select name="ctID" id="selectCTID"> <option value="0">** All **</option> <?php foreach ($ctArray as $ct) { ?> <option value="<?php echo $ct->getPageTypeID(); ?> " <?php if ($cttID == $ct->getPageTypeID()) { ?> selected <?php }
public function canViewToolbar() { $u = new User(); if (!$u->isRegistered()) { return false; } if ($u->isSuperUser()) { return true; } $types = Type::getList(); foreach ($types as $pt) { $ptp = new \Permissions($pt); if ($ptp->canAddPageType()) { return true; } } $dh = Loader::helper('concrete/dashboard'); if ($dh->canRead() || $this->canViewPageVersions() || $this->canPreviewPageAsUser() || $this->canEditPageSpeedSettings() || $this->canEditPageProperties() || $this->canEditPageContents() || $this->canAddSubpage() || $this->canDeletePage() || $this->canApprovePageVersions() || $this->canEditPagePermissions() || $this->canMoveOrCopyPage()) { return true; } else { return false; } }
public function edit() { $types = Type::getList(); $this->set('pagetypes', $types); }
<?php defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\Page\Type\Type as CollectionType; $form = Loader::helper('form'); //Get all attributes $types = CollectionType::getList(); $options = array("" => "*None*"); array_map(function ($type) use(&$options) { $handle = $type->getPageTypeHandle(); $name = $type->getPageTypeName(); $options[$handle] = $name; }, $types); ?> <script type="text/javascript"> ccm_launchPageManager = function() { ConcretePageAjaxSearch.launchDialog(function(data){ $("#pageSelection .selected-item-label").html(data.title); $("#pageSelection #parentId").val(data.cID); },{}); } removeSelection = function(){ $("#pageSelection .selected-item-label").html(""); $("#pageSelection #parentId").val(-1); } </script> <fieldset>
public function add() { $pageTypes = array('' => t('** No Filtering')); $types = Type::getList(); foreach ($types as $type) { $pageTypes[$type->getPageTypeID()] = $type->getPageTypeName(); } $this->set('pageTypes', $pageTypes); $areas = Area::getHandleList(); $select = array(); foreach ($areas as $handle) { $select[$handle] = $handle; } $this->set('areas', $select); }
<?php defined('C5_EXECUTE') or die(_("Access Denied.")); $form = Core::make('helper/form'); $pagetypes = array(); $datetime = Loader::helper('form/date_time')->translate('datetime', $_GET); $list = \Concrete\Core\Page\Type\Type::getList(); $pagetypes = array('' => t('** Choose a page type')); foreach ($list as $type) { $pagetypes[$type->getPageTypeID()] = $type->getPageTypeDisplayName(); } ?> <div class="form-group"> <label class="control-label"><?php echo t('Keywords'); ?> </label> <?php echo $form->text('keywords'); ?> </div> <div class="form-group"> <label class="control-label"><?php echo t('Published on or After'); ?> </label> <?php echo Loader::helper('form/date_time')->datetime('datetime', $datetime, true); ?> </div>
public function getInstalledTargetItems(Batch $batch) { $types = Type::getList(); usort($types, function ($a, $b) { return strcasecmp($a->getPageTypeName(), $b->getPageTypeName()); }); $items = array(); foreach ($types as $type) { $item = new TargetItem($this); $item->setItemId($type->getPageTypeHandle()); $item->setItemName($type->getPageTypeDisplayName()); $items[] = $item; } return $items; }
public function view() { $html = Loader::helper('html'); // $this->addHeaderItem($html->css('css/font-awesome.css','problog')); // $this->addHeaderItem($html->css('css/seo_tools.css','problog')); // $this->addHeaderItem($html->css('app.css')); // $this->addHeaderItem($html->css('redactor.css')); // $this->addHeaderItem($html->css('jquery-ui.css')); // $this->addHeaderItem($html->javascript('jquery.js')); // $this->addHeaderItem('<script type="text/javascript"> var $ = jQuery.noConflict(); </script>'); // $this->addHeaderItem($html->javascript('legacy.js')); // $this->addHeaderItem($html->javascript('jquery-ui.js')); // $this->addHeaderItem($html->javascript('events.js')); //$this->addHeaderItem($html->javascript('app.js')); //$this->addHeaderItem($html->javascript('redactor.js')); // $this->addFooterItem($html->javascript('file-manager.js')); // $this->addFooterItem($html->javascript('seo_tools.js','problog')); $blogify = Loader::helper('blogify'); $settings = $blogify->getBlogSettings(); $blogSectionList = new PageList(); $blogSectionList->filter(false, "ak_blog_section = 1"); $blogSectionList->sortBy('cvName', 'asc'); $tmpSections = $blogSectionList->get(); $sections = array(); foreach ($tmpSections as $_c) { $spk = new AddSubpagePageKey(); $pp = $spk->validate($_c); if ($pp) { $pt = $p; $sections[$_c->getCollectionID()] = $_c->getCollectionName(); } } $ctArray = CollectionType::getList(''); $pageTypes = array(); foreach ($ctArray as $ct) { $spk = new AddSubpagePageKey(); $pp = $spk->validate($ct); if ($pp) { $pageTypes[$ct->getPageTypeID()] = $ct->getPageTypeName(); } } if ($_REQUEST['postID']) { $keys = array_keys($sections); $keys[] = -1; $current_page = Page::getByID($_REQUEST['postID']); $date = $current_page->getCollectionDatePublic(); $canonical_parent_id = $blogify->getCanonicalParent($date, $current_page); $cParentID = $canonical_parent_id; if (in_array($canonical_parent_id, $keys)) { $this->blog = $current_page; } } if (is_object($this->blog)) { $blogTitle = $this->blog->getCollectionName(); $blogDescription = $this->blog->getCollectionDescription(); $blogDate = $this->blog->getCollectionDatePublic(); $ctID = $this->blog->getCollectionTypeID(); $blogBody = ''; $eb = $this->blog->getBlocks('Main'); if (is_object($eb[0])) { $blogBody = $eb[0]->getInstance()->getContent(); } echo "<div class=\"event_warning\"><span class=\"tooltip icon edit\"></span> You are now editing <b><u>{$blogTitle}</u></b></div>"; $task = 'editthis'; $buttonText = t('Update Blog Entry'); $title = 'Update'; } else { $task = 'addthis'; $buttonText = t('Add Blog Entry'); $title = 'Add'; } $this->set('blog', $this->blog); $this->set('blogTitle', $blogTitle); $this->set('blogDescription', $blogDescription); $this->set('blogBody', $blogBody); $this->set('sections', $sections); $this->set('pageTypes', $pageTypes); $this->set('buttonText', $buttonText); }
public function add() { $pageTypes = array('' => t('** No Filtering')); $types = Type::getList(); foreach ($types as $type) { $pageTypes[$type->getPageTypeID()] = $type->getPageTypeDisplayName(); } $this->set('pageTypes', $pageTypes); $attributeKeys = array(); $keys = CollectionKey::getList(); foreach ($keys as $ak) { if ($ak->getAttributeTypeHandle() == 'topics') { $attributeKeys[] = $ak; } } $this->set('topicAttributes', $attributeKeys); $areas = Area::getHandleList(); $select = array(); foreach ($areas as $handle) { $select[$handle] = $handle; } $this->set('areas', $select); $this->requireAsset('core/topics'); }