🐛 Corrections autour des modules

This commit is contained in:
Kazhnuz 2025-07-12 13:24:19 +02:00
parent b2f30a0bbb
commit 90d230e2f4
3 changed files with 17 additions and 8 deletions

View file

@ -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()

View file

@ -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 . '/');

View file

@ -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);