Define functions unconditionally
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1075 7c3ca157-0c34-0410-bff1-cbf682f78f5c
This commit is contained in:
parent
b9ffd64dd3
commit
464d84afd7
|
@ -1,31 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
$TABLE = $_GET["dump"];
|
$TABLE = $_GET["dump"];
|
||||||
|
|
||||||
function tar_file($filename, $contents) {
|
|
||||||
$return = pack("a100a8a8a8a12a12", $filename, 644, 0, 0, decoct(strlen($contents)), decoct(time()));
|
|
||||||
$checksum = 8*32; // space for checksum itself
|
|
||||||
for ($i=0; $i < strlen($return); $i++) {
|
|
||||||
$checksum += ord($return{$i});
|
|
||||||
}
|
|
||||||
$return .= sprintf("%06o", $checksum) . "\0 ";
|
|
||||||
return $return . str_repeat("\0", 512 - strlen($return)) . $contents . str_repeat("\0", 511 - (strlen($contents) + 511) % 512);
|
|
||||||
}
|
|
||||||
|
|
||||||
function dump_triggers($table, $style) {
|
|
||||||
global $dbh;
|
|
||||||
if ($_POST["format"] == "sql" && $style && $dbh->server_info >= 5) {
|
|
||||||
$result = $dbh->query("SHOW TRIGGERS LIKE " . $dbh->quote(addcslashes($table, "%_")));
|
|
||||||
if ($result->num_rows) {
|
|
||||||
$s = "\nDELIMITER ;;\n";
|
|
||||||
while ($row = $result->fetch_assoc()) {
|
|
||||||
$s .= "\n" . ($style == 'CREATE+ALTER' ? "DROP TRIGGER IF EXISTS " . idf_escape($row["Trigger"]) . ";;\n" : "")
|
|
||||||
. "CREATE TRIGGER " . idf_escape($row["Trigger"]) . " $row[Timing] $row[Event] ON " . idf_escape($row["Table"]) . " FOR EACH ROW\n$row[Statement];;\n";
|
|
||||||
}
|
|
||||||
dump("$s\nDELIMITER ;\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($_POST) {
|
if ($_POST) {
|
||||||
$ext = dump_headers((strlen($TABLE) ? $TABLE : DB), (!strlen(DB) || count((array) $_POST["tables"] + (array) $_POST["data"]) > 1));
|
$ext = dump_headers((strlen($TABLE) ? $TABLE : DB), (!strlen(DB) || count((array) $_POST["tables"] + (array) $_POST["data"]) > 1));
|
||||||
if ($_POST["format"] == "sql") {
|
if ($_POST["format"] == "sql") {
|
||||||
|
|
|
@ -457,3 +457,5 @@ class Adminer {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$adminer = (function_exists('adminer_object') ? adminer_object() : new Adminer);
|
||||||
|
|
|
@ -82,7 +82,6 @@ include "../adminer/include/functions.inc.php";
|
||||||
include "../adminer/include/lang.inc.php";
|
include "../adminer/include/lang.inc.php";
|
||||||
include "../adminer/lang/$LANG.inc.php";
|
include "../adminer/lang/$LANG.inc.php";
|
||||||
include "./include/adminer.inc.php";
|
include "./include/adminer.inc.php";
|
||||||
$adminer = (function_exists('adminer_object') ? adminer_object() : new Adminer);
|
|
||||||
include "../adminer/include/design.inc.php";
|
include "../adminer/include/design.inc.php";
|
||||||
include "../adminer/include/pdo.inc.php";
|
include "../adminer/include/pdo.inc.php";
|
||||||
include "../adminer/include/mysql.inc.php";
|
include "../adminer/include/mysql.inc.php";
|
||||||
|
|
|
@ -20,7 +20,7 @@ function referencable_primary($self) {
|
||||||
function edit_type($key, $field, $collations, $foreign_keys = array()) {
|
function edit_type($key, $field, $collations, $foreign_keys = array()) {
|
||||||
global $structured_types, $unsigned, $inout;
|
global $structured_types, $unsigned, $inout;
|
||||||
?>
|
?>
|
||||||
<td><select name="<?php echo $key; ?>[type]" onchange="editing_type_change(this);"><?php echo optionlist($structured_types + ($foreign_keys ? array(lang('Foreign keys') => $foreign_keys) : array()), $field["type"]); ?></select>
|
<td><select name="<?php echo $key; ?>[type]" onchange="editing_type_change(this);"><?php echo optionlist($structured_types + ($foreign_keys ? array(lang('Foreign keys') => $foreign_keys) : array()), $field["type"]); // foreign keys can be wide but style="width: 15ex;" narrows expanded optionlist in IE too ?></select>
|
||||||
<td><input name="<?php echo $key; ?>[length]" value="<?php echo h($field["length"]); ?>" size="3">
|
<td><input name="<?php echo $key; ?>[length]" value="<?php echo h($field["length"]); ?>" size="3">
|
||||||
<td><?php
|
<td><?php
|
||||||
echo "<select name='$key" . "[collation]'" . (ereg('(char|text|enum|set)$', $field["type"]) ? "" : " class='hidden'") . '><option value="">(' . lang('collation') . ')' . optionlist($collations, $field["collation"]) . '</select>';
|
echo "<select name='$key" . "[collation]'" . (ereg('(char|text|enum|set)$', $field["type"]) ? "" : " class='hidden'") . '><option value="">(' . lang('collation') . ')' . optionlist($collations, $field["collation"]) . '</select>';
|
||||||
|
@ -171,3 +171,17 @@ function routine($name, $type) {
|
||||||
$returns = array("type" => $match[10], "length" => $match[11], "unsigned" => $match[13], "collation" => $match[14]);
|
$returns = array("type" => $match[10], "length" => $match[11], "unsigned" => $match[13], "collation" => $match[14]);
|
||||||
return array("fields" => $fields, "returns" => $returns, "definition" => $match[15]);
|
return array("fields" => $fields, "returns" => $returns, "definition" => $match[15]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function grant($grant, $privileges, $columns, $on) {
|
||||||
|
if (!$privileges) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if ($privileges == array("ALL PRIVILEGES", "GRANT OPTION")) {
|
||||||
|
// can't be granted or revoked together
|
||||||
|
return ($grant == "GRANT"
|
||||||
|
? queries("$grant ALL PRIVILEGES$on WITH GRANT OPTION")
|
||||||
|
: queries("$grant ALL PRIVILEGES$on") && queries("$grant GRANT OPTION$on")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return queries("$grant " . preg_replace('~(GRANT OPTION)\\([^)]*\\)~', '\\1', implode("$columns, ", $privileges) . $columns) . $on);
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,29 @@
|
||||||
<?php
|
<?php
|
||||||
|
function tar_file($filename, $contents) {
|
||||||
|
$return = pack("a100a8a8a8a12a12", $filename, 644, 0, 0, decoct(strlen($contents)), decoct(time()));
|
||||||
|
$checksum = 8*32; // space for checksum itself
|
||||||
|
for ($i=0; $i < strlen($return); $i++) {
|
||||||
|
$checksum += ord($return{$i});
|
||||||
|
}
|
||||||
|
$return .= sprintf("%06o", $checksum) . "\0 ";
|
||||||
|
return $return . str_repeat("\0", 512 - strlen($return)) . $contents . str_repeat("\0", 511 - (strlen($contents) + 511) % 512);
|
||||||
|
}
|
||||||
|
|
||||||
|
function dump_triggers($table, $style) {
|
||||||
|
global $dbh;
|
||||||
|
if ($_POST["format"] == "sql" && $style && $dbh->server_info >= 5) {
|
||||||
|
$result = $dbh->query("SHOW TRIGGERS LIKE " . $dbh->quote(addcslashes($table, "%_")));
|
||||||
|
if ($result->num_rows) {
|
||||||
|
$s = "\nDELIMITER ;;\n";
|
||||||
|
while ($row = $result->fetch_assoc()) {
|
||||||
|
$s .= "\n" . ($style == 'CREATE+ALTER' ? "DROP TRIGGER IF EXISTS " . idf_escape($row["Trigger"]) . ";;\n" : "")
|
||||||
|
. "CREATE TRIGGER " . idf_escape($row["Trigger"]) . " $row[Timing] $row[Event] ON " . idf_escape($row["Table"]) . " FOR EACH ROW\n$row[Statement];;\n";
|
||||||
|
}
|
||||||
|
dump("$s\nDELIMITER ;\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function dump_table($table, $style, $is_view = false) {
|
function dump_table($table, $style, $is_view = false) {
|
||||||
global $dbh;
|
global $dbh;
|
||||||
if ($_POST["format"] == "csv") {
|
if ($_POST["format"] == "csv") {
|
||||||
|
|
|
@ -19,20 +19,6 @@ foreach ($privileges["Tables"] as $key => $val) {
|
||||||
unset($privileges["Databases"][$key]);
|
unset($privileges["Databases"][$key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function grant($grant, $privileges, $columns, $on) {
|
|
||||||
if (!$privileges) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if ($privileges == array("ALL PRIVILEGES", "GRANT OPTION")) {
|
|
||||||
// can't be granted or revoked together
|
|
||||||
return ($grant == "GRANT"
|
|
||||||
? queries("$grant ALL PRIVILEGES$on WITH GRANT OPTION")
|
|
||||||
: queries("$grant ALL PRIVILEGES$on") && queries("$grant GRANT OPTION$on")
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return queries("$grant " . preg_replace('~(GRANT OPTION)\\([^)]*\\)~', '\\1', implode("$columns, ", $privileges) . $columns) . $on);
|
|
||||||
}
|
|
||||||
|
|
||||||
$new_grants = array();
|
$new_grants = array();
|
||||||
if ($_POST) {
|
if ($_POST) {
|
||||||
foreach ($_POST["objects"] as $key => $val) {
|
foreach ($_POST["objects"] as $key => $val) {
|
||||||
|
|
|
@ -5,6 +5,7 @@ Compress export and import
|
||||||
Display column comments in table overview
|
Display column comments in table overview
|
||||||
Use ON DUPLICATE KEY UPDATE for CSV import
|
Use ON DUPLICATE KEY UPDATE for CSV import
|
||||||
Click on row selects it
|
Click on row selects it
|
||||||
|
Print ALTER export instead of executing it
|
||||||
Fix Editor date format
|
Fix Editor date format
|
||||||
Fix long SQL query crash (bug #2839231)
|
Fix long SQL query crash (bug #2839231)
|
||||||
Traditional Chinese translation
|
Traditional Chinese translation
|
||||||
|
|
|
@ -355,3 +355,5 @@ ORDER BY ORDINAL_POSITION"); //! requires MySQL 5
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$adminer = (function_exists('adminer_object') ? adminer_object() : new Adminer);
|
||||||
|
|
Loading…
Reference in a new issue