From 2b02ca4471cb90e518c58ca4ced741bc3d30ab13 Mon Sep 17 00:00:00 2001 From: Kavalar Date: Fri, 1 Aug 2025 15:06:16 +0300 Subject: [PATCH] v0.1.11 --- kernel/helpers/Version.php | 5 +++++ kernel/manifest.json | 2 +- kernel/services/KernelService.php | 9 ++++----- kernel/services/ModuleService.php | 12 +++++++----- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/kernel/helpers/Version.php b/kernel/helpers/Version.php index 3380436..bce6da9 100644 --- a/kernel/helpers/Version.php +++ b/kernel/helpers/Version.php @@ -13,4 +13,9 @@ class Version 3 => intval($version), }; } + + public static function compare($current, $version): bool|int + { + return version_compare($current, $version); + } } \ No newline at end of file diff --git a/kernel/manifest.json b/kernel/manifest.json index c8aecd0..fbf3c82 100644 --- a/kernel/manifest.json +++ b/kernel/manifest.json @@ -1,6 +1,6 @@ { "name": "Kernel", - "version": "0.1.10", + "version": "0.1.11", "author": "ITGuild", "slug": "kernel", "type": "kernel", diff --git a/kernel/services/KernelService.php b/kernel/services/KernelService.php index 28c42fc..b600371 100644 --- a/kernel/services/KernelService.php +++ b/kernel/services/KernelService.php @@ -44,12 +44,11 @@ class KernelService $kernel_info = $this->getKernelInfo(); - $kernelVersion = Version::getIntVersionByString($kernel_info['version']); - foreach ($modules_info as $mod) { - $modVersion = Version::getIntVersionByString($mod['version']); - if ($mod['slug'] === $kernel_info['slug'] && $modVersion <= $kernelVersion) { - return true; + if ($mod['slug'] === $kernel_info['slug'] ) { + if (Version::compare($kernel_info['version'], $mod['version']) >= 0){ + return true; + } } } } diff --git a/kernel/services/ModuleService.php b/kernel/services/ModuleService.php index 7fe22a0..9864fc9 100644 --- a/kernel/services/ModuleService.php +++ b/kernel/services/ModuleService.php @@ -185,7 +185,7 @@ class ModuleService if ($module_paths) { $path = json_decode($module_paths->value); foreach ($path->paths as $p) { - if (!is_dir(getConst($p))){ + if (!is_dir(getConst($p))) { $old_mask = umask(0); mkdir(getConst($p), permissions: 0775, recursive: true); umask($old_mask); @@ -492,11 +492,13 @@ class ModuleService $mod_info = $this->getModuleInfoBySlug($slug); - $currentVersion = Version::getIntVersionByString($mod_info['version']); + $currentVersion = $mod_info['version']; foreach ($modules_info as $mod) { - $modVersion = Version::getIntVersionByString($mod['version']); - if ($mod['slug'] === $mod_info['slug'] && $modVersion <= $currentVersion) { - return true; + $modVersion = $mod['version']; + if ($mod['slug'] === $mod_info['slug']) { + if (Version::compare($currentVersion, $modVersion) >= 0) { + return true; + } } } }