1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2025-12-13 11:05:55 +00:00

pluginhost: allow loading user plugins from plugins.local

This commit is contained in:
Andrew Dolgov
2015-06-05 17:54:52 +03:00
parent c3dfc1bdb5
commit 7c0a2ab202
4 changed files with 26 additions and 3 deletions

View File

@@ -129,7 +129,15 @@ class PluginHost {
}
}
function load_all($kind, $owner_uid = false) {
$plugins = array_map("basename", glob("plugins/*"));
$plugins = array_map("basename", array_filter(glob("plugins/*"), "is_dir"));
if (is_dir("plugins.local")) {
$plugins = array_merge($plugins, array_map("basename",
array_filter(glob("plugins.local/*"), "is_dir")));
}
asort($plugins);
$this->load(join(",", $plugins), $kind, $owner_uid);
}
@@ -142,9 +150,15 @@ class PluginHost {
$class = trim($class);
$class_file = strtolower(basename($class));
if (!is_dir(dirname(__FILE__)."/../plugins/$class_file")) continue;
if (!is_dir(__DIR__."/../plugins/$class_file") &&
!is_dir(__DIR__."/../plugins.local/$class_file")) continue;
$file = dirname(__FILE__)."/../plugins/$class_file/init.php";
// try system plugin directory first
$file = __DIR__ . "/../plugins/$class_file/init.php";
if (!file_exists($file)) {
$file = __DIR__ . "/../plugins.local/$class_file/init.php";
}
if (!isset($this->plugins[$class])) {
if (file_exists($file)) require_once $file;