<?php
-
-require_once "config.php";
-
-require_once "common.php";
-
+require_once "inc/common.php";
require_once "Classes/class-message.php";
self::$list[] = $plugin;
}
}
+ static function plugin_exists($name, $version = NULL)
+ {
+ foreach(self::$list as $p)
+ if (!strcmp($p->name,$name) && (!$version || ($version >= $p->version)))
+ return true;
+
+ return false;
+ }
+
}
class Plugin
public $version;
public $description;
public $handle;
+ public $email;
public $error = NULL;
function __construct($handle)
else
{
- require_once "plugins/$handle/$handle.php";
+ require_once UPATH."/plugins/$handle/$handle.php";
if (!class_exists($handle))
$this->error = "Class \"$handle\" doesn't exist";
$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;
$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;
+}