From c30f6227a2d43fc608ee31e2e685e6d161e129dd Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Tue, 10 Feb 2026 19:32:45 +0100 Subject: [PATCH] Schema: Avoid PHP warning when referencing another schema --- adminer/schema.inc.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/adminer/schema.inc.php b/adminer/schema.inc.php index 0eed7aea..40becb0c 100644 --- a/adminer/schema.inc.php +++ b/adminer/schema.inc.php @@ -103,16 +103,18 @@ foreach ($schema as $name => $table) { foreach ($schema as $name => $table) { foreach ((array) $table["references"] as $target_name => $refs) { - foreach ($refs as $left => $ref) { - $min_pos = $top; - $max_pos = -10; - foreach ($ref[0] as $key => $source) { - $pos1 = $table["pos"][0] + $table["fields"][$source]["pos"]; - $pos2 = $schema[$target_name]["pos"][0] + $schema[$target_name]["fields"][$ref[1][$key]]["pos"]; - $min_pos = min($min_pos, $pos1, $pos2); - $max_pos = max($max_pos, $pos1, $pos2); + if ($schema[$target_name]) { // otherwise table in another schema + foreach ($refs as $left => $ref) { + $min_pos = $top; + $max_pos = -10; + foreach ($ref[0] as $key => $source) { + $pos1 = $table["pos"][0] + $table["fields"][$source]["pos"]; + $pos2 = $schema[$target_name]["pos"][0] + $schema[$target_name]["fields"][$ref[1][$key]]["pos"]; + $min_pos = min($min_pos, $pos1, $pos2); + $max_pos = max($max_pos, $pos1, $pos2); + } + echo "
\n"; } - echo "
\n"; } } }