예제 #1
0
 /**
  * @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());
 }
예제 #2
0
 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;
 }