From ff868887665e9687a17bee928a860c5d6f3002c8 Mon Sep 17 00:00:00 2001 From: Eduard Wisch Date: Mon, 13 Apr 2026 18:26:45 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Standard=20Dolibarr=20Include-Pattern=20?= =?UTF-8?q?f=C3=BCr=20setup.php=20[deploy]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit require main.inc.php funktioniert nicht bei Volume-Mounts. Jetzt Standard-Pattern mit CONTEXT_DOCUMENT_ROOT + Fallbacks. Co-Authored-By: Claude Opus 4.6 (1M context) --- admin/setup.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/admin/setup.php b/admin/setup.php index 755faf7..2002f58 100644 --- a/admin/setup.php +++ b/admin/setup.php @@ -3,9 +3,18 @@ * GPL v3+ */ -require '../../main.inc.php'; +$res = 0; +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; } +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +if (!$res && file_exists("../../main.inc.php")) $res = @include "../../main.inc.php"; +if (!$res && file_exists("../../../main.inc.php")) $res = @include "../../../main.inc.php"; +if (!$res) die("Include of main fails"); + require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; -require_once __DIR__.'/../lib/eplan.lib.php'; +dol_include_once('/eplan/lib/eplan.lib.php'); $langs->loadLangs(array('admin', 'eplan@eplan'));