|PHP |Moneta v`. * * @package paygw_moneta * @copyright 2026 Moneta Labs {@link https://moneta.ru/} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ final class CmsInfo { private const CMS_NAME = 'Moodle'; private const MODULE_NAME = 'Moneta'; private function __construct() {} public static function getCmsModuleVersion(): string { global $CFG; $pluginInfo = \core_plugin_manager::instance()->get_plugin_info('paygw_moneta'); $moduleVersion = $pluginInfo?->release ?? (string) ($pluginInfo?->versiondisk ?? 'unknown'); return self::format( cmsVersion: (string) ($CFG->release ?? 'unknown'), phpVersion: PHP_VERSION, moduleVersion: (string) $moduleVersion, ); } public static function format(string $cmsVersion, string $phpVersion, string $moduleVersion): string { return sprintf( '%s v%s|PHP %s|%s v%s', self::CMS_NAME, $cmsVersion, $phpVersion, self::MODULE_NAME, $moduleVersion, ); } }