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