public function transform(SiteExtension $siteExtension) { return ['type' => $siteExtension->getType(), 'name' => $siteExtension->getName(), 'description' => $siteExtension->getDescription(), 'version' => $siteExtension->getVersion(), 'required' => $siteExtension->isRequired(), 'enabled' => $siteExtension->isEnabled(), 'package' => $siteExtension->getPackage(), 'project' => $siteExtension->getPackage()]; }
/** * @param SiteState $state * @param SiteStateResult $result * * @return SiteExtension[] */ private function getExtensions(SiteState $state, SiteStateResult $result) { if (!$result->extensions) { return []; } $existingExtensions = $state->getSiteExtensions(); $extensions = []; foreach ($result->extensions as $slug => $extensionData) { if (isset($existingExtensions[$slug])) { $extension = $existingExtensions[$slug]; } else { $extension = new SiteExtension($state, $slug); } $extension->setFilename($extensionData->filename)->setType($extensionData->type)->setParent($extensionData->parent)->setEnabled($extensionData->enabled)->setName($extensionData->name)->setDescription($extensionData->description)->setPackage($extensionData->package)->setVersion($extensionData->version)->setRequired($extensionData->required)->setDependencies($extensionData->dependencies)->setProject($extensionData->project); $extensions[$slug] = $extension; } return $extensions; }