X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/93a3dfcb17ff8283ecd91cb74d68828cef867d36..c06c1713af2db485d55a91073bbc5b63b6aa8c0b:/plugins.php diff --git a/plugins.php b/plugins.php index 969479e..2f433cb 100644 --- a/plugins.php +++ b/plugins.php @@ -1,9 +1,5 @@ name,$name) && (!$version || ($version >= $p->version))) + return true; + + return false; + } + } class Plugin @@ -55,6 +60,7 @@ class Plugin public $version; public $description; public $handle; + public $email; public $error = NULL; function __construct($handle) @@ -84,6 +90,8 @@ class Plugin $this->error = "Plugin version not defined"; elseif (!isset($plugin->description)) $this->error = "Plugin description not defined"; + elseif (!isset($plugin->email)) + $this->error = "Plugin email not defined"; else { $this->handle = $handle; @@ -91,14 +99,33 @@ class Plugin $this->author = $plugin->author; $this->version = $plugin->version; $this->description = $plugin->description; + $this->email = $plugin->email; } } } } } -if (defined('PLUGINS')) +if (get_config("plugins")) { - foreach(PLUGINS as $plugin) + foreach(get_config("plugins") as $plugin) Plugins::load($plugin); -} \ No newline at end of file +} + +/* Requires the plugin */ +function require_plugin($name, $version) +{ + if (!Plugins::plugin_exists($name,$version)) + die("Missing plugin: $name v$version"); +} + +/* I'm not a fan of globals */ +class AuthModLoaded +{ + public static $status = 0; +} + +function is_auth_provided() +{ + return AuthModLoaded::$status; +}