summaryrefslogtreecommitdiff
path: root/lib/statusnet.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/statusnet.php')
-rw-r--r--lib/statusnet.php26
1 files changed, 20 insertions, 6 deletions
diff --git a/lib/statusnet.php b/lib/statusnet.php
index f8bf87960..63d8cb3da 100644
--- a/lib/statusnet.php
+++ b/lib/statusnet.php
@@ -34,6 +34,25 @@ class StatusNet
protected static $plugins = array();
/**
+ * Return a list of possible filenames that plugin $name can be in.
+ *
+ * @param string $name class name & plugin file/subdir name
+ */
+ public static function pluginFiles($name) {
+ $name = ucfirst($name);
+ $pluginclass = "{$name}Plugin";
+
+ $files = array("local/plugins/{$pluginclass}.php",
+ "local/plugins/{$name}/{$pluginclass}.php",
+ "local/{$pluginclass}.php",
+ "local/{$name}/{$pluginclass}.php",
+ "plugins/{$pluginclass}.php",
+ "plugins/{$name}/{$pluginclass}.php");
+
+ return $files;
+ }
+
+ /**
* Configure and instantiate a plugin into the current configuration.
* Class definitions will be loaded from standard paths if necessary.
* Note that initialization events won't be fired until later.
@@ -50,12 +69,7 @@ class StatusNet
if (!class_exists($pluginclass)) {
- $files = array("local/plugins/{$pluginclass}.php",
- "local/plugins/{$name}/{$pluginclass}.php",
- "local/{$pluginclass}.php",
- "local/{$name}/{$pluginclass}.php",
- "plugins/{$pluginclass}.php",
- "plugins/{$name}/{$pluginclass}.php");
+ $files = self::pluginFiles($name);
foreach ($files as $file) {
$fullpath = INSTALLDIR.'/'.$file;