]> git.joonet.de Git - adminer.git/commitdiff
Fix plugin autoloading
authorJakub Vrana <jakub@vrana.cz>
Wed, 5 Mar 2025 14:39:48 +0000 (15:39 +0100)
committerJakub Vrana <jakub@vrana.cz>
Wed, 5 Mar 2025 14:39:48 +0000 (15:39 +0100)
plugins/plugin.php

index aa63798d9a72707859652879955f3ceaa278df49..ccef2f20c54656c2643a78c8843c387c4b6f04d4 100644 (file)
@@ -10,14 +10,6 @@ class AdminerPlugin extends Adminer\Adminer {
        /** @access protected */
        var $plugins;
 
-       function _findRootClass($class) {
-               // is_subclass_of(string, string) is available since PHP 5.0.3
-               do {
-                       $return = $class;
-               } while ($class = get_parent_class($class));
-               return $return;
-       }
-
        /** Register plugins
        * @param array object instances or null to register all classes starting by 'Adminer'
        */
@@ -25,7 +17,7 @@ class AdminerPlugin extends Adminer\Adminer {
                if ($plugins === null) {
                        $plugins = array();
                        foreach (get_declared_classes() as $class) {
-                               if (preg_match('~^Adminer.~i', $class) && strcasecmp($this->_findRootClass($class), 'Adminer')) { //! can use interface
+                               if (preg_match('~^Adminer\w~i', $class) && !is_subclass_of($class, 'Adminer\Adminer')) {
                                        $plugins[$class] = new $class;
                                }
                        }