From 90d230e2f4ff34b7c67413a926c189e45d90774f Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Sat, 12 Jul 2025 13:24:19 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Corrections=20autour=20des=20mod?= =?UTF-8?q?ules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bl-kernel/abstract/plugin.class.php | 16 ++++++++++++---- bl-kernel/boot/init.php | 1 + bl-kernel/boot/rules/60.plugins.php | 8 ++++---- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/bl-kernel/abstract/plugin.class.php b/bl-kernel/abstract/plugin.class.php index 9d2a1c46..b428e785 100644 --- a/bl-kernel/abstract/plugin.class.php +++ b/bl-kernel/abstract/plugin.class.php @@ -35,10 +35,18 @@ class Plugin // (array) List of custom hooks public $customHooks; - function __construct() + // domain of the module + private $domain; + + // path of the module + private $path; + + function __construct($path, $domain) { $this->dbFields = array(); $this->customHooks = array(); + $this->path = $path; + $this->domain = $domain; $reflector = new ReflectionClass(get_class($this)); @@ -59,7 +67,7 @@ class Plugin $this->filenameDb = PATH_PLUGINS_DATABASES . $this->directoryName . DS . 'db.php'; // --- Metadata --- - $this->filenameMetadata = PATH_PLUGINS . $this->directoryName() . DS . 'metadata.json'; + $this->filenameMetadata = $this->path . $this->directoryName() . DS . 'metadata.json'; $metadataString = file_get_contents($this->filenameMetadata); $this->metadata = json_decode($metadataString, true); @@ -92,7 +100,7 @@ class Plugin // This function helps to include CSS or Javascript files with absolute URL public function domainPath() { - return DOMAIN_PLUGINS . $this->directoryName . '/'; + return $this->domain . $this->directoryName . '/'; } // Returns relative path of the plugin directory @@ -106,7 +114,7 @@ class Plugin // This function helps to include PHP libraries or some file at server level public function phpPath() { - return PATH_PLUGINS . $this->directoryName . DS; + return $this->path . $this->directoryName . DS; } public function phpPathDB() diff --git a/bl-kernel/boot/init.php b/bl-kernel/boot/init.php index 47edb0f9..4813c71c 100644 --- a/bl-kernel/boot/init.php +++ b/bl-kernel/boot/init.php @@ -261,6 +261,7 @@ define('DOMAIN_UPLOADS_PAGES', DOMAIN . HTML_PATH_UPLOADS_PAGES); define('DOMAIN_UPLOADS_PROFILES', DOMAIN . HTML_PATH_UPLOADS_PROFILES); define('DOMAIN_UPLOADS_THUMBNAILS', DOMAIN . HTML_PATH_UPLOADS_THUMBNAILS); define('DOMAIN_PLUGINS', DOMAIN . HTML_PATH_PLUGINS); +define('DOMAIN_MODULES', DOMAIN . HTML_PATH_MODULES); define('DOMAIN_CONTENT', DOMAIN . HTML_PATH_CONTENT); define('DOMAIN_ADMIN', DOMAIN_BASE . ADMIN_URI_FILTER . '/'); diff --git a/bl-kernel/boot/rules/60.plugins.php b/bl-kernel/boot/rules/60.plugins.php index 8301f04b..70a2effa 100644 --- a/bl-kernel/boot/rules/60.plugins.php +++ b/bl-kernel/boot/rules/60.plugins.php @@ -49,7 +49,7 @@ $pluginsInstalled = array(); // Functions // ============================================================================ -function buildPlugins($path, $autoActivate = false) +function buildPlugins($path, $domain, $autoActivate = false) { global $plugins; global $pluginsEvents; @@ -74,7 +74,7 @@ function buildPlugins($path, $autoActivate = false) $pluginsDeclaredClasess = array_diff(get_declared_classes(), $currentDeclaredClasess); foreach ($pluginsDeclaredClasess as $pluginClass) { - $Plugin = new $pluginClass; + $Plugin = new $pluginClass($path, $domain); // Check if the plugin is translated $languageFilename = $path.$Plugin->directoryName().DS.'languages'.DS.$site->language().'.json'; @@ -135,5 +135,5 @@ function buildPlugins($path, $autoActivate = false) // Main // ============================================================================ -buildPlugins(PATH_PLUGINS); -buildPlugins(PATH_MODULES, true); +buildPlugins(PATH_PLUGINS, DOMAIN_PLUGINS); +buildPlugins(PATH_MODULES, DOMAIN_MODULES, true);