]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/commitdiff
functions for requiring a plugin and ensuring it exists
authorValerie Pond <redacted>
Mon, 13 Mar 2023 18:56:21 +0000 (18:56 +0000)
committerValerie Pond <redacted>
Mon, 13 Mar 2023 18:56:21 +0000 (18:56 +0000)
plugins.php

index de3307e1af6f4d87259ad04e79425dc7d4f5f652..6d521eb87b6424c2d46778286095018c5a4d6d82 100644 (file)
@@ -46,6 +46,15 @@ class Plugins
                        self::$list[] = $plugin;
                }
        }
+       static function plugin_exists($name, $version = NULL)
+       {
+               foreach(self::$list as $p)
+                       if (!strcasecmp($p->name,$name) && (!$version || ($version >= $p->version)))
+                               return true;
+
+               return false;
+       }
+
 }
 
 class Plugin
@@ -105,4 +114,11 @@ if (defined('PLUGINS'))
 {
        foreach(PLUGINS as $plugin)
                Plugins::load($plugin);
+}
+
+/* Requires the plugin */
+function require_plugin($name, $version)
+{
+       if (!Plugins::plugin_exists($name,$version))
+               die("Missing plugin: $name v$version");
 }
\ No newline at end of file