blog->settings->addNamespace('improve'); self::update_0_8_0(); self::putSettings(); self::setVersion(); return true; } private static function getDotclearVersion(): string { return dcCore::app()->plugins->moduleInfo('improve', 'requires')[0][1]; } private static function getInstalledVersion(): string { $version = dcCore::app()->getVersion('improve'); return is_string($version) ? $version : '0'; } private static function checkModuleVersion(): bool { return version_compare( self::getInstalledVersion(), dcCore::app()->plugins->moduleInfo('improve', 'version'), '<' ); } private static function checkDotclearVersion(): bool { return method_exists('dcUtils', 'versionsCompare') && dcUtils::versionsCompare(DC_VERSION, self::getDotclearVersion(), '>=', false); } private static function putSettings(): void { foreach (self::$default_settings as $v) { dcCore::app()->blog->settings->improve->put( $v[0], $v[2], $v[3], $v[1], false, true ); } } private static function setVersion(): void { dcCore::app()->setVersion('improve', dcCore::app()->plugins->moduleInfo('improve', 'version')); } /** Update improve < 0.8 : action modules settings name */ private static function update_0_8_0(): void { if (version_compare(self::getInstalledVersion(), '0.8', '<')) { foreach (dcCore::app()->blog->settings->improve->dumpGlobalSettings() as $id => $values) { $newId = str_replace('ImproveAction', '', $id); if ($id != $newId) { dcCore::app()->blog->settings->improve->rename($id, strtolower($newId)); } } } } } /* process */ try { return install::process(); } catch (Exception $e) { dcCore::app()->error->add($e->getMessage()); return false; }