diff --git a/adminer/create.inc.php b/adminer/create.inc.php index 5bc501de..101ac2ab 100644 --- a/adminer/create.inc.php +++ b/adminer/create.inc.php @@ -178,13 +178,15 @@ if (support("partitioning")) { > $val) { - echo ''; - echo ''; + echo ' - + diff --git a/adminer/db.inc.php b/adminer/db.inc.php index 41fbc3bc..d0251637 100644 --- a/adminer/db.inc.php +++ b/adminer/db.inc.php @@ -33,7 +33,9 @@ if ($tables_views && !$error && !$_POST["search"]) { page_header(($_GET["ns"] == "" ? lang('Database') . ": " . h(DB) : lang('Schema') . ": " . h($_GET["ns"])), $error, true); echo '

' . ($_GET["ns"] == "" ? '' . lang('Alter database') . "\n" : ""); -echo (support("scheme") ? "" . ($_GET["ns"] != "" ? lang('Alter schema') : lang('Create schema')) . "\n" : ""); +if (support("scheme")) { + echo "" . ($_GET["ns"] != "" ? lang('Alter schema') : lang('Create schema')) . "\n"; +} if ($_GET["ns"] !== "") { echo '' . lang('Database schema') . "\n"; $sums = array("Data_length" => 0, "Index_length" => 0, "Data_free" => 0); diff --git a/compile.php b/compile.php index 2c579faf..44a37f79 100644 --- a/compile.php +++ b/compile.php @@ -207,6 +207,7 @@ foreach (glob(dirname(__FILE__) . "/adminer/drivers/" . ($driver ? $driver : "*" } include dirname(__FILE__) . "/adminer/include/pdo.inc.php"; +$features = array("view", "event", "privileges", "user", "processlist", "variables", "trigger", "scheme", "sequence"); foreach (array("adminer", "editor") as $project) { $lang_ids = array(); // global variable simplifies usage in a callback function $file = file_get_contents(dirname(__FILE__) . "/$project/index.php"); @@ -214,7 +215,7 @@ foreach (array("adminer", "editor") as $project) { $connection = (object) array("server_info" => 5.1); // MySQL support is version specific $_GET[$driver] = true; // to load the driver include_once dirname(__FILE__) . "/adminer/drivers/$driver.inc.php"; - foreach (array("view", "event", "privileges", "user", "processlist", "variables", "trigger", "scheme", "sequence") as $feature) { + foreach ($features as $feature) { if (!support($feature)) { $file = str_replace("} elseif (isset(\$_GET[\"$feature\"])) {\n\tinclude \"./$feature.inc.php\";\n", "", $file); } @@ -231,6 +232,13 @@ foreach (array("adminer", "editor") as $project) { $file = preg_replace('(include "../adminer/drivers/(?!' . preg_quote($driver) . ').*\\s*)', '', $file); } $file = preg_replace_callback('~\\b(include|require) "([^"]*)";~', 'put_file', $file); // bootstrap.inc.php + if ($driver) { + foreach ($features as $feature) { + if (!support($feature)) { + $file = preg_replace("((\t*)" . preg_quote('if (support("' . $feature . '")') . ".*\n\\1\\})sU", '', $file); + } + } + } $file = preg_replace_callback("~lang\\('((?:[^\\\\']+|\\\\.)*)'([,)])~s", 'lang_ids', $file); $file = preg_replace_callback('~\\b(include|require) "([^"]*\\$LANG.inc.php)";~', 'put_file_lang', $file); if ($_SESSION["lang"]) {