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;
 }
Example #2
0
<?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()) {
        ?>
Example #3
0
<?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;
 }
Example #5
0
 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());
 }
Example #6
0
 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;
 }
Example #7
0
 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;
 }