GcDevelopment\Controller\DocumentTypeController::saveTabs PHP Method

saveTabs() protected method

Save tabs
protected saveTabs ( Zend\InputFilter\InputFilter $tabsSubform, Model $documentType ) : array
$tabsSubform Zend\InputFilter\InputFilter Tabs sub form
$documentType Gc\DocumentType\Model 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;
    }