fix: Ne pas appliquer `chdir` sur Adminer, ça peut poser des soucis

- On utilise `__DIR__` (php 5.4+) (et donc SPIP 3.2+)
- Déclarer `ini_set` si pas présent (php 8+) car Adminer l’utilise sans vérifier
master
Matthieu Marcillaud 2 weeks ago
parent beea88b7d1
commit 1627e71035

@ -1,10 +1,6 @@
#HTTP_HEADER{Content-type: text/html}
<?php
include_once _DIR_PLUGIN_ADMINER."index.php";
require_once 'adminer.php';
chdir (_ROOT_RACINE."ecrire/");
include_once _DIR_PLUGIN_ADMINER . "index.php";
/* On insere la css inline car adminer injecte une url relative a ecrire/ qui est en 404 */
?>
[<style type="text/css">(#INCLURE{adminer.css}|compacte{css})</style>]

@ -80,7 +80,6 @@ if (
eval('?' . '>' . $connect);
}
chdir(_DIR_PLUGIN_ADMINER);
session_name('adminer_sid');
if (defined('_ADMINER_VERROUILLER_DB')) {
@ -90,11 +89,11 @@ if (defined('_ADMINER_VERROUILLER_DB')) {
function adminer_object()
{
// required to run any plugin
include_once './plugins/plugin.php';
include_once __DIR__ . '/plugins/plugin.php';
// autoloader
foreach (glob('plugins/*.php') as $filename) {
include_once "./$filename";
foreach (glob(__DIR__ . '/plugins/*.php') as $filename) {
include_once $filename;
}
$plugins = array(
@ -106,4 +105,10 @@ function adminer_object()
return new AdminerPlugin($plugins);
}
require_once 'adminer.php';
# PHP 8+ : les fonctions désactivées nexistent plus,
# mais Adminer (4.8.1) ne vérifie pas
if (!function_exists('ini_set')) {
function ini_set() {};
}
require_once __DIR__ . '/adminer.php';

Loading…
Cancel
Save