Пример #1
0
 /**
  * Save tabs
  *
  * @param Zend\InputFilter\InputFilter $tabsSubform  Tabs sub form
  * @param DocumentType\Model           $documentType DocumentType model
  *
  * @return array
  */
 protected function saveTabs($tabsSubform, $documentType)
 {
     $existingTabs = array();
     $idx = 0;
     foreach ($tabsSubform->getValidInput() as $tabId => $tabValues) {
         if (!preg_match('~^tab(\\d+)$~', $tabId, $matches)) {
             continue;
         }
         $tabId = $matches[1];
         $tabModel = Tab\Model::fromId($tabId);
         if (empty($tabModel) or $tabModel->getDocumentTypeId() != $documentType->getId()) {
             $tabModel = new Tab\Model();
         }
         $tabModel->setDescription($tabValues->getValue('description'));
         $tabModel->setName($tabValues->getValue('name'));
         $tabModel->setDocumentTypeId($documentType->getId());
         $tabModel->setSortOrder(++$idx);
         $tabModel->save();
         $existingTabs[$tabId] = $tabModel->getId();
     }
     return $existingTabs;
 }