1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-24 07:02:51 +02:00

Plugins: Load config from adminer-plugins.php

This commit is contained in:
Jakub Vrana
2025-03-19 05:05:42 +01:00
parent eb1d8d5468
commit df98f2453d
5 changed files with 20 additions and 14 deletions

View File

@@ -80,7 +80,7 @@ include "./include/adminer.inc.php";
if (function_exists('adminer_object')) {
$adminer = adminer_object();
} elseif (file_exists("adminer-plugins/")) {
} elseif (is_dir("adminer-plugins") || file_exists("adminer-plugins.php")) {
include "./include/plugins.inc.php";
$adminer = new Plugins(null);
} else {

View File

@@ -10,12 +10,16 @@ class Plugins extends Adminer {
function __construct($plugins) {
if ($plugins === null) {
$plugins = array();
foreach (glob("adminer-plugins/*.php") as $filename) {
$include = include_once "./$filename";
if (is_array($include)) { // example: return array(new AdminerLoginOtp($secret))
foreach ($include as $plugin) {
$plugins[get_class($plugin)] = $plugin;
}
$basename = "adminer-plugins";
if (is_dir($basename)) {
foreach (glob("$basename/*.php") as $filename) {
$include = include_once "./$filename";
}
}
if (file_exists("$basename.php")) {
$include = include_once "./$basename.php"; // example: return array(new AdminerLoginOtp($secret))
foreach ($include as $plugin) {
$plugins[get_class($plugin)] = $plugin;
}
}
foreach (get_declared_classes() as $class) {