From 86b12fc06c33fe742ac4035a031716674bdb6462 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 2 Mar 2021 13:38:03 +0300 Subject: pluginhost: remove namespace classloader, plugins should use composer instead --- classes/pluginhost.php | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/classes/pluginhost.php b/classes/pluginhost.php index 2708099c8..e96bbaa7c 100755 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -274,16 +274,14 @@ class PluginHost { $class = trim($class); $class_file = strtolower(basename(clean($class))); - if (!is_dir(__DIR__ . "/../plugins/$class_file") && - !is_dir(__DIR__ . "/../plugins.local/$class_file")) continue; - // try system plugin directory first - $file = __DIR__ . "/../plugins/$class_file/init.php"; - $vendor_dir = __DIR__ . "/../plugins/$class_file/vendor"; + $file = dirname(__DIR__) . "/plugins/$class_file/init.php"; if (!file_exists($file)) { - $file = __DIR__ . "/../plugins.local/$class_file/init.php"; - $vendor_dir = __DIR__ . "/../plugins.local/$class_file/vendor"; + $file = dirname(__DIR__) . "/plugins.local/$class_file/init.php"; + + if (!file_exists($file)) + continue; } if (!isset($this->plugins[$class])) { @@ -296,27 +294,7 @@ class PluginHost { if (class_exists($class) && is_subclass_of($class, "Plugin")) { - // register plugin autoloader if necessary, for namespaced classes ONLY - // layout corresponds to tt-rss main /vendor/author/Package/Class.php - - if (file_exists($vendor_dir)) { - spl_autoload_register(function($class) use ($vendor_dir) { - - if (strpos($class, '\\') !== false) { - list ($namespace, $class_name) = explode('\\', $class, 2); - - if ($namespace && $class_name) { - $class_file = "$vendor_dir/$namespace/" . str_replace('\\', '/', $class_name) . ".php"; - - if (file_exists($class_file)) - require_once $class_file; - } - } - }); - } - $plugin = new $class($this); - $plugin_api = $plugin->api_version(); if ($plugin_api < self::API_VERSION) { -- cgit v1.2.3