mirror of
https://github.com/vrana/adminer.git
synced 2026-01-06 07:41:01 +01:00
Prepare for foreign keys edit
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@139 7c3ca157-0c34-0410-bff1-cbf682f78f5c
This commit is contained in:
@@ -76,13 +76,13 @@ function foreign_keys($table) {
|
||||
if ($result) {
|
||||
$create_table = $mysql->result($result, 1);
|
||||
$result->free();
|
||||
preg_match_all("~FOREIGN KEY \\(((?:`$pattern`,? ?)+)\\) REFERENCES `($pattern)`(?:\\.`($pattern)`)? \\(((?:`$pattern`,? ?)+)\\)~", $create_table, $matches, PREG_SET_ORDER);
|
||||
preg_match_all("~CONSTRAINT `($pattern)` FOREIGN KEY \\(((?:`$pattern`,? ?)+)\\) REFERENCES `($pattern)`(?:\\.`($pattern)`)? \\(((?:`$pattern`,? ?)+)\\)~", $create_table, $matches, PREG_SET_ORDER);
|
||||
foreach ($matches as $match) {
|
||||
$db = idf_unescape(strlen($match[3]) ? $match[2] : $match[3]);
|
||||
$table = idf_unescape(strlen($match[3]) ? $match[3] : $match[2]);
|
||||
preg_match_all("~`($pattern)`~", $match[1], $source);
|
||||
preg_match_all("~`($pattern)`~", $match[4], $target);
|
||||
$return[] = array($db, $table, array_map('idf_unescape', $source[1]), array_map('idf_unescape', $target[1]));
|
||||
$db = idf_unescape(strlen($match[4]) ? $match[3] : $match[4]);
|
||||
$table = idf_unescape(strlen($match[4]) ? $match[4] : $match[3]);
|
||||
preg_match_all("~`($pattern)`~", $match[2], $source);
|
||||
preg_match_all("~`($pattern)`~", $match[5], $target);
|
||||
$return[$match[1]] = array($db, $table, array_map('idf_unescape', $source[1]), array_map('idf_unescape', $target[1]));
|
||||
}
|
||||
}
|
||||
return $return;
|
||||
|
||||
Reference in New Issue
Block a user