/** * @param SJB_FormBuilderData $builderData * @return bool * @throws Exception */ public static function save(SJB_FormBuilderData $builderData) { $listingTypeID = $builderData->getListingTypeID(); $listingTypeSID = SJB_ListingTypeManager::getListingTypeSIDByID($listingTypeID); if (!$listingTypeSID) { throw new Exception('Wrong listing type ID is specified'); } $fieldsHolders = $builderData->getFieldsHoldersData(); SJB_FieldsHolder::saveProcess($listingTypeSID, $fieldsHolders); if ($builderData->getType() == SJB_FormBuilderManager::FORM_BUILDER_TYPE_DISPLAY) { self::saveLayout($listingTypeID, $builderData); } return true; }