public static function getList(PageTypeComposerFormLayoutSet $set) { $db = Loader::db(); $ptComposerFormLayoutSetControlIDs = $db->GetCol('select ptComposerFormLayoutSetControlID from PageTypeComposerFormLayoutSetControls where ptComposerFormLayoutSetID = ? order by ptComposerFormLayoutSetControlDisplayOrder asc', array($set->getPageTypeComposerFormLayoutSetID())); $list = array(); foreach ($ptComposerFormLayoutSetControlIDs as $ptComposerFormLayoutSetControlID) { $control = static::getByID($ptComposerFormLayoutSetControlID); if (is_object($control)) { $list[] = $control; } } return $list; }
<?php defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\Page\Type\Composer\FormLayoutSet as PageTypeComposerFormLayoutSet; use Concrete\Core\Page\Type\Composer\FormLayoutSetControl as PageTypeComposerFormLayoutSetControl; $fieldsets = PageTypeComposerFormLayoutSet::getList($pagetype); $cmp = new Permissions($pagetype); // $targetPage comes from renderComposerOutputForm($page, $targetPage); only // set in dialog page. $targetParentPageID = 0; if (is_object($targetPage)) { $targetParentPageID = $targetPage->getCollectionID(); } ?> <div class="ccm-ui"> <div class="alert alert-info" style="display: none" id="ccm-page-type-composer-form-save-status"></div> <input type="hidden" name="ptID" value="<?php echo $pagetype->getPageTypeID(); ?> " /> <?php foreach ($fieldsets as $cfl) { ?> <fieldset> <?php if ($cfl->getPageTypeComposerFormLayoutSetDisplayName()) { ?>
<?php defined('C5_EXECUTE') or die("Access Denied."); use Concrete\Core\Page\Type\Composer\FormLayoutSet as PageTypeComposerFormLayoutSet; use Concrete\Core\Page\Type\Composer\Control\Type\Type as PageTypeComposerControlType; $c = Page::getByPath('/dashboard/pages/types/form'); $cp = new Permissions($c); $ih = Loader::helper('concrete/ui'); $set = PageTypeComposerFormLayoutSet::getByID($_REQUEST['ptComposerFormLayoutSetID']); if (!is_object($set)) { die(t('Invalid set')); } if ($cp->canViewPage()) { if ($_POST['ptComposerControlTypeID'] && $_POST['ptComposerControlIdentifier']) { $type = PageTypeComposerControlType::getByID($_POST['ptComposerControlTypeID']); $control = $type->getPageTypeComposerControlByIdentifier($_POST['ptComposerControlIdentifier']); $layoutSetControl = $control->addToPageTypeComposerFormLayoutSet($set); Loader::element('page_types/composer/form/layout_set/control', array('control' => $layoutSetControl)); exit; } ?> <div class="ccm-ui"> <?php $tabs = array(); $types = PageTypeComposerControlType::getList(); for ($i = 0; $i < count($types); $i++) { $type = $types[$i]; $tabs[] = array($type->getPageTypeComposerControlTypeHandle(), $type->getPageTypeComposerControlTypeDisplayName(), $i == 0); } print $ih->tabs($tabs);
public static function getList(PageType $pagetype) { $sets = PageTypeComposerFormLayoutSet::getList($pagetype); $controls = array(); foreach ($sets as $s) { $setControls = PageTypeComposerFormLayoutSetControl::getList($s); foreach ($setControls as $sc) { $cnt = $sc->getPageTypeComposerControlObject(); $cnt->setPageTypeComposerFormLayoutSetControlObject($sc); $cnt->setPageTypeComposerFormControlRequired($sc->isPageTypeComposerFormLayoutSetControlRequired()); $controls[] = $cnt; } } return $controls; }
public function addPageTypeComposerFormLayoutSet($ptComposerFormLayoutSetName, $ptComposerFormLayoutSetDescription) { $db = Loader::db(); $displayOrder = $db->GetOne('select count(ptComposerFormLayoutSetID) from PageTypeComposerFormLayoutSets where ptID = ?', array($this->ptID)); if (!$displayOrder) { $displayOrder = 0; } $db->Execute('insert into PageTypeComposerFormLayoutSets (ptComposerFormLayoutSetName, ptComposerFormLayoutSetDescription, ptID, ptComposerFormLayoutSetDisplayOrder) values (?, ?, ?, ?)', array($ptComposerFormLayoutSetName, $ptComposerFormLayoutSetDescription, $this->ptID, $displayOrder)); return PageTypeComposerFormLayoutSet::getByID($db->Insert_ID()); }
public function update_set_display_order() { $this->view($this->post('ptID')); if ($this->token->validate('update_set_display_order', $_POST['token'])) { $displayOrder = 0; foreach ($this->post('ptComposerFormLayoutSetID') as $ptComposerFormLayoutSetID) { $set = PageTypeComposerFormLayoutSet::getByID($ptComposerFormLayoutSetID); if (is_object($set)) { $set->updateFormLayoutSetDisplayOrder($displayOrder); $displayOrder++; } } } exit; }
public function upgrade() { $db = Loader::db(); $pkg = Package::getByHandle('problog'); $eaku = AttributeKeyCategory::getByHandle('collection'); $multiuserpicker = AttributeType::getByHandle('multi_user_picker'); if (!is_object($multiuserpicker) || !intval($multiuserpicker->getAttributeTypeID())) { $multiuserpicker = AttributeType::add('multi_user_picker', tc('AttributeTypeName', 'Multi User Picker'), $pkg); $eaku->associateAttributeKeyType($multiuserpicker); $users = CollectionAttributeKey::getByHandle('subscription'); if (!is_object($users)) { $users = array('akHandle' => 'subscription', 'akName' => 'Subscribed Members', 'akIsSearchable' => 0, 'akIsSearchableIndexed' => 0, 'akIsAutoCreated' => 1, 'akIsEditable' => 1); $users = CollectionAttributeKey::add($multiuserpicker, $users, $pkg); } } $subscribe = AttributeType::getByHandle('subscribe'); if (!is_object($subscribe) || !intval($subscribe->getAttributeTypeID())) { $subscribe = AttributeType::add('subscribe', tc('AttributeTypeName', 'Subscribe'), $pkg); $eaku->associateAttributeKeyType($subscribe); $evset = AttributeSet::getByHandle('problog'); $send_subscribe = CollectionAttributeKey::getByHandle('send_subscription'); if (!is_object($send_subscribe)) { CollectionAttributeKey::add($subscribe, array('akHandle' => 'send_subscription', 'akName' => t('Send To Subscribers')), $pkg)->setAttributeSet($evset); } $page_att_controls = PageTypeComposerControlType::getByHandle('collection_attribute'); $type = CollectionType::getByHandle('pb_post'); $lsl = FormLayoutSet::getList($type); foreach ($lsl as $ls) { if ($ls->ptComposerFormLayoutSetName == 'Post Options') { $options = $ls; } } /* Send to subscribers */ $control_id = CollectionAttributeKey::getByHandle('send_subscription')->getAttributeKeyID(); $send_subscribe = $page_att_controls->getPageTypeComposerControlByIdentifier($control_id); $send_subscribe->addToPageTypeComposerFormLayoutSet($options); } $checkn = AttributeType::getByHandle('boolean'); $cannonpage = CollectionAttributeKey::getByHandle('is_canonical_page'); if (!is_object($cannonpage)) { $evset = AttributeSet::getByHandle('problog'); CollectionAttributeKey::add($checkn, array('akHandle' => 'is_canonical_page', 'akName' => t('Is Canonical Page'), 'akIsSearchable' => 1, 'akIsSearchableIndexed' => 1), $pkg)->setAttributeSet($evset); //loop through all existing canonical pages and add the attribute $canPages = new PageList(); $canPages->filter(false, "(CHAR_LENGTH(cv.cvName) < 5 AND cv.cvName REGEXP '^[0-9]')"); $canPagesList = $canPages->get(); foreach ($canPagesList as $cp) { $cp->setAttribute('is_canonical_page', 1); } } parent::upgrade(); }
public static function getList(PageTypeComposerFormLayoutSet $set) { $app = Application::getFacadeApplication(); $db = $app->make('database')->connection(); $rows = $db->fetchAll('select ptComposerFormLayoutSetControlID from PageTypeComposerFormLayoutSetControls where ptComposerFormLayoutSetID = ? order by ptComposerFormLayoutSetControlDisplayOrder asc', [$set->getPageTypeComposerFormLayoutSetID()]); $list = []; foreach ($rows as $row) { $control = static::getByID($row['ptComposerFormLayoutSetControlID']); if (is_object($control)) { $list[] = $control; } } return $list; }