From 0cd02bb98a67cc96ed6f63105034fab5bd17c188 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Mon, 20 Feb 2017 16:59:13 +0100 Subject: [PATCH] Fix dropping foreign keys linking to other database --- adminer/foreign.inc.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/adminer/foreign.inc.php b/adminer/foreign.inc.php index ef0dd6bc..07602db4 100644 --- a/adminer/foreign.inc.php +++ b/adminer/foreign.inc.php @@ -7,13 +7,15 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["change"] && !$_POST["change- $message = ($_POST["drop"] ? lang('Foreign key has been dropped.') : ($name != "" ? lang('Foreign key has been altered.') : lang('Foreign key has been created.'))); $location = ME . "table=" . urlencode($TABLE); - $row["source"] = array_filter($row["source"], 'strlen'); - ksort($row["source"]); // enforce input order - $target = array(); - foreach ($row["source"] as $key => $val) { - $target[$key] = $row["target"][$key]; + if (!$_POST["drop"]) { + $row["source"] = array_filter($row["source"], 'strlen'); + ksort($row["source"]); // enforce input order + $target = array(); + foreach ($row["source"] as $key => $val) { + $target[$key] = $row["target"][$key]; + } + $row["target"] = $target; } - $row["target"] = $target; if ($jush == "sqlite") { queries_redirect($location, $message, recreate_table($TABLE, $TABLE, array(), array(), array(" $name" => ($_POST["drop"] ? "" : " " . format_foreign_key($row)))));