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();
     }
 }
示例#3
0
 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'));
     }
 }
示例#5
0
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 
        }
示例#6
0
 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;
     }
 }
示例#7
0
 public function edit()
 {
     $types = Type::getList();
     $this->set('pagetypes', $types);
 }
示例#8
0
<?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>
示例#9
0
 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);
 }
示例#10
0
<?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;
 }
示例#12
0
文件: publish.php 项目: baardev/lbtb
 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);
 }
示例#13
-1
 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');
 }