public function reset_display_order() { if ($this->post()) { BlockTypeList::resetBlockTypeDisplayOrder(); $this->set('message', t('Display Order Reset.')); } $this->view(); }
public function run() { $this->x = new SimpleXMLElement("<concrete5-cif></concrete5-cif>"); $this->x->addAttribute('version', '1.0'); // First, attribute categories AttributeKeyCategory::exportList($this->x); // attribute types AttributeType::exportList($this->x); // then block types BlockTypeList::exportList($this->x); // now attribute keys (including user) AttributeKey::exportList($this->x); // now attribute keys (including user) AttributeSet::exportList($this->x); // now theme PageTheme::exportList($this->x); // now packages PackageList::export($this->x); // permission access entity types PermissionAccessEntityType::exportList($this->x); // now task permissions PermissionKey::exportList($this->x); // workflow types WorkflowType::exportList($this->x); // now jobs Loader::model('job'); Job::exportList($this->x); // now single pages $singlepages = $this->x->addChild("singlepages"); $db = Loader::db(); $r = $db->Execute('select cID from Pages where cFilename is not null and cFilename <> "" and cID not in (select cID from Stacks) order by cID asc'); while ($row = $r->FetchRow()) { $pc = Page::getByID($row['cID'], 'RECENT'); $pc->export($singlepages); } // now page types CollectionType::exportList($this->x); // now stacks/global areas Loader::model('stack/list'); StackList::export($this->x); // now content pages $pages = $this->x->addChild("pages"); $db = Loader::db(); $r = $db->Execute('select Pages.cID from Pages left join ComposerDrafts on Pages.cID = ComposerDrafts.cID where ComposerDrafts.cID is null and cIsTemplate = 0 and cFilename is null or cFilename = "" order by cID asc'); while ($row = $r->FetchRow()) { $pc = Page::getByID($row['cID'], 'RECENT'); $pc->export($pages); } Loader::model("system/captcha/library"); SystemCaptchaLibrary::exportList($this->x); Config::exportList($this->x); }
/** * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * * @return null|int null or 0 if everything went fine, or an error code */ public function generate(InputInterface $input, OutputInterface $output) { $output->writeln("# Core Block Types", ""); $types = \BlockTypeList::getInstalledList(); $output->writeln(array(" Handle | Name | Description ", " ------ | ---- | ----------- ")); foreach ($types as $type) { if (!$type->getPackageHandle()) { $handle = $type->getBlockTypeHandle(); $name = $type->getBlockTypeName(); $description = $type->getBlockTypeDescription(); $output->writeln("`{$handle}` | {$name} | {$description}"); } } }
public function exportAll() { $this->x = $this->getXMLRoot(); // First, attribute categories AttributeKeyCategory::exportList($this->x); // attribute types AttributeType::exportList($this->x); // then block types BlockTypeList::exportList($this->x); // now attribute keys (including user) AttributeKey::exportList($this->x); // now attribute keys (including user) AttributeSet::exportList($this->x); // now theme PageTheme::exportList($this->x); // now packages PackageList::export($this->x); // permission access entity types PermissionAccessEntityType::exportList($this->x); // now task permissions PermissionKey::exportList($this->x); // workflow types WorkflowType::exportList($this->x); // now jobs Loader::model('job'); Job::exportList($this->x); // now single pages $singlepages = $this->x->addChild("singlepages"); $db = Loader::db(); $r = $db->Execute('select cID from Pages where cFilename is not null and cFilename <> "" and cID not in (select cID from Stacks) order by cID asc'); while ($row = $r->FetchRow()) { $pc = Page::getByID($row['cID'], 'RECENT'); $pc->export($singlepages); } // now page types CollectionType::exportList($this->x); // now stacks/global areas Loader::model('stack/list'); StackList::export($this->x); $this->exportPages($this->x); Loader::model("system/captcha/library"); SystemCaptchaLibrary::exportList($this->x); Config::exportList($this->x); }
/** * Returns an array of package items (e.g. blocks, themes) */ public function getPackageItems() { $items = array(); Loader::model('single_page'); Loader::library('mail/importer'); Loader::model('job'); Loader::model('collection_types'); Loader::model('system/captcha/library'); Loader::model('system/antispam/library'); $items['attribute_categories'] = AttributeKeyCategory::getListByPackage($this); $items['permission_categories'] = PermissionKeyCategory::getListByPackage($this); $items['permission_access_entity_types'] = PermissionAccessEntityType::getListByPackage($this); $items['attribute_keys'] = AttributeKey::getListByPackage($this); $items['attribute_sets'] = AttributeSet::getListByPackage($this); $items['group_sets'] = GroupSet::getListByPackage($this); $items['page_types'] = CollectionType::getListByPackage($this); $items['mail_importers'] = MailImporter::getListByPackage($this); $items['configuration_values'] = Config::getListByPackage($this); $items['block_types'] = BlockTypeList::getByPackage($this); $items['page_themes'] = PageTheme::getListByPackage($this); $items['permissions'] = PermissionKey::getListByPackage($this); $items['single_pages'] = SinglePage::getListByPackage($this); $items['attribute_types'] = AttributeType::getListByPackage($this); $items['captcha_libraries'] = SystemCaptchaLibrary::getListByPackage($this); $items['antispam_libraries'] = SystemAntispamLibrary::getListByPackage($this); $items['jobs'] = Job::getListByPackage($this); $items['workflow_types'] = WorkflowType::getListByPackage($this); ksort($items); return $items; }
<? defined('C5_EXECUTE') or die("Access Denied."); ?> <br/> <? if ($cp->canAdminPage() && is_object($a)) { $ax = $a; if ($a->isGlobalArea()) { $cx = Stack::getByName($a->getAreaHandle()); $a = Area::get($cx, STACKS_AREA_NAME); } $btArray = BlockTypeList::getAreaBlockTypes($a, $cp); // if the area overrides the collection permissions explicitly (with a one on the override column) we check if ($a->overrideCollectionPermissions()) { $gl = new GroupList($a); $ul = new UserInfoList($a); } else { // now it gets more complicated. $permsSet = false; if ($a->getAreaCollectionInheritID() > 0) { // in theory we're supposed to be inheriting some permissions from an area with the same handle, // set on the collection id specified above (inheritid). however, if someone's come along and // reverted that area to the page's permissions, there won't be any permissions, and we // won't see anything. so we have to check $areac = Page::getByID($a->getAreaCollectionInheritID()); $inheritArea = Area::get($areac, $_GET['arHandle']);
public function refresh_schema() { if ($this->upgrade_db) { $installDirectory = DIR_BASE_CORE . '/config'; $file = $installDirectory . '/db.xml'; if (!file_exists($file)) { throw new Exception(t('Unable to locate database import file.')); } $err = Package::installDB($file); // now we refresh the block schema $btl = new BlockTypeList(); $btArray = $btl->getInstalledList(); foreach ($btArray as $bt) { $bt->refresh(); } $this->upgrade_db = false; } }
public function run() { if (!Config::get('SITE_INSTALLED_APP_VERSION')) { Config::save('SITE_INSTALLED_APP_VERSION', Config::get('SITE_APP_VERSION')); } BlockTypeList::resetBlockTypeDisplayOrder(); $th = PageTheme::getByHandle('greek_yogurt'); if (!is_object($th)) { PageTheme::add('greek_yogurt'); } $bt = BlockType::getByHandle('core_scrapbook_display'); if (is_object($bt)) { $bt->refresh(); } $bt = BlockType::getByHandle('search'); if (is_object($bt)) { $bt->refresh(); } $sp = Page::getByPath('/dashboard/users/group_sets'); if ($sp->isError()) { $d11 = SinglePage::add('/dashboard/users/group_sets'); $d11->update(array('cName' => t('Group Sets'))); } $sp = Page::getByPath('/dashboard/system/seo/bulk_seo_tool'); if ($sp->isError()) { $d1a = SinglePage::add('/dashboard/system/seo/bulk_seo_tool'); $d1a->update(array('cName' => t('Bulk SEO Updater'))); } $sp = Page::getByPath('/dashboard/system/permissions/users'); if ($sp->isError()) { $d1a = SinglePage::add('/dashboard/system/permissions/users'); $d1a->update(array('cName' => t('User Permissions'))); } $sp = Page::getByPath('/dashboard/blocks/permissions'); if ($sp->isError()) { $d1a = SinglePage::add('/dashboard/blocks/permissions'); $d1a->update(array('cName' => t('Block & Stack Permissions'))); } $sp = Page::getByPath('/dashboard/system/permissions/advanced'); if ($sp->isError()) { $d1b = SinglePage::add('/dashboard/system/permissions/advanced'); $d1b->update(array('cName' => t('Advanced Permissions'))); } $sp = Page::getByPath('/dashboard/workflow'); if ($sp->isError()) { $d1a = SinglePage::add('/dashboard/workflow'); $d1a->update(array('cName' => t('Workflow'))); } $sp = Page::getByPath('/dashboard/workflow/list'); if ($sp->isError()) { $d1a = SinglePage::add('/dashboard/workflow/list'); } $sp = Page::getByPath('/dashboard/workflow/me'); if ($sp->isError()) { $d1a = SinglePage::add('/dashboard/workflow/me'); $d1a->update(array('cName' => t('Waiting for Me'))); } $sp = Page::getByPath('/dashboard/system/environment/proxy'); if ($sp->isError()) { $d1a = SinglePage::add('/dashboard/system/environment/proxy'); $d1a->update(array('cName' => t('Proxy Server'))); } // update meta keywords $pageKeywords = array('/dashboard/composer' => t('blog, blogging'), '/dashboard/composer/write' => t('new blog, write blog, blogging'), '/dashboard/composer/drafts' => t('blog drafts, composer'), '/dashboard/sitemap' => t('pages, add page, delete page, copy, move, alias'), '/dashboard/sitemap/full' => t('pages, add page, delete page, copy, move, alias'), '/dashboard/sitemap/explore' => t('pages, add page, delete page, copy, move, alias, bulk'), '/dashboard/sitemap/search' => t('find page, search page, search, find, pages, sitemap'), '/dashboard/files/search' => t('add file, delete file, copy, move, alias, resize, crop, rename, images, title, attribute'), '/dashboard/files/attributes' => t('file, file attributes, title, attribute, description, rename'), '/dashboard/files/sets' => t('files, category, categories'), '/dashboard/files/add_set' => t('new file set'), '/dashboard/users' => t('users, groups, people, find, delete user, remove user, change password, password'), '/dashboard/users/search' => t('find, search, people, delete user, remove user, change password, password'), '/dashboard/users/groups' => t('user, group, people, permissions, access, expire'), '/dashboard/users/attributes' => t('user attributes, user data, gather data, registration data'), '/dashboard/users/add' => t('new user, create'), '/dashboard/users/add_group' => t('new user group, new group, group, create'), '/dashboard/users/group_sets' => t('group set'), '/dashboard/reports' => t('forms, log, error, email, mysql, exception, survey'), '/dashboard/reports/statistics' => t('hits, pageviews, visitors, activity'), '/dashboard/reports/forms' => t('forms, questions, response, data'), '/dashboard/reports/surveys' => t('questions, quiz, response'), '/dashboard/reports/logs' => t('forms, log, error, email, mysql, exception, survey, history'), '/dashboard/pages/themes' => t('new theme, theme, active theme, change theme, template, css'), '/dashboard/pages/themes/add' => t('theme'), '/dashboard/pages/themes/inspect' => t('page types'), '/dashboard/pages/themes/customize' => t('custom theme, change theme, custom css, css'), '/dashboard/pages/types' => t('page type defaults, global block, global area, starter, template'), '/dashboard/pages/attributes' => t('page attributes, custom'), '/dashboard/pages/single' => t('single, page, custom, application'), '/dashboard/workflow' => t('add workflow, remove workflow'), '/dashboard/blocks/stacks' => t('stacks, reusable content, scrapbook, copy, paste, paste block, copy block, site name, logo'), '/dashboard/blocks/stacks/list' => t('edit stacks, view stacks, all stacks'), '/dashboard/blocks/types' => t('block, refresh, custom'), '/dashboard/extend' => t('add-on, addon, add on, package, applications, ecommerce, discussions, forums, themes, templates, blocks'), '/dashboard/extend/install' => t('add-on, addon, ecommerce, install, discussions, forums, themes, templates, blocks'), '/dashboard/extend/update' => t('update, upgrade'), '/dashboard/extend/connect' => t('concrete5.org, my account, marketplace'), '/dashboard/extend/themes' => t('buy theme, new theme, marketplace, template'), '/dashboard/extend/add-ons' => t('buy addon, buy add on, buy add-on, purchase addon, purchase add on, purchase add-on, find addon, new addon, marketplace'), '/dashboard/system' => t('dashboard, configuration'), '/dashboard/system/basics/site_name' => t('website name, title'), '/dashboard/system/basics/icons' => t('logo, favicon, iphone, icon, bookmark'), '/dashboard/system/basics/editor' => t('tinymce, content block, fonts, editor, content, overlay'), '/dashboard/system/basics/multilingual' => t('translate, translation, internationalization, multilingual'), '/dashboard/system/basics/timezone' => t('timezone, profile, locale'), '/dashboard/system/basics/interface' => t('interface, quick nav, dashboard background, background image'), '/dashboard/system/seo/urls' => t('vanity, pretty url, seo, pageview, view'), '/dashboard/system/seo/bulk_seo_tool' => t('bulk, seo, change keywords, engine, optimization, search'), '/dashboard/system/seo/tracking_codes' => t('traffic, statistics, google analytics, quant, pageviews, hits'), '/dashboard/system/seo/statistics' => t('turn off statistics, tracking, statistics, pageviews, hits'), '/dashboard/system/seo/search_index' => t('configure search, site search, search option'), '/dashboard/system/optimization/cache' => t('cache option, change cache, override, turn on cache, turn off cache, no cache, page cache, caching'), '/dashboard/system/optimization/clear_cache' => t('cache option, turn off cache, no cache, page cache, caching'), '/dashboard/system/optimization/jobs' => t('index search, reindex search, build sitemap, sitemap.xml, clear old versions, page versions, remove old'), '/dashboard/system/permissions/site' => t('editors, hide site, offline, private, public, access'), '/dashboard/system/permissions/files' => t('file options, file manager, upload, modify'), '/dashboard/system/permissions/file_types' => t('security, files, media, extension, manager, upload'), '/dashboard/system/permissions/tasks' => t('security, actions, administrator, admin, package, marketplace, search'), '/dashboard/system/permissions/ip_blacklist' => t('security, lock ip, lock out, block ip, address, restrict, access'), '/dashboard/system/permissions/captcha' => t('security, registration'), '/dashboard/system/permissions/antispam' => t('antispam, block spam, security'), '/dashboard/system/permissions/maintenance_mode' => t('lock site, under construction, hide, hidden'), '/dashboard/system/registration/postlogin' => t('profile, login, redirect, specific, dashboard, administrators'), '/dashboard/system/registration/profiles' => t('member profile, member page, community, forums, social, avatar'), '/dashboard/system/registration/public_registration' => t('signup, new user, community'), '/dashboard/system/mail' => t('smtp, mail settings'), '/dashboard/system/mail/method' => t('email server, mail settings, mail configuration, external, internal'), '/dashboard/system/mail/importers' => t('email server, mail settings, mail configuration, private message, message system, import, email, message'), '/dashboard/system/attributes' => t('attribute configuration'), '/dashboard/system/attributes/sets' => t('attributes, sets'), '/dashboard/system/attributes/types' => t('attributes, types'), '/dashboard/system/environment/info' => t('overrides, system info, debug, support, help'), '/dashboard/system/environment/debug' => t('errors, exceptions, develop, support, help'), '/dashboard/system/environment/logging' => t('email, logging, logs, smtp, pop, errors, mysql, log'), '/dashboard/system/environment/file_storage_locations' => t('security, alternate storage, hide files'), '/dashboard/system/environment/proxy' => t('network, proxy server'), '/dashboard/system/backup_restore' => t('export, backup, database, sql, mysql, encryption, restore'), '/dashboard/system/backup_restore/update' => t('upgrade, new version, update'), '/dashboard/system/backup_restore/database' => t('export, database, xml, starting, points, schema, refresh, custom, tables'), '/dashboard/system/seo/search_index' => t('configure search, site search, search option'), '/dashboard/system/optimization/cache' => t('cache option, change cache, override, turn on cache, turn off cache, no cache, page cache, caching')); foreach ($pageKeywords as $page => $keywords) { $p = Page::getByPath($page, 'ACTIVE'); $ak = CollectionAttributeKey::getByHandle('meta_keywords'); if (is_object($p) && !$p->isError() && $ak instanceof AttributeKey) { $p->setAttribute('meta_keywords', $keywords); } } // install the permissions from permissions.xml $this->installPermissionsAndWorkflow(); $this->addGlobalBlockPermissions(); $this->migratePagePermissions(); $this->migratePagePermissionPageTypes(); $this->migrateAreaPermissions(); $this->migrateAreaPermissionBlockTypes(); $this->migrateBlockPermissions(); $this->migrateFileSetPermissions(); $this->migrateAddFilePermissions(); $this->migrateFilePermissions(); $this->migrateTaskPermissions(); $this->migrateThemes(); $this->migratePageTypes(); $this->setupDashboardIcons(); }
<? defined('C5_EXECUTE') or die("Access Denied."); $btl = $a->getAddBlockTypes($c, $ap ); $blockTypes = $btl->getBlockTypeList(); $dsh = Loader::helper('concrete/dashboard'); $dashboardBlockTypes = array(); if ($dsh->inDashboard()) { $dashboardBlockTypes = BlockTypeList::getDashboardBlockTypes($ap); } $blockTypes = array_merge($blockTypes, $dashboardBlockTypes); $ci = Loader::helper('concrete/urls'); $ch = Loader::helper('concrete/interface'); $form = Loader::helper('form'); ?> <script type="text/javascript"> <? if (ENABLE_MARKETPLACE_SUPPORT) { ?> function ccm_updateMarketplaceTab() { if (!ccm_blocksLoaded) { $("#ccm-add-marketplace-tab div.ccm-block-type-list").html(''); jQuery.fn.dialog.showLoader(); $.ajax({ url: CCM_TOOLS_PATH+'/marketplace/refresh_block', type: 'POST', data: {'arHandle': '<?php echo $a->getAreaHandle(); ?> '}, success: function(html) {
$localHandles[] = $_pkg->getPackageHandle(); } foreach($remote as $_pkg) { if (!in_array($_pkg->getPackageHandle(), $localHandles)) { $updates++; } } if ($tp->canInstallPackages()) { $pkgAvailableArray = Package::getAvailablePackages(); } $thisURL = $this->url('/dashboard/install'); $btArray = BlockTypeList::getInstalledList(); $btAvailableArray = BlockTypeList::getAvailableList(); $coreBlockTypes = array(); $webBlockTypes = array(); foreach($btArray as $_bt) { if ($_bt->getPackageID() == 0) { if ($_bt->isCoreBlockType()) { $coreBlockTypes[] = $_bt; } else { $webBlockTypes[] = $_bt; } } } $availableArray = array_merge($btAvailableArray, $pkgAvailableArray); usort($availableArray, 'sortAvailableArray');
<?php defined('C5_EXECUTE') or die("Access Denied."); ?> <?php $included = $permissionAccess->getAccessListItems(PermissionKey::ACCESS_TYPE_INCLUDE); $excluded = $permissionAccess->getAccessListItems(PermissionKey::ACCESS_TYPE_EXCLUDE); $btl = new BlockTypeList(); $blockTypes = $btl->getBlockTypeList(); $form = Loader::helper('form'); ?> <?php if (count($included) > 0 || count($excluded) > 0) { ?> <?php if (count($included) > 0) { ?> <h3><?php echo t('Who can add what?'); ?> </h3> <?php foreach ($included as $assignment) { $entity = $assignment->getAccessEntityObject(); ?>
/** * Removes the block type. Also removes instances of content. */ public function delete() { $db = Loader::db(); $r = $db->Execute('select cID, cvID, b.bID, arHandle from CollectionVersionBlocks cvb inner join Blocks b on b.bID = cvb.bID where btID = ?', array($this->getBlockTypeID())); while ($row = $r->FetchRow()) { $nc = Page::getByID($row['cID'], $row['cvID']); $b = Block::getByID($row['bID'], $nc, $row['arHandle']); if (is_object($b)) { $b->deleteBlock(); } } $ca = new Cache(); $ca->delete('blockTypeByID', $this->btID); $ca->delete('blockTypeByHandle', $this->btHandle); $ca->delete('blockTypeList', false); $db->Execute("delete from BlockTypes where btID = ?", array($this->btID)); //Remove gaps in display order numbering (to avoid future sorting errors) BlockTypeList::resetBlockTypeDisplayOrder('btDisplayOrder'); }
/** * gets the block types that are allowed to be added to the given area - given the current user's permissions * @param Area * @param CollectionPermissions * @return BlockType[] */ public function getAreaBlockTypes(&$a, &$cp) { $btl = new BlockTypeList(); $btlaTMP = $btl->getBlockTypeList(); $btla = array(); foreach ($btlaTMP as $bt) { $bt->setAreaPermissions($a, $cp); $btla[] = $bt; } return $btla; }
<?php defined('C5_EXECUTE') or die("Access Denied."); $btl = new BlockTypeList(); $blockTypes = $btl->get(); $handles = ''; $ap = new Permissions($a); $class = 'ccm-area'; if ($a->isGlobalArea()) { $class .= ' ccm-global-area'; } $c = Page::getCurrentPage(); $css = $c->getAreaCustomStyle($a); if (is_object($css)) { $class .= ' ' . $css->getContainerClass(); } $canAddGathering = false; foreach ($blockTypes as $bt) { if ($ap->canAddBlockToArea($bt)) { $handles .= $bt->getBlockTypeHandle() . ' '; if ($bt->getBlockTypeHandle() == BLOCK_HANDLE_GATHERING) { $canAddGathering = true; } } } if ($ap->canAddLayout()) { $handles .= BLOCK_HANDLE_LAYOUT_PROXY . ' '; } if ($ap->canAddStack()) { $handles .= 'stack '; }
/** * Returns an array of package items (e.g. blocks, themes) */ public function getPackageItems() { $items = array(); Loader::model('single_page'); Loader::model('dashboard/homepage'); Loader::library('mail/importer'); Loader::model('job'); Loader::model('collection_types'); $items['attribute_categories'] = AttributeKeyCategory::getListByPackage($this); $items['attribute_keys'] = AttributeKey::getListByPackage($this); $items['attribute_sets'] = AttributeSet::getListByPackage($this); $items['page_types'] = CollectionType::getListByPackage($this); $items['mail_importers'] = MailImporter::getListByPackage($this); $items['dashboard_modules'] = DashboardHomepageView::getModules($this); $items['configuration_values'] = Config::getListByPackage($this); $items['block_types'] = BlockTypeList::getByPackage($this); $items['page_themes'] = PageTheme::getListByPackage($this); $tp = new TaskPermissionList(); $items['task_permissions'] = $tp->populatePackagePermissions($this); $items['single_pages'] = SinglePage::getListByPackage($this); $items['attribute_types'] = AttributeType::getListByPackage($this); $items['jobs'] = Job::getListByPackage($this); ksort($items); return $items; }
/** * Returns an array of package items (e.g. blocks, themes) */ public function getPackageItems() { $items = array(); Loader::model('single_page'); Loader::library('mail/importer'); Loader::model('job'); Loader::model('collection_types'); Loader::model('system/captcha/library'); Loader::model('system/antispam/library'); $items['attribute_categories'] = AttributeKeyCategory::getListByPackage($this); $items['attribute_keys'] = AttributeKey::getListByPackage($this); $items['attribute_sets'] = AttributeSet::getListByPackage($this); $items['page_types'] = CollectionType::getListByPackage($this); $items['mail_importers'] = MailImporter::getListByPackage($this); $items['configuration_values'] = Config::getListByPackage($this); $items['block_types'] = BlockTypeList::getByPackage($this); $items['page_themes'] = PageTheme::getListByPackage($this); $tp = new TaskPermissionList(); $items['task_permissions'] = $tp->populatePackagePermissions($this); $items['single_pages'] = SinglePage::getListByPackage($this); $items['attribute_types'] = AttributeType::getListByPackage($this); $items['captcha_libraries'] = SystemCaptchaLibrary::getListByPackage($this); $items['antispam_libraries'] = SystemAntispamLibrary::getListByPackage($this); $items['jobs'] = Job::getListByPackage($this); ksort($items); return $items; }