private function importEntryTypes(SectionModel $section, array $entryTypeDefinitions, $force) { $entryTypes = Craft::app()->sections->getEntryTypesBySectionId($section->id, 'handle'); foreach ($entryTypeDefinitions as $entryTypeHandle => $entryTypeDefinition) { $entryType = array_key_exists($entryTypeHandle, $entryTypes) ? $entryTypes[$entryTypeHandle] : new EntryTypeModel(); unset($entryTypes[$entryTypeHandle]); $this->populateEntryType($entryType, $entryTypeDefinition, $entryTypeHandle, $section->id); if (!Craft::app()->sections->saveEntryType($entryType)) { $this->addError($entryType->getAllErrors()); continue; } } if ($force) { foreach ($entryTypes as $entryType) { Craft::app()->sections->deleteEntryTypeById($entryType->id); } } }