/** * @param PageTypeComposerFormLayoutSet $set * @return \Concrete\Core\Page\Type\Composer\FormLayoutSetControl */ public function addToPageTypeComposerFormLayoutSet(PageTypeComposerFormLayoutSet $set) { $db = Loader::db(); $displayOrder = $db->GetOne('select count(ptComposerFormLayoutSetControlID) from PageTypeComposerFormLayoutSetControls where ptComposerFormLayoutSetID = ?', array($set->getPageTypeComposerFormLayoutSetID())); if (!$displayOrder) { $displayOrder = 0; } $ptComposerFormLayoutSetControlRequired = 0; if ($this->isPageTypeComposerControlRequiredByDefault) { $ptComposerFormLayoutSetControlRequired = 1; } $controlType = $this->getPageTypeComposerControlTypeObject(); $db->Execute('insert into PageTypeComposerFormLayoutSetControls (ptComposerFormLayoutSetID, ptComposerControlTypeID, ptComposerControlObject, ptComposerFormLayoutSetControlDisplayOrder, ptComposerFormLayoutSetControlRequired) values (?, ?, ?, ?, ?)', array($set->getPageTypeComposerFormLayoutSetID(), $controlType->getPageTypeComposerControlTypeID(), serialize($this), $displayOrder, $ptComposerFormLayoutSetControlRequired)); return PageTypeComposerFormLayoutSetControl::getByID($db->Insert_ID()); }
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; }
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; }