/** * Get a container revision * * @param $revisionData * * @return Revision */ private function getRevision($revisionData) { $revision = new Revision(); $revision->setRevisionId($revisionData['revisionId']); $revision->setAuthor($revisionData['author']); $revision->setCreatedDate($revisionData['createdDate']); $revision->publishRevision(); $revision->setPublishedDate($revisionData['publishedDate']); $revision->setMd5($revisionData['md5']); foreach ($revisionData['instances'] as $instance) { $plugin = new PluginInstance(); $plugin->setInstanceId($instance['instance']['pluginInstanceId']); $plugin->setPlugin($instance['instance']['plugin']); $plugin->setDisplayName($instance['instance']['displayName']); $plugin->setInstanceConfig($instance['instance']['instanceConfig']); $plugin->setMd5($instance['instance']['md5']); if ($instance['instance']['siteWide']) { $plugin->setSiteWide(); $this->site->addSiteWidePlugin($plugin); } $wrapper = new PluginWrapper(); $wrapper->setPluginWrapperId($instance['pluginWrapperId']); $wrapper->setLayoutContainer($instance['layoutContainer']); $wrapper->setRenderOrderNumber($instance['renderOrder']); $wrapper->setHeight($instance['height']); $wrapper->setWidth($instance['width']); $wrapper->setDivFloat($instance['divFloat']); $wrapper->setInstance($plugin); $revision->addPluginWrapper($wrapper); } return $revision; }
/** * updateSiteSitewide * * @param PluginInstanceEntity $pluginInstance * @param SiteEntity $site * @param null $oldPluginInstance * * @return void */ public function updateSiteSitewide(PluginInstanceEntity $pluginInstance, SiteEntity $site, $oldPluginInstance = null) { // ignore non-sitewides if (!$pluginInstance->isSiteWide()) { return; } if (!empty($oldPluginInstance)) { $site->removeSiteWidePlugin($oldPluginInstance); } $site->addSiteWidePlugin($pluginInstance); $this->_em->persist($site); }