public function saveModuleInfo(ModuleInfo $moduleInfo) { if (!$this->isModuleInfoEditable()) { throw new IllegalStateException('ModuleInfo not editable.'); } $infoAttributes = new Attributes(); $infoAttributes->appendAll(array(self::NAME_KEY => $moduleInfo->getName(), self::AUTHOR_KEY => $moduleInfo->getAuthor(), self::WEBSITE_KEY => $moduleInfo->getWebsite(), self::LICENSE_KEY => $moduleInfo->getLicense()), true); $metaAttributes = new Attributes(); $metaAttributes->appendAll(array(self::VERSION_KEY => $moduleInfo->getVersion(), self::DEPENDENCIES_KEY => $moduleInfo->getDependencies(), self::INSTALL_DESCRIBER_KEY => $moduleInfo->getInstallDescriberClassName(), self::CONFIG_DESCRIBER_KEY => $moduleInfo->getConfigDescriberClassName())); $this->moduleConfigSource->writeArray(array(self::GROUP_INFO => $infoAttributes->toArray(), self::GROUP_META => $metaAttributes->toArray())); }
protected function writeCustomAttributes(Attributes $attributes) { $configSource = new JsonFileConfigSource($this->n2nContext->getVarStore()->requestFileFsPath(VarStore::CATEGORY_SRV, $this->module, null, self::CONF_FILE, true, true)); $configSource->writeArray($attributes->toArray()); }