mirror of
https://github.com/vrana/adminer.git
synced 2025-09-05 20:02:54 +02:00
Compare commits
45 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
8bf02f2ce1 | ||
|
00b9e2c010 | ||
|
cdec2c9292 | ||
|
ce83605174 | ||
|
0069d9f13e | ||
|
ab20c18c2e | ||
|
0ac5a666b4 | ||
|
ed71d4a1f5 | ||
|
2703eb960a | ||
|
8c91fd5966 | ||
|
f7f553a947 | ||
|
2fb1ebc7f1 | ||
|
ef723fb348 | ||
|
ebdecd288b | ||
|
998ef45b08 | ||
|
d5d8a6c8bc | ||
|
ee8ffa575f | ||
|
d2ee9d85b1 | ||
|
a5548ce823 | ||
|
697034f329 | ||
|
cb1d7d459b | ||
|
fa4026bdbd | ||
|
0408c21d07 | ||
|
7015fd9706 | ||
|
7865695a86 | ||
|
dad8996c01 | ||
|
0614260544 | ||
|
da08af5eb9 | ||
|
75c430a986 | ||
|
7ce485bc78 | ||
|
8ec3e5fcda | ||
|
6705fb2993 | ||
|
29e65523d3 | ||
|
b684569f7c | ||
|
996bfc396b | ||
|
f3c59bb3a5 | ||
|
906345ad81 | ||
|
4024f34d79 | ||
|
2264e09021 | ||
|
9a30f14797 | ||
|
189895ad0f | ||
|
86b0fbf529 | ||
|
a89ab34a8e | ||
|
534f4ee5cc | ||
|
55c757a59a |
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -16,6 +16,3 @@
|
|||||||
[submodule "JsShrink"]
|
[submodule "JsShrink"]
|
||||||
path = externals/JsShrink
|
path = externals/JsShrink
|
||||||
url = git://github.com/vrana/JsShrink.git
|
url = git://github.com/vrana/JsShrink.git
|
||||||
[submodule "CodeMirror2"]
|
|
||||||
path = externals/CodeMirror2
|
|
||||||
url = git://github.com/marijnh/CodeMirror2.git
|
|
||||||
|
@@ -183,8 +183,9 @@ edit_fields($row["fields"], $collations, "TABLE", $suhosin, $foreign_keys, $comm
|
|||||||
</table>
|
</table>
|
||||||
<p>
|
<p>
|
||||||
<?php echo lang('Auto Increment'); ?>: <input name="Auto_increment" size="6" value="<?php echo h($row["Auto_increment"]); ?>">
|
<?php echo lang('Auto Increment'); ?>: <input name="Auto_increment" size="6" value="<?php echo h($row["Auto_increment"]); ?>">
|
||||||
<label class="jsonly"><input type="checkbox" name="defaults" value="1"<?php echo ($_POST["defaults"] ? " checked" : ""); ?> onclick="columnShow(this.checked, 5);"><?php echo lang('Default values'); ?></label>
|
<label class="jsonly"><input type="checkbox" id="defaults" name="defaults" value="1" checked onclick="columnShow(this.checked, 5);"><?php echo lang('Default values'); ?></label>
|
||||||
<?php echo (support("comment") ? checkbox("comments", 1, $comments, lang('Comment'), "columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus();", true) . ' <input id="Comment" name="Comment" value="' . h($row["Comment"]) . '" maxlength="60"' . ($comments ? '' : ' class="hidden"') . '>' : ''); ?>
|
<?php if (!$_POST["defaults"]) { ?><script type="text/javascript">editingHideDefaults()</script><?php } ?>
|
||||||
|
<?php echo (support("comment") ? checkbox("comments", 1, $comments, lang('Comment'), "columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus();", true) . ' <input id="Comment" name="Comment" value="' . h($row["Comment"]) . '" maxlength="' . ($connection->server_info >= 5.5 ? 2048 : 60) . '"' . ($comments ? '' : ' class="hidden"') . '>' : ''); ?>
|
||||||
<p>
|
<p>
|
||||||
<input type="submit" value="<?php echo lang('Save'); ?>">
|
<input type="submit" value="<?php echo lang('Save'); ?>">
|
||||||
<?php if ($_GET["create"] != "") { ?><input type="submit" name="drop" value="<?php echo lang('Drop'); ?>"<?php echo confirm(); ?>><?php } ?>
|
<?php if ($_GET["create"] != "") { ?><input type="submit" name="drop" value="<?php echo lang('Drop'); ?>"<?php echo confirm(); ?>><?php } ?>
|
||||||
@@ -197,7 +198,7 @@ if (support("partitioning")) {
|
|||||||
<p>
|
<p>
|
||||||
<?php echo html_select("partition_by", array(-1 => "") + $partition_by, $row["partition_by"], "partitionByChange(this);"); ?>
|
<?php echo html_select("partition_by", array(-1 => "") + $partition_by, $row["partition_by"], "partitionByChange(this);"); ?>
|
||||||
(<input name="partition" value="<?php echo h($row["partition"]); ?>">)
|
(<input name="partition" value="<?php echo h($row["partition"]); ?>">)
|
||||||
<?php echo lang('Partitions'); ?>: <input name="partitions" size="2" value="<?php echo h($row["partitions"]); ?>"<?php echo ($partition_table || !$row["partition_by"] ? " class='hidden'" : ""); ?>>
|
<?php echo lang('Partitions'); ?>: <input type="number" name="partitions" class="size" value="<?php echo h($row["partitions"]); ?>"<?php echo ($partition_table || !$row["partition_by"] ? " class='hidden'" : ""); ?>>
|
||||||
<table cellspacing="0" id="partition-table"<?php echo ($partition_table ? "" : " class='hidden'"); ?>>
|
<table cellspacing="0" id="partition-table"<?php echo ($partition_table ? "" : " class='hidden'"); ?>>
|
||||||
<thead><tr><th><?php echo lang('Partition name'); ?><th><?php echo lang('Values'); ?></thead>
|
<thead><tr><th><?php echo lang('Partition name'); ?><th><?php echo lang('Values'); ?></thead>
|
||||||
<?php
|
<?php
|
||||||
|
@@ -50,11 +50,11 @@ if ($adminer->homepage()) {
|
|||||||
echo "<p class='message'>" . lang('No tables.') . "\n";
|
echo "<p class='message'>" . lang('No tables.') . "\n";
|
||||||
} else {
|
} else {
|
||||||
echo "<form action='' method='post'>\n";
|
echo "<form action='' method='post'>\n";
|
||||||
echo "<p>" . lang('Search data in tables') . ": <input name='query' value='" . h($_POST["query"]) . "'> <input type='submit' name='search' value='" . lang('Search') . "'>\n";
|
echo "<p>" . lang('Search data in tables') . ": <input type='search' name='query' value='" . h($_POST["query"]) . "'> <input type='submit' name='search' value='" . lang('Search') . "'>\n";
|
||||||
if ($_POST["search"] && $_POST["query"] != "") {
|
if ($_POST["search"] && $_POST["query"] != "") {
|
||||||
search_tables();
|
search_tables();
|
||||||
}
|
}
|
||||||
echo "<table cellspacing='0' class='nowrap checkable' onclick='tableClick(event);'>\n";
|
echo "<table cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);'>\n";
|
||||||
echo '<thead><tr class="wrap"><td><input id="check-all" type="checkbox" onclick="formCheck(this, /^(tables|views)\[/);">';
|
echo '<thead><tr class="wrap"><td><input id="check-all" type="checkbox" onclick="formCheck(this, /^(tables|views)\[/);">';
|
||||||
echo '<th>' . lang('Table');
|
echo '<th>' . lang('Table');
|
||||||
echo '<td>' . lang('Engine');
|
echo '<td>' . lang('Engine');
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
$TABLE = $_GET["download"];
|
$TABLE = $_GET["download"];
|
||||||
|
$fields = fields($TABLE);
|
||||||
header("Content-Type: application/octet-stream");
|
header("Content-Type: application/octet-stream");
|
||||||
header("Content-Disposition: attachment; filename=" . friendly_url("$TABLE-" . implode("_", $_GET["where"])) . "." . friendly_url($_GET["field"]));
|
header("Content-Disposition: attachment; filename=" . friendly_url("$TABLE-" . implode("_", $_GET["where"])) . "." . friendly_url($_GET["field"]));
|
||||||
echo $connection->result("SELECT" . limit(idf_escape($_GET["field"]) . " FROM " . table($TABLE), " WHERE " . where($_GET), 1));
|
echo $connection->result("SELECT" . limit(idf_escape($_GET["field"]) . " FROM " . table($TABLE), " WHERE " . where($_GET, $fields), 1));
|
||||||
exit; // don't output footer
|
exit; // don't output footer
|
||||||
|
@@ -38,7 +38,7 @@ if (isset($_GET["mssql"])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function select_db($database) {
|
function select_db($database) {
|
||||||
return $this->query("USE $database");
|
return $this->query("USE " . idf_escape($database));
|
||||||
}
|
}
|
||||||
|
|
||||||
function query($query, $unbuffered = false) {
|
function query($query, $unbuffered = false) {
|
||||||
|
@@ -296,6 +296,7 @@ if (!defined("DRIVER")) {
|
|||||||
|
|
||||||
/** Formulate SQL modification query with limit 1
|
/** Formulate SQL modification query with limit 1
|
||||||
* @param string everything after UPDATE or DELETE
|
* @param string everything after UPDATE or DELETE
|
||||||
|
* @param string
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function limit1($query, $where) {
|
function limit1($query, $where) {
|
||||||
@@ -534,6 +535,7 @@ if (!defined("DRIVER")) {
|
|||||||
|
|
||||||
/** Create database
|
/** Create database
|
||||||
* @param string
|
* @param string
|
||||||
|
* @param string
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function create_database($db, $collation) {
|
function create_database($db, $collation) {
|
||||||
@@ -552,7 +554,7 @@ if (!defined("DRIVER")) {
|
|||||||
|
|
||||||
/** Rename database from DB
|
/** Rename database from DB
|
||||||
* @param string new name
|
* @param string new name
|
||||||
* @return string
|
* @param string
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
function rename_database($name, $collation) {
|
function rename_database($name, $collation) {
|
||||||
@@ -766,6 +768,7 @@ if (!defined("DRIVER")) {
|
|||||||
"type" => strtolower($param[5]),
|
"type" => strtolower($param[5]),
|
||||||
"length" => preg_replace_callback("~$enum_length~s", 'normalize_enum', $param[6]),
|
"length" => preg_replace_callback("~$enum_length~s", 'normalize_enum', $param[6]),
|
||||||
"unsigned" => strtolower(preg_replace('~\\s+~', ' ', trim("$param[8] $param[7]"))),
|
"unsigned" => strtolower(preg_replace('~\\s+~', ' ', trim("$param[8] $param[7]"))),
|
||||||
|
"null" => 1,
|
||||||
"full_type" => $param[4],
|
"full_type" => $param[4],
|
||||||
"inout" => strtoupper($param[1]),
|
"inout" => strtoupper($param[1]),
|
||||||
"collation" => strtolower($param[9]),
|
"collation" => strtolower($param[9]),
|
||||||
@@ -966,7 +969,7 @@ if (!defined("DRIVER")) {
|
|||||||
*/
|
*/
|
||||||
function unconvert_field($field, $return) {
|
function unconvert_field($field, $return) {
|
||||||
if (ereg("binary", $field["type"])) {
|
if (ereg("binary", $field["type"])) {
|
||||||
$return = "unhex($return)";
|
$return = "UNHEX($return)";
|
||||||
}
|
}
|
||||||
if (ereg("geometry|point|linestring|polygon", $field["type"])) {
|
if (ereg("geometry|point|linestring|polygon", $field["type"])) {
|
||||||
$return = "GeomFromText($return)";
|
$return = "GeomFromText($return)";
|
||||||
|
@@ -574,7 +574,8 @@ AND typelem = 0"
|
|||||||
}
|
}
|
||||||
|
|
||||||
function process_list() {
|
function process_list() {
|
||||||
return get_rows("SELECT * FROM pg_stat_activity ORDER BY procpid");
|
global $connection;
|
||||||
|
return get_rows("SELECT * FROM pg_stat_activity ORDER BY " . ($connection->server_info < 9.2 ? "procpid" : "pid"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function show_status() {
|
function show_status() {
|
||||||
@@ -596,7 +597,7 @@ AND typelem = 0"
|
|||||||
$structured_types = array();
|
$structured_types = array();
|
||||||
foreach (array( //! arrays
|
foreach (array( //! arrays
|
||||||
lang('Numbers') => array("smallint" => 5, "integer" => 10, "bigint" => 19, "boolean" => 1, "numeric" => 0, "real" => 7, "double precision" => 16, "money" => 20),
|
lang('Numbers') => array("smallint" => 5, "integer" => 10, "bigint" => 19, "boolean" => 1, "numeric" => 0, "real" => 7, "double precision" => 16, "money" => 20),
|
||||||
lang('Date and time') => array("date" => 13, "time" => 17, "timestamp" => 20, "interval" => 0),
|
lang('Date and time') => array("date" => 13, "time" => 17, "timestamp" => 20, "timestamptz" => 21, "interval" => 0),
|
||||||
lang('Strings') => array("character" => 0, "character varying" => 0, "text" => 0, "tsquery" => 0, "tsvector" => 0, "uuid" => 0, "xml" => 0),
|
lang('Strings') => array("character" => 0, "character varying" => 0, "text" => 0, "tsquery" => 0, "tsvector" => 0, "uuid" => 0, "xml" => 0),
|
||||||
lang('Binary') => array("bit" => 0, "bit varying" => 0, "bytea" => 0),
|
lang('Binary') => array("bit" => 0, "bit varying" => 0, "bytea" => 0),
|
||||||
lang('Network') => array("cidr" => 43, "inet" => 43, "macaddr" => 17, "txid_snapshot" => 0),
|
lang('Network') => array("cidr" => 43, "inet" => 43, "macaddr" => 17, "txid_snapshot" => 0),
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
$TABLE = $_GET["edit"];
|
$TABLE = $_GET["edit"];
|
||||||
$where = (isset($_GET["select"]) ? (count($_POST["check"]) == 1 ? where_check($_POST["check"][0]) : "") : where($_GET));
|
|
||||||
$update = (isset($_GET["select"]) ? $_POST["edit"] : $where);
|
|
||||||
$fields = fields($TABLE);
|
$fields = fields($TABLE);
|
||||||
|
$where = (isset($_GET["select"]) ? (count($_POST["check"]) == 1 ? where_check($_POST["check"][0], $fields) : "") : where($_GET, $fields));
|
||||||
|
$update = (isset($_GET["select"]) ? $_POST["edit"] : $where);
|
||||||
foreach ($fields as $name => $field) {
|
foreach ($fields as $name => $field) {
|
||||||
if (!isset($field["privileges"][$update ? "update" : "insert"]) || $adminer->fieldName($field) == "") {
|
if (!isset($field["privileges"][$update ? "update" : "insert"]) || $adminer->fieldName($field) == "") {
|
||||||
unset($fields[$name]);
|
unset($fields[$name]);
|
||||||
@@ -77,7 +77,9 @@ if ($row === false) {
|
|||||||
|
|
||||||
<form action="" method="post" enctype="multipart/form-data" id="form">
|
<form action="" method="post" enctype="multipart/form-data" id="form">
|
||||||
<?php
|
<?php
|
||||||
if ($fields) {
|
if (!$fields) {
|
||||||
|
echo "<p class='error'>" . lang('You have no privileges to update this table.') . "\n";
|
||||||
|
} else {
|
||||||
echo "<table cellspacing='0' onkeydown='return editingKeydown(event);'>\n";
|
echo "<table cellspacing='0' onkeydown='return editingKeydown(event);'>\n";
|
||||||
foreach ($fields as $name => $field) {
|
foreach ($fields as $name => $field) {
|
||||||
echo "<tr><th>" . $adminer->fieldName($field);
|
echo "<tr><th>" . $adminer->fieldName($field);
|
||||||
|
@@ -38,7 +38,7 @@ if (!$row && $EVENT != "") {
|
|||||||
<tr><th><?php echo lang('Name'); ?><td><input name="EVENT_NAME" value="<?php echo h($row["EVENT_NAME"]); ?>" maxlength="64">
|
<tr><th><?php echo lang('Name'); ?><td><input name="EVENT_NAME" value="<?php echo h($row["EVENT_NAME"]); ?>" maxlength="64">
|
||||||
<tr><th><?php echo lang('Start'); ?><td><input name="STARTS" value="<?php echo h("$row[EXECUTE_AT]$row[STARTS]"); ?>">
|
<tr><th><?php echo lang('Start'); ?><td><input name="STARTS" value="<?php echo h("$row[EXECUTE_AT]$row[STARTS]"); ?>">
|
||||||
<tr><th><?php echo lang('End'); ?><td><input name="ENDS" value="<?php echo h($row["ENDS"]); ?>">
|
<tr><th><?php echo lang('End'); ?><td><input name="ENDS" value="<?php echo h($row["ENDS"]); ?>">
|
||||||
<tr><th><?php echo lang('Every'); ?><td><input name="INTERVAL_VALUE" value="<?php echo h($row["INTERVAL_VALUE"]); ?>" size="6"> <?php echo html_select("INTERVAL_FIELD", $intervals, $row["INTERVAL_FIELD"]); ?>
|
<tr><th><?php echo lang('Every'); ?><td><input type="number" name="INTERVAL_VALUE" value="<?php echo h($row["INTERVAL_VALUE"]); ?>" class="size"> <?php echo html_select("INTERVAL_FIELD", $intervals, $row["INTERVAL_FIELD"]); ?>
|
||||||
<tr><th><?php echo lang('Status'); ?><td><?php echo html_select("STATUS", $statuses, $row["STATUS"]); ?>
|
<tr><th><?php echo lang('Status'); ?><td><?php echo html_select("STATUS", $statuses, $row["STATUS"]); ?>
|
||||||
<tr><th><?php echo lang('Comment'); ?><td><input name="EVENT_COMMENT" value="<?php echo h($row["EVENT_COMMENT"]); ?>" maxlength="64">
|
<tr><th><?php echo lang('Comment'); ?><td><input name="EVENT_COMMENT" value="<?php echo h($row["EVENT_COMMENT"]); ?>" maxlength="64">
|
||||||
<tr><th> <td><?php echo checkbox("ON_COMPLETION", "PRESERVE", $row["ON_COMPLETION"] == "PRESERVE", lang('On completion preserve')); ?>
|
<tr><th> <td><?php echo checkbox("ON_COMPLETION", "PRESERVE", $row["ON_COMPLETION"] == "PRESERVE", lang('On completion preserve')); ?>
|
||||||
|
@@ -9,7 +9,7 @@ header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
|
|||||||
|
|
||||||
if ($_GET["file"] == "favicon.ico") {
|
if ($_GET["file"] == "favicon.ico") {
|
||||||
header("Content-Type: image/x-icon");
|
header("Content-Type: image/x-icon");
|
||||||
echo compile_file('../adminer/static/favicon.ico');
|
echo lzw_decompress(compile_file('../adminer/static/favicon.ico', 'lzw_compress'));
|
||||||
} elseif ($_GET["file"] == "default.css") {
|
} elseif ($_GET["file"] == "default.css") {
|
||||||
header("Content-Type: text/css; charset=utf-8");
|
header("Content-Type: text/css; charset=utf-8");
|
||||||
echo lzw_decompress(compile_file('../adminer/static/default.css', 'minify_css'));
|
echo lzw_decompress(compile_file('../adminer/static/default.css', 'minify_css'));
|
||||||
|
@@ -196,7 +196,7 @@ username.form['auth[driver]'].onchange();
|
|||||||
if (ereg('blob|bytea|raw|file', $field["type"]) && !is_utf8($val)) {
|
if (ereg('blob|bytea|raw|file', $field["type"]) && !is_utf8($val)) {
|
||||||
$return = lang('%d byte(s)', strlen($val));
|
$return = lang('%d byte(s)', strlen($val));
|
||||||
}
|
}
|
||||||
return ($link ? "<a href='$link'>$return</a>" : $return);
|
return ($link ? "<a href='" . h($link) . "'>$return</a>" : $return);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Value conversion used in select and edit
|
/** Value conversion used in select and edit
|
||||||
@@ -240,7 +240,7 @@ username.form['auth[driver]'].onchange();
|
|||||||
foreach ($indexes as $i => $index) {
|
foreach ($indexes as $i => $index) {
|
||||||
if ($index["type"] == "FULLTEXT") {
|
if ($index["type"] == "FULLTEXT") {
|
||||||
echo "(<i>" . implode("</i>, <i>", array_map('h', $index["columns"])) . "</i>) AGAINST";
|
echo "(<i>" . implode("</i>, <i>", array_map('h', $index["columns"])) . "</i>) AGAINST";
|
||||||
echo " <input name='fulltext[$i]' value='" . h($_GET["fulltext"][$i]) . "' onchange='selectFieldChange(this.form);'>";
|
echo " <input type='search' name='fulltext[$i]' value='" . h($_GET["fulltext"][$i]) . "' onchange='selectFieldChange(this.form);'>";
|
||||||
echo checkbox("boolean[$i]", 1, isset($_GET["boolean"][$i]), "BOOL");
|
echo checkbox("boolean[$i]", 1, isset($_GET["boolean"][$i]), "BOOL");
|
||||||
echo "<br>\n";
|
echo "<br>\n";
|
||||||
}
|
}
|
||||||
@@ -253,7 +253,7 @@ username.form['auth[driver]'].onchange();
|
|||||||
if (!$val || ("$val[col]$val[val]" != "" && in_array($val["op"], $this->operators))) {
|
if (!$val || ("$val[col]$val[val]" != "" && in_array($val["op"], $this->operators))) {
|
||||||
echo "<div><select name='where[$i][col]' onchange='$change_next'><option value=''>(" . lang('anywhere') . ")" . optionlist($columns, $val["col"], true) . "</select>";
|
echo "<div><select name='where[$i][col]' onchange='$change_next'><option value=''>(" . lang('anywhere') . ")" . optionlist($columns, $val["col"], true) . "</select>";
|
||||||
echo html_select("where[$i][op]", $this->operators, $val["op"], $change_next);
|
echo html_select("where[$i][op]", $this->operators, $val["op"], $change_next);
|
||||||
echo "<input name='where[$i][val]' value='" . h($val["val"]) . "' onchange='" . ($val ? "selectFieldChange(this.form)" : "selectAddRow(this)") . ";'></div>\n";
|
echo "<input type='search' name='where[$i][val]' value='" . h($val["val"]) . "' onchange='" . ($val ? "selectFieldChange(this.form)" : "selectAddRow(this)") . ";'></div>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo "</div></fieldset>\n";
|
echo "</div></fieldset>\n";
|
||||||
@@ -286,7 +286,7 @@ username.form['auth[driver]'].onchange();
|
|||||||
*/
|
*/
|
||||||
function selectLimitPrint($limit) {
|
function selectLimitPrint($limit) {
|
||||||
echo "<fieldset><legend>" . lang('Limit') . "</legend><div>"; // <div> for easy styling
|
echo "<fieldset><legend>" . lang('Limit') . "</legend><div>"; // <div> for easy styling
|
||||||
echo "<input name='limit' size='3' value='" . h($limit) . "' onchange='selectFieldChange(this.form);'>";
|
echo "<input type='number' name='limit' class='size' value='" . h($limit) . "' onchange='selectFieldChange(this.form);'>";
|
||||||
echo "</div></fieldset>\n";
|
echo "</div></fieldset>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -297,7 +297,7 @@ username.form['auth[driver]'].onchange();
|
|||||||
function selectLengthPrint($text_length) {
|
function selectLengthPrint($text_length) {
|
||||||
if ($text_length !== null) {
|
if ($text_length !== null) {
|
||||||
echo "<fieldset><legend>" . lang('Text length') . "</legend><div>";
|
echo "<fieldset><legend>" . lang('Text length') . "</legend><div>";
|
||||||
echo '<input name="text_length" size="3" value="' . h($text_length) . '">';
|
echo "<input type='number' name='text_length' class='size' value='" . h($text_length) . "'>";
|
||||||
echo "</div></fieldset>\n";
|
echo "</div></fieldset>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -14,6 +14,8 @@ if ($filter || ini_get("filter.default_flags")) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ini_set("mbstring.internal_encoding", "8bit"); // @ - can be disabled
|
||||||
|
|
||||||
// used only in compiled file
|
// used only in compiled file
|
||||||
if (isset($_GET["file"])) {
|
if (isset($_GET["file"])) {
|
||||||
include "../adminer/file.inc.php";
|
include "../adminer/file.inc.php";
|
||||||
|
@@ -29,7 +29,7 @@ function connect_error() {
|
|||||||
$scheme = support("scheme");
|
$scheme = support("scheme");
|
||||||
$collations = collations();
|
$collations = collations();
|
||||||
echo "<form action='' method='post'>\n";
|
echo "<form action='' method='post'>\n";
|
||||||
echo "<table cellspacing='0' class='checkable' onclick='tableClick(event);'>\n";
|
echo "<table cellspacing='0' class='checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);'>\n";
|
||||||
echo "<thead><tr><td> <th>" . lang('Database') . "<td>" . lang('Collation') . "<td>" . lang('Tables') . "</thead>\n";
|
echo "<thead><tr><td> <th>" . lang('Database') . "<td>" . lang('Collation') . "<td>" . lang('Tables') . "</thead>\n";
|
||||||
foreach ($databases as $db) {
|
foreach ($databases as $db) {
|
||||||
$root = h(ME) . "db=" . urlencode($db);
|
$root = h(ME) . "db=" . urlencode($db);
|
||||||
|
@@ -16,7 +16,7 @@ function page_header($title, $error = "", $breadcrumb = array(), $title2 = "") {
|
|||||||
$title_all = $title . ($title2 != "" ? ": " . h($title2) : "");
|
$title_all = $title . ($title2 != "" ? ": " . h($title2) : "");
|
||||||
$title_page = strip_tags($title_all . (SERVER != "" && SERVER != "localhost" ? h(" - " . SERVER) : "") . " - " . $adminer->name());
|
$title_page = strip_tags($title_all . (SERVER != "" && SERVER != "localhost" ? h(" - " . SERVER) : "") . " - " . $adminer->name());
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
<!DOCTYPE html>
|
||||||
<html lang="<?php echo $LANG; ?>" dir="<?php echo lang('ltr'); ?>">
|
<html lang="<?php echo $LANG; ?>" dir="<?php echo lang('ltr'); ?>">
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<meta http-equiv="Content-Script-Type" content="text/javascript">
|
<meta http-equiv="Content-Script-Type" content="text/javascript">
|
||||||
|
@@ -147,7 +147,7 @@ function edit_type($key, $field, $collations, $foreign_keys = array()) {
|
|||||||
global $structured_types, $types, $unsigned, $on_actions;
|
global $structured_types, $types, $unsigned, $on_actions;
|
||||||
?>
|
?>
|
||||||
<td><select name="<?php echo $key; ?>[type]" class="type" onfocus="lastType = selectValue(this);" onchange="editingTypeChange(this);"><?php echo optionlist((!$field["type"] || isset($types[$field["type"]]) ? array() : array($field["type"])) + $structured_types + ($foreign_keys ? array(lang('Foreign keys') => $foreign_keys) : array()), $field["type"]); ?></select>
|
<td><select name="<?php echo $key; ?>[type]" class="type" onfocus="lastType = selectValue(this);" onchange="editingTypeChange(this);"><?php echo optionlist((!$field["type"] || isset($types[$field["type"]]) ? array() : array($field["type"])) + $structured_types + ($foreign_keys ? array(lang('Foreign keys') => $foreign_keys) : array()), $field["type"]); ?></select>
|
||||||
<td><input name="<?php echo $key; ?>[length]" value="<?php echo h($field["length"]); ?>" size="3" onfocus="editingLengthFocus(this);"><td class="options"><?php
|
<td><input name="<?php echo $key; ?>[length]" value="<?php echo h($field["length"]); ?>" size="3" onfocus="editingLengthFocus(this);"><td class="options"><?php //! type="number" with enabled JavaScript
|
||||||
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>';
|
||||||
echo ($unsigned ? "<select name='$key" . "[unsigned]'" . (!$field["type"] || ereg('(int|float|double|decimal)$', $field["type"]) ? "" : " class='hidden'") . '><option>' . optionlist($unsigned, $field["unsigned"]) . '</select>' : '');
|
echo ($unsigned ? "<select name='$key" . "[unsigned]'" . (!$field["type"] || ereg('(int|float|double|decimal)$', $field["type"]) ? "" : " class='hidden'") . '><option>' . optionlist($unsigned, $field["unsigned"]) . '</select>' : '');
|
||||||
echo ($foreign_keys ? "<select name='$key" . "[on_delete]'" . (ereg("`", $field["type"]) ? "" : " class='hidden'") . "><option value=''>(" . lang('ON DELETE') . ")" . optionlist(explode("|", $on_actions), $field["on_delete"]) . "</select> " : " "); // space for IE
|
echo ($foreign_keys ? "<select name='$key" . "[on_delete]'" . (ereg("`", $field["type"]) ? "" : " class='hidden'") . "><option value=''>(" . lang('ON DELETE') . ")" . optionlist(explode("|", $on_actions), $field["on_delete"]) . "</select> " : " "); // space for IE
|
||||||
@@ -220,7 +220,7 @@ function type_class($type) {
|
|||||||
* @return null
|
* @return null
|
||||||
*/
|
*/
|
||||||
function edit_fields($fields, $collations, $type = "TABLE", $allowed = 0, $foreign_keys = array(), $comments = false) {
|
function edit_fields($fields, $collations, $type = "TABLE", $allowed = 0, $foreign_keys = array(), $comments = false) {
|
||||||
global $inout;
|
global $connection, $inout;
|
||||||
?>
|
?>
|
||||||
<thead><tr class="wrap">
|
<thead><tr class="wrap">
|
||||||
<?php if ($type == "PROCEDURE") { ?><td> <?php } ?>
|
<?php if ($type == "PROCEDURE") { ?><td> <?php } ?>
|
||||||
@@ -231,7 +231,7 @@ function edit_fields($fields, $collations, $type = "TABLE", $allowed = 0, $forei
|
|||||||
<?php if ($type == "TABLE") { ?>
|
<?php if ($type == "TABLE") { ?>
|
||||||
<td>NULL
|
<td>NULL
|
||||||
<td><input type="radio" name="auto_increment_col" value=""><acronym title="<?php echo lang('Auto Increment'); ?>">AI</acronym>
|
<td><input type="radio" name="auto_increment_col" value=""><acronym title="<?php echo lang('Auto Increment'); ?>">AI</acronym>
|
||||||
<td<?php echo ($_POST["defaults"] ? "" : " class='hidden'"); ?>><?php echo lang('Default values'); ?>
|
<td><?php echo lang('Default values'); ?>
|
||||||
<?php echo (support("comment") ? "<td" . ($comments ? "" : " class='hidden'") . ">" . lang('Comment') : ""); ?>
|
<?php echo (support("comment") ? "<td" . ($comments ? "" : " class='hidden'") . ">" . lang('Comment') : ""); ?>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<td><?php echo "<input type='image' class='icon' name='add[" . (support("move_col") ? 0 : count($fields)) . "]' src='../adminer/static/plus.gif' alt='+' title='" . lang('Add next') . "'>"; ?><script type="text/javascript">row_count = <?php echo count($fields); ?>;</script>
|
<td><?php echo "<input type='image' class='icon' name='add[" . (support("move_col") ? 0 : count($fields)) . "]' src='../adminer/static/plus.gif' alt='+' title='" . lang('Add next') . "'>"; ?><script type="text/javascript">row_count = <?php echo count($fields); ?>;</script>
|
||||||
@@ -250,8 +250,8 @@ function edit_fields($fields, $collations, $type = "TABLE", $allowed = 0, $forei
|
|||||||
<?php if ($type == "TABLE") { ?>
|
<?php if ($type == "TABLE") { ?>
|
||||||
<td><?php echo checkbox("fields[$i][null]", 1, $field["null"]); ?>
|
<td><?php echo checkbox("fields[$i][null]", 1, $field["null"]); ?>
|
||||||
<td><input type="radio" name="auto_increment_col" value="<?php echo $i; ?>"<?php if ($field["auto_increment"]) { ?> checked<?php } ?> onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }">
|
<td><input type="radio" name="auto_increment_col" value="<?php echo $i; ?>"<?php if ($field["auto_increment"]) { ?> checked<?php } ?> onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }">
|
||||||
<td<?php echo ($_POST["defaults"] ? "" : " class='hidden'"); ?>><?php echo checkbox("fields[$i][has_default]", 1, $field["has_default"]); ?><input name="fields[<?php echo $i; ?>][default]" value="<?php echo h($field["default"]); ?>" onchange="this.previousSibling.checked = true;">
|
<td><?php echo checkbox("fields[$i][has_default]", 1, $field["has_default"]); ?><input name="fields[<?php echo $i; ?>][default]" value="<?php echo h($field["default"]); ?>" onchange="this.previousSibling.checked = true;">
|
||||||
<?php echo (support("comment") ? "<td" . ($comments ? "" : " class='hidden'") . "><input name='fields[$i][comment]' value='" . h($field["comment"]) . "' maxlength='255'>" : ""); ?>
|
<?php echo (support("comment") ? "<td" . ($comments ? "" : " class='hidden'") . "><input name='fields[$i][comment]' value='" . h($field["comment"]) . "' maxlength='" . ($connection->server_info >= 5.5 ? 1024 : 255) . "'>" : ""); ?>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<?php
|
<?php
|
||||||
echo "<td>";
|
echo "<td>";
|
||||||
|
@@ -329,14 +329,15 @@ function unique_array($row, $indexes) {
|
|||||||
|
|
||||||
/** Create SQL condition from parsed query string
|
/** Create SQL condition from parsed query string
|
||||||
* @param array parsed query string
|
* @param array parsed query string
|
||||||
|
* @param array
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function where($where) {
|
function where($where, $fields = array()) {
|
||||||
global $jush;
|
global $jush;
|
||||||
$return = array();
|
$return = array();
|
||||||
foreach ((array) $where["where"] as $key => $val) {
|
foreach ((array) $where["where"] as $key => $val) {
|
||||||
$return[] = idf_escape(bracket_escape($key, 1)) // 1 - back
|
$return[] = idf_escape(bracket_escape($key, 1)) // 1 - back
|
||||||
. (($jush == "sql" && ereg('\\.', $val)) || $jush == "mssql" ? " LIKE " . exact_value(addcslashes($val, "%_\\")) : " = " . exact_value($val)) // LIKE because of floats, but slow with ints, in MS SQL because of text
|
. (($jush == "sql" && ereg('\\.', $val)) || $jush == "mssql" ? " LIKE " . exact_value(addcslashes($val, "%_\\")) : " = " . unconvert_field($fields[$key], exact_value($val))) // LIKE because of floats, but slow with ints, in MS SQL because of text
|
||||||
; //! enum and set
|
; //! enum and set
|
||||||
}
|
}
|
||||||
foreach ((array) $where["null"] as $key) {
|
foreach ((array) $where["null"] as $key) {
|
||||||
@@ -347,19 +348,20 @@ function where($where) {
|
|||||||
|
|
||||||
/** Create SQL condition from query string
|
/** Create SQL condition from query string
|
||||||
* @param string
|
* @param string
|
||||||
|
* @param array
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function where_check($val) {
|
function where_check($val, $fields = array()) {
|
||||||
parse_str($val, $check);
|
parse_str($val, $check);
|
||||||
remove_slashes(array(&$check));
|
remove_slashes(array(&$check));
|
||||||
return where($check);
|
return where($check, $fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Create query string where condition from value
|
/** Create query string where condition from value
|
||||||
* @param int condition order
|
* @param int condition order
|
||||||
* @param string column identifier
|
* @param string column identifier
|
||||||
* @param string
|
* @param string
|
||||||
* @return string
|
* @param string
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function where_link($i, $column, $value, $operator = "=") {
|
function where_link($i, $column, $value, $operator = "=") {
|
||||||
@@ -545,6 +547,7 @@ function remove_from_uri($param = "") {
|
|||||||
|
|
||||||
/** Generate page number for pagination
|
/** Generate page number for pagination
|
||||||
* @param int
|
* @param int
|
||||||
|
* @param int
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function pagination($page, $current) {
|
function pagination($page, $current) {
|
||||||
@@ -739,7 +742,8 @@ function input($field, $value, $function) {
|
|||||||
} else {
|
} else {
|
||||||
// int(3) is only a display hint
|
// int(3) is only a display hint
|
||||||
$maxlength = (!ereg('int', $field["type"]) && preg_match('~^(\\d+)(,(\\d+))?$~', $field["length"], $match) ? ((ereg("binary", $field["type"]) ? 2 : 1) * $match[1] + ($match[3] ? 1 : 0) + ($match[2] && !$field["unsigned"] ? 1 : 0)) : ($types[$field["type"]] ? $types[$field["type"]] + ($field["unsigned"] ? 0 : 1) : 0));
|
$maxlength = (!ereg('int', $field["type"]) && preg_match('~^(\\d+)(,(\\d+))?$~', $field["length"], $match) ? ((ereg("binary", $field["type"]) ? 2 : 1) * $match[1] + ($match[3] ? 1 : 0) + ($match[2] && !$field["unsigned"] ? 1 : 0)) : ($types[$field["type"]] ? $types[$field["type"]] + ($field["unsigned"] ? 0 : 1) : 0));
|
||||||
echo "<input value='" . h($value) . "'" . ($maxlength ? " maxlength='$maxlength'" : "") . (ereg('char|binary', $field["type"]) && $maxlength > 20 ? " size='40'" : "") . "$attrs>";
|
// type='date' and type='time' display localized value which may be confusing, type='datetime' uses 'T' as date and time separator
|
||||||
|
echo "<input" . (ereg('int|float|double|decimal', $field["type"]) ? " type='number'" : "") . " value='" . h($value) . "'" . ($maxlength ? " maxlength='$maxlength'" : "") . (ereg('char|binary', $field["type"]) && $maxlength > 20 ? " size='40'" : "") . "$attrs>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -901,6 +905,14 @@ function is_url($string) {
|
|||||||
return (preg_match("~^(https?)://($domain?\\.)+$domain(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i", $string, $match) ? strtolower($match[1]) : ""); //! restrict path, query and fragment characters
|
return (preg_match("~^(https?)://($domain?\\.)+$domain(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i", $string, $match) ? strtolower($match[1]) : ""); //! restrict path, query and fragment characters
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Check if field should be shortened
|
||||||
|
* @param array
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
function is_shortable($field) {
|
||||||
|
return ereg('char|text|lob|geometry|point|linestring|polygon', $field["type"]);
|
||||||
|
}
|
||||||
|
|
||||||
/** Run query which can be killed by AJAX call after timing out
|
/** Run query which can be killed by AJAX call after timing out
|
||||||
* @param string
|
* @param string
|
||||||
* @return Min_Result
|
* @return Min_Result
|
||||||
|
@@ -70,11 +70,11 @@ function lang($idf, $number = null) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function switch_lang() {
|
function switch_lang() {
|
||||||
global $LANG, $langs, $token;
|
global $LANG, $langs;
|
||||||
echo "<form action='' method='post'>\n<div id='lang'>";
|
echo "<form action='' method='post'>\n<div id='lang'>";
|
||||||
echo lang('Language') . ": " . html_select("lang", $langs, $LANG, "this.form.submit();");
|
echo lang('Language') . ": " . html_select("lang", $langs, $LANG, "this.form.submit();");
|
||||||
echo " <input type='submit' value='" . lang('Use') . "' class='hidden'>\n";
|
echo " <input type='submit' value='" . lang('Use') . "' class='hidden'>\n";
|
||||||
echo "<input type='hidden' name='token' value='$token'>\n";
|
echo "<input type='hidden' name='token' value='$_SESSION[token]'>\n"; // $token may be empty in auth.inc.php
|
||||||
echo "</div>\n</form>\n";
|
echo "</div>\n</form>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,2 +1,2 @@
|
|||||||
<?php
|
<?php
|
||||||
$VERSION = "3.6.0";
|
$VERSION = "3.6.2";
|
||||||
|
@@ -89,7 +89,7 @@ foreach ($row["indexes"] as $index) {
|
|||||||
$i = 1;
|
$i = 1;
|
||||||
foreach ($index["columns"] as $key => $column) {
|
foreach ($index["columns"] as $key => $column) {
|
||||||
echo "<span>" . html_select("indexes[$j][columns][$i]", array(-1 => "") + $fields, $column, ($i == count($index["columns"]) ? "indexesAddColumn" : "indexesChangeColumn") . "(this, '" . js_escape($jush == "sql" ? "" : $_GET["indexes"] . "_") . "');");
|
echo "<span>" . html_select("indexes[$j][columns][$i]", array(-1 => "") + $fields, $column, ($i == count($index["columns"]) ? "indexesAddColumn" : "indexesChangeColumn") . "(this, '" . js_escape($jush == "sql" ? "" : $_GET["indexes"] . "_") . "');");
|
||||||
echo "<input name='indexes[$j][lengths][$i]' size='2' value='" . h($index["lengths"][$key]) . "'> </span>"; //! hide for non-MySQL drivers, add ASC|DESC
|
echo "<input type='number' name='indexes[$j][lengths][$i]' class='size' value='" . h($index["lengths"][$key]) . "'> </span>"; //! hide for non-MySQL drivers, add ASC|DESC
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
echo "<td><input name='indexes[$j][name]' value='" . h($index["name"]) . "'>\n";
|
echo "<td><input name='indexes[$j][name]' value='" . h($index["name"]) . "'>\n";
|
||||||
|
@@ -243,7 +243,6 @@ $translations = array(
|
|||||||
'Alter type' => 'تعديل نوع',
|
'Alter type' => 'تعديل نوع',
|
||||||
'Type has been dropped.' => 'تم حذف النوع.',
|
'Type has been dropped.' => 'تم حذف النوع.',
|
||||||
'Type has been created.' => 'تم إنشاء النوع.',
|
'Type has been created.' => 'تم إنشاء النوع.',
|
||||||
'Double click on a value to modify it.' => 'أنقر نقرا مزدوجا على قيمة لتعديلها.',
|
|
||||||
'Use edit link to modify this value.' => 'إستعمل الرابط "تعديل" لتعديل هذه القيمة.',
|
'Use edit link to modify this value.' => 'إستعمل الرابط "تعديل" لتعديل هذه القيمة.',
|
||||||
'last' => 'الأخيرة',
|
'last' => 'الأخيرة',
|
||||||
'From server' => 'من الخادم',
|
'From server' => 'من الخادم',
|
||||||
|
@@ -244,7 +244,6 @@ $translations = array(
|
|||||||
'Alter type' => 'টাইপ পরিবর্তন করো',
|
'Alter type' => 'টাইপ পরিবর্তন করো',
|
||||||
'Type has been dropped.' => 'টাইপ মুছে ফেলা হয়েছে।',
|
'Type has been dropped.' => 'টাইপ মুছে ফেলা হয়েছে।',
|
||||||
'Type has been created.' => 'টাইপ তৈরি করা হয়েছে।',
|
'Type has been created.' => 'টাইপ তৈরি করা হয়েছে।',
|
||||||
'Double click on a value to modify it.' => 'কোন মানকে পরিবর্তন করতে এতে ডবল ক্লিক করো।',
|
|
||||||
'Use edit link to modify this value.' => 'এই মান পরিবর্তনের জন্য সম্পাদনা লিঙ্ক ব্যবহার করো।',
|
'Use edit link to modify this value.' => 'এই মান পরিবর্তনের জন্য সম্পাদনা লিঙ্ক ব্যবহার করো।',
|
||||||
'last' => 'সর্বশেষ',
|
'last' => 'সর্বশেষ',
|
||||||
'From server' => 'সার্ভার থেকে',
|
'From server' => 'সার্ভার থেকে',
|
||||||
|
@@ -233,7 +233,7 @@ $translations = array(
|
|||||||
'Geometry' => 'Geometria',
|
'Geometry' => 'Geometria',
|
||||||
'Databases have been dropped.' => 'S\'han suprimit les bases de dades.',
|
'Databases have been dropped.' => 'S\'han suprimit les bases de dades.',
|
||||||
'File exists.' => 'El fitxer ja existeix.',
|
'File exists.' => 'El fitxer ja existeix.',
|
||||||
'Double click on a value to modify it.' => 'Fes un doble clic a un valor per modificar-lo.',
|
'Ctrl+click on a value to modify it.' => 'Fes un Ctrl+clic a un valor per modificar-lo.',
|
||||||
'Use edit link to modify this value.' => 'Utilitza l\'enllaç d\'edició per modificar aquest valor.',
|
'Use edit link to modify this value.' => 'Utilitza l\'enllaç d\'edició per modificar aquest valor.',
|
||||||
'Alter schema' => 'Modifica l\'esquema',
|
'Alter schema' => 'Modifica l\'esquema',
|
||||||
'Create schema' => 'Crea un esquema',
|
'Create schema' => 'Crea un esquema',
|
||||||
|
@@ -243,7 +243,7 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => array('Byl importován %d záznam.', 'Byly importovány %d záznamy.', 'Bylo importováno %d záznamů.'),
|
'%d row(s) have been imported.' => array('Byl importován %d záznam.', 'Byly importovány %d záznamy.', 'Bylo importováno %d záznamů.'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'Dvojklikněte na políčko, které chcete změnit.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+klikněte na políčko, které chcete změnit.',
|
||||||
'Use edit link to modify this value.' => 'Ke změně této hodnoty použijte odkaz upravit.',
|
'Use edit link to modify this value.' => 'Ke změně této hodnoty použijte odkaz upravit.',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
@@ -263,6 +263,7 @@ $translations = array(
|
|||||||
'Save and insert next' => 'Uložit a vložit další',
|
'Save and insert next' => 'Uložit a vložit další',
|
||||||
'Clone' => 'Klonovat',
|
'Clone' => 'Klonovat',
|
||||||
'Delete' => 'Smazat',
|
'Delete' => 'Smazat',
|
||||||
|
'You have no privileges to update this table.' => 'Nemáte oprávnění editovat tuto tabulku.',
|
||||||
|
|
||||||
'E-mail' => 'E-mail',
|
'E-mail' => 'E-mail',
|
||||||
'From' => 'Odesílatel',
|
'From' => 'Odesílatel',
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Typ ändern',
|
'Alter type' => 'Typ ändern',
|
||||||
'Type has been dropped.' => 'Typ gelöscht.',
|
'Type has been dropped.' => 'Typ gelöscht.',
|
||||||
'Type has been created.' => 'Typ erstellt.',
|
'Type has been created.' => 'Typ erstellt.',
|
||||||
'Double click on a value to modify it.' => 'Doppelklick zum Bearbeiten des Wertes.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+klick zum Bearbeiten des Wertes.',
|
||||||
'Use edit link to modify this value.' => 'Benutzen Sie den Link zum editieren dieses Wertes.',
|
'Use edit link to modify this value.' => 'Benutzen Sie den Link zum editieren dieses Wertes.',
|
||||||
'last' => 'letzte',
|
'last' => 'letzte',
|
||||||
'From server' => 'Im Server',
|
'From server' => 'Im Server',
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Modificar tipo',
|
'Alter type' => 'Modificar tipo',
|
||||||
'Type has been dropped.' => 'Tipo eliminado.',
|
'Type has been dropped.' => 'Tipo eliminado.',
|
||||||
'Type has been created.' => 'Tipo creado.',
|
'Type has been created.' => 'Tipo creado.',
|
||||||
'Double click on a value to modify it.' => 'Doble-clic sobre el valor para editarlo.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+clic sobre el valor para editarlo.',
|
||||||
'Use edit link to modify this value.' => 'Utilice el enlace de modificar para realizar los cambios.',
|
'Use edit link to modify this value.' => 'Utilice el enlace de modificar para realizar los cambios.',
|
||||||
'last' => 'último',
|
'last' => 'último',
|
||||||
'From server' => 'Desde servidor',
|
'From server' => 'Desde servidor',
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Muuda tüüpi',
|
'Alter type' => 'Muuda tüüpi',
|
||||||
'Type has been dropped.' => 'Tüüp on edukalt kustutatud.',
|
'Type has been dropped.' => 'Tüüp on edukalt kustutatud.',
|
||||||
'Type has been created.' => 'Tüüp on edukalt loodud.',
|
'Type has been created.' => 'Tüüp on edukalt loodud.',
|
||||||
'Double click on a value to modify it.' => 'Väärtuse muutmiseks topelt-kliki sellel.',
|
'Ctrl+click on a value to modify it.' => 'Väärtuse muutmiseks Ctrl+kliki sellel.',
|
||||||
'Use edit link to modify this value.' => 'Väärtuse muutmiseks kasuta muutmislinki.',
|
'Use edit link to modify this value.' => 'Väärtuse muutmiseks kasuta muutmislinki.',
|
||||||
'last' => 'viimane',
|
'last' => 'viimane',
|
||||||
'From server' => 'Serverist',
|
'From server' => 'Serverist',
|
||||||
|
@@ -239,7 +239,6 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => array('%d سطر وارد شد', '%d سطر وارد شد'),
|
'%d row(s) have been imported.' => array('%d سطر وارد شد', '%d سطر وارد شد'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'روی مقدار دوبار کلیک کنید تا آنرا ویرایش کنید',
|
|
||||||
'Use edit link to modify this value.' => 'از لینک ویرایش برای ویرایش این مقدار استفاده کنید',
|
'Use edit link to modify this value.' => 'از لینک ویرایش برای ویرایش این مقدار استفاده کنید',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
|
@@ -243,7 +243,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Modifier le type',
|
'Alter type' => 'Modifier le type',
|
||||||
'Type has been dropped.' => 'Le type a été supprimé.',
|
'Type has been dropped.' => 'Le type a été supprimé.',
|
||||||
'Type has been created.' => 'Le type a été créé.',
|
'Type has been created.' => 'Le type a été créé.',
|
||||||
'Double click on a value to modify it.' => 'Double-cliquez sur une valeur pour la modifier.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+cliquez sur une valeur pour la modifier.',
|
||||||
'Use edit link to modify this value.' => 'Utilisez le lien "modifier" pour modifier cette valeur.',
|
'Use edit link to modify this value.' => 'Utilisez le lien "modifier" pour modifier cette valeur.',
|
||||||
'last' => 'dernière',
|
'last' => 'dernière',
|
||||||
'From server' => 'Depuis le serveur',
|
'From server' => 'Depuis le serveur',
|
||||||
|
@@ -233,7 +233,6 @@ $translations = array(
|
|||||||
'Geometry' => 'Geometria',
|
'Geometry' => 'Geometria',
|
||||||
'Databases have been dropped.' => 'Adatbázis eldobva.',
|
'Databases have been dropped.' => 'Adatbázis eldobva.',
|
||||||
'File exists.' => 'A fájl létezik.',
|
'File exists.' => 'A fájl létezik.',
|
||||||
'Double click on a value to modify it.' => 'Kattints kétszer az értékre a szerkesztéshez.',
|
|
||||||
'Use edit link to modify this value.' => 'Használd a szerkesztés hivatkozást ezen érték módosításához.',
|
'Use edit link to modify this value.' => 'Használd a szerkesztés hivatkozást ezen érték módosításához.',
|
||||||
'Alter schema' => 'Séma módosítása',
|
'Alter schema' => 'Séma módosítása',
|
||||||
'Create schema' => 'Séma létrehozása',
|
'Create schema' => 'Séma létrehozása',
|
||||||
|
@@ -241,7 +241,6 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => '%d baris berhasil diimpor.',
|
'%d row(s) have been imported.' => '%d baris berhasil diimpor.',
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'Klik ganda suatu nilai untuk mengubahnya.',
|
|
||||||
'Use edit link to modify this value.' => 'Gunakan tautan edit untuk mengubah nilai ini.',
|
'Use edit link to modify this value.' => 'Gunakan tautan edit untuk mengubah nilai ini.',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Modifica tipo definito dall\'utente',
|
'Alter type' => 'Modifica tipo definito dall\'utente',
|
||||||
'Type has been dropped.' => 'Tipo definito dall\'utente eliminato.',
|
'Type has been dropped.' => 'Tipo definito dall\'utente eliminato.',
|
||||||
'Type has been created.' => 'Tipo definito dall\'utente creato.',
|
'Type has been created.' => 'Tipo definito dall\'utente creato.',
|
||||||
'Double click on a value to modify it.' => 'Fai doppio click su un valore per modificarlo.',
|
'Ctrl+click on a value to modify it.' => 'Fai Ctrl+click su un valore per modificarlo.',
|
||||||
'Use edit link to modify this value.' => 'Usa il link modifica per modificare questo valore.',
|
'Use edit link to modify this value.' => 'Usa il link modifica per modificare questo valore.',
|
||||||
'last' => 'ultima',
|
'last' => 'ultima',
|
||||||
'From server' => 'Dal server',
|
'From server' => 'Dal server',
|
||||||
|
@@ -245,7 +245,6 @@ $translations = array(
|
|||||||
'Alter type' => 'ユーザー定義型変更',
|
'Alter type' => 'ユーザー定義型変更',
|
||||||
'Type has been dropped.' => 'ユーザー定義型を削除しました',
|
'Type has been dropped.' => 'ユーザー定義型を削除しました',
|
||||||
'Type has been created.' => 'ユーザー定義型を追加しました',
|
'Type has been created.' => 'ユーザー定義型を追加しました',
|
||||||
'Double click on a value to modify it.' => 'ダブルクリックして編集',
|
|
||||||
'Use edit link to modify this value.' => 'リンクを編集する',
|
'Use edit link to modify this value.' => 'リンクを編集する',
|
||||||
'last' => '最終',
|
'last' => '最終',
|
||||||
'From server' => 'サーバーから実行',
|
'From server' => 'サーバーから実行',
|
||||||
|
@@ -239,7 +239,6 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => array('%d įrašas įkelta.', '%d įrašai įkelti.', '%d įrašų įkelta.'),
|
'%d row(s) have been imported.' => array('%d įrašas įkelta.', '%d įrašai įkelti.', '%d įrašų įkelta.'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'Du kartus spragtelėkite pelyte norėdami redaguoti.',
|
|
||||||
'Use edit link to modify this value.' => 'Norėdami redaguoti reikšmę naudokite redagavimo nuorodą.',
|
'Use edit link to modify this value.' => 'Norėdami redaguoti reikšmę naudokite redagavimo nuorodą.',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Type wijzigen',
|
'Alter type' => 'Type wijzigen',
|
||||||
'Type has been dropped.' => 'Type verwijderd.',
|
'Type has been dropped.' => 'Type verwijderd.',
|
||||||
'Type has been created.' => 'Type aangemaakt.',
|
'Type has been created.' => 'Type aangemaakt.',
|
||||||
'Double click on a value to modify it.' => 'Dubbelklik op een waarde om deze te bewerken.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+klik op een waarde om deze te bewerken.',
|
||||||
'Use edit link to modify this value.' => 'Gebruik de link "bewerk" om deze waarde te wijzigen.',
|
'Use edit link to modify this value.' => 'Gebruik de link "bewerk" om deze waarde te wijzigen.',
|
||||||
'last' => 'laatste',
|
'last' => 'laatste',
|
||||||
'From server' => 'Van server',
|
'From server' => 'Van server',
|
||||||
|
@@ -240,7 +240,7 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => array('%d rekord został zaimportowany.', '%d rekordy zostały zaimportowane.', '%d rekordów zostało zaimportowanych.'),
|
'%d row(s) have been imported.' => array('%d rekord został zaimportowany.', '%d rekordy zostały zaimportowane.', '%d rekordów zostało zaimportowanych.'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'Kliknij podwójnie wartość, aby ją edytować.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+kliknij wartość, aby ją edytować.',
|
||||||
'Use edit link to modify this value.' => 'Użyj linku edycji aby zmienić tę wartość.',
|
'Use edit link to modify this value.' => 'Użyj linku edycji aby zmienić tę wartość.',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Modificar tipo',
|
'Alter type' => 'Modificar tipo',
|
||||||
'Type has been dropped.' => 'Tipo eliminado.',
|
'Type has been dropped.' => 'Tipo eliminado.',
|
||||||
'Type has been created.' => 'Tipo criado.',
|
'Type has been created.' => 'Tipo criado.',
|
||||||
'Double click on a value to modify it.' => 'Clique duas vezes sobre o valor para edita-lo.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+clique vezes sobre o valor para edita-lo.',
|
||||||
'Use edit link to modify this value.' => 'Utilize o link modificar para alterar.',
|
'Use edit link to modify this value.' => 'Utilize o link modificar para alterar.',
|
||||||
'last' => 'último',
|
'last' => 'último',
|
||||||
'From server' => 'Desde servidor',
|
'From server' => 'Desde servidor',
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Modifică tip',
|
'Alter type' => 'Modifică tip',
|
||||||
'Type has been dropped.' => 'Tiipul a fost șters.',
|
'Type has been dropped.' => 'Tiipul a fost șters.',
|
||||||
'Type has been created.' => 'Crează tip nou.',
|
'Type has been created.' => 'Crează tip nou.',
|
||||||
'Double click on a value to modify it.' => 'Dublu click pe o valoare pentru a o modifica.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+click pe o valoare pentru a o modifica.',
|
||||||
'Use edit link to modify this value.' => 'Valoare poate fi modificată cu ajutorul butonului «modifică».',
|
'Use edit link to modify this value.' => 'Valoare poate fi modificată cu ajutorul butonului «modifică».',
|
||||||
'last' => 'ultima',
|
'last' => 'ultima',
|
||||||
'From server' => 'De pe server',
|
'From server' => 'De pe server',
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Alter type' => 'Изменить тип',
|
'Alter type' => 'Изменить тип',
|
||||||
'Type has been dropped.' => 'Тип удален.',
|
'Type has been dropped.' => 'Тип удален.',
|
||||||
'Type has been created.' => 'Создан новый тип.',
|
'Type has been created.' => 'Создан новый тип.',
|
||||||
'Double click on a value to modify it.' => 'Кликни два раза по значению, чтобы его изменить.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+кликни по значению, чтобы его изменить.',
|
||||||
'Use edit link to modify this value.' => 'Изменить это значение можно с помощью ссылки «изменить».',
|
'Use edit link to modify this value.' => 'Изменить это значение можно с помощью ссылки «изменить».',
|
||||||
'last' => 'последняя',
|
'last' => 'последняя',
|
||||||
'From server' => 'С сервера',
|
'From server' => 'С сервера',
|
||||||
|
@@ -244,7 +244,7 @@ $translations = array(
|
|||||||
'Type has been dropped.' => 'Typ bol odstránený.',
|
'Type has been dropped.' => 'Typ bol odstránený.',
|
||||||
'Type has been created.' => 'Typ bol vytvorený.',
|
'Type has been created.' => 'Typ bol vytvorený.',
|
||||||
'Alter type' => 'Pozmeniť typ',
|
'Alter type' => 'Pozmeniť typ',
|
||||||
'Double click on a value to modify it.' => 'Dvojkliknite na políčko, ktoré chcete zmeniť.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+kliknite na políčko, ktoré chcete zmeniť.',
|
||||||
'Use edit link to modify this value.' => 'Pre zmenu tejto hodnoty použite odkaz upraviť.',
|
'Use edit link to modify this value.' => 'Pre zmenu tejto hodnoty použite odkaz upraviť.',
|
||||||
'last' => 'posledný',
|
'last' => 'posledný',
|
||||||
'From server' => 'Zo serveru',
|
'From server' => 'Zo serveru',
|
||||||
|
@@ -235,7 +235,7 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => array('Uvožena je %d vrstica.', 'Uvoženi sta %d vrstici.', 'Uvožene so %d vrstice.', 'Uvoženih je %d vrstic.'),
|
'%d row(s) have been imported.' => array('Uvožena je %d vrstica.', 'Uvoženi sta %d vrstici.', 'Uvožene so %d vrstice.', 'Uvoženih je %d vrstic.'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'Dvojni klik na vrednost za urejanje.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+klik na vrednost za urejanje.',
|
||||||
'Use edit link to modify this value.' => 'Uporabite urejanje povezave za spreminjanje te vrednosti.',
|
'Use edit link to modify this value.' => 'Uporabite urejanje povezave za spreminjanje te vrednosti.',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
|
@@ -243,7 +243,7 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => array('%d ред је увежен.', '%d реда су увежена.', '%d редова је увежено.'),
|
'%d row(s) have been imported.' => array('%d ред је увежен.', '%d реда су увежена.', '%d редова је увежено.'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'Дупли клик на вредност за измену.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+клик на вредност за измену.',
|
||||||
'Use edit link to modify this value.' => 'Користи везу за измену ове вредности.',
|
'Use edit link to modify this value.' => 'Користи везу за измену ове вредности.',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
|
@@ -234,7 +234,6 @@ $translations = array(
|
|||||||
'Schema has been dropped.' => 'அமைப்புமுறை நீக்கப்பட்டது.',
|
'Schema has been dropped.' => 'அமைப்புமுறை நீக்கப்பட்டது.',
|
||||||
'Schema has been created.' => 'அமைப்புமுறை உருவாக்கப்பட்டது.',
|
'Schema has been created.' => 'அமைப்புமுறை உருவாக்கப்பட்டது.',
|
||||||
'Schema has been altered.' => 'அமைப்புமுறை மாற்றப்பட்டது.',
|
'Schema has been altered.' => 'அமைப்புமுறை மாற்றப்பட்டது.',
|
||||||
'Double click on a value to modify it.' => 'மதிப்பினை மாற்ற அதன் மீது இருமுறை சொடுக்கவும் (Double click).',
|
|
||||||
'Use edit link to modify this value.' => 'இந்த மதிப்பினை மாற்ற, தொகுப்பு இணைப்பினை உபயோகிக்கவும்.',
|
'Use edit link to modify this value.' => 'இந்த மதிப்பினை மாற்ற, தொகுப்பு இணைப்பினை உபயோகிக்கவும்.',
|
||||||
'last' => 'கடைசி',
|
'last' => 'கடைசி',
|
||||||
'Sequence has been dropped.' => 'வரிசைமுறை நீக்கப்பட்டது.',
|
'Sequence has been dropped.' => 'வரிசைமுறை நீக்கப்பட்டது.',
|
||||||
|
@@ -5,146 +5,151 @@ $translations = array(
|
|||||||
'Server' => 'Sunucu',
|
'Server' => 'Sunucu',
|
||||||
'Username' => 'Kullanıcı',
|
'Username' => 'Kullanıcı',
|
||||||
'Password' => 'Parola',
|
'Password' => 'Parola',
|
||||||
'Permanent login' => 'Kalıcı giriş',
|
'Permanent login' => 'Beni hatırla',
|
||||||
'Login' => 'Giriş',
|
'Login' => 'Giriş',
|
||||||
'Logout' => 'Çıkış',
|
'Logout' => 'Çıkış',
|
||||||
'Logged as: %s' => '%s olarak giriş yapıldı.',
|
'Logged as: %s' => '%s olarak giriş yapıldı.',
|
||||||
'Logout successful.' => 'Başarıyla çıkıldı.',
|
'Logout successful.' => 'Başarıyla çıkış yapıldı.',
|
||||||
'Invalid credentials.' => 'Geçersiz kimlik.',
|
'Invalid credentials.' => 'Geçersiz kimlik.',
|
||||||
'Language' => 'Dil',
|
'Language' => 'Dil',
|
||||||
'Invalid CSRF token. Send the form again.' => 'Geçersiz Cross-site request forgery (CSRF) jetonu. Forumu tekrar yolla.',
|
'Invalid CSRF token. Send the form again.' => 'Geçersiz (CSRF) jetonu. Formu tekrar yolla.',
|
||||||
'No extension' => 'Uzantı yok',
|
'No extension' => 'Uzantı yok',
|
||||||
'None of the supported PHP extensions (%s) are available.' => 'Desteklenen PHP uzantılarından (%s) hiçbiri mevcut değil.',
|
'None of the supported PHP extensions (%s) are available.' => 'Desteklenen PHP eklentilerinden (%s) hiçbiri mevcut değil.',
|
||||||
'Session support must be enabled.' => 'Oturum desteği etkin olmalıdır.',
|
'Session support must be enabled.' => 'Oturum desteği etkin olmalıdır.',
|
||||||
'Session expired, please login again.' => 'Oturum süresi doldu, lütfen tekrar giriş yapın.',
|
'Session expired, please login again.' => 'Oturum süresi doldu, lütfen tekrar giriş yapın.',
|
||||||
'%s version: %s through PHP extension %s' => '%s sürüm: %s PHP uzantısı ile %s',
|
'%s version: %s through PHP extension %s' => '%s sürüm: %s, %s PHP eklentisi ile',
|
||||||
'Refresh' => 'Tazele',
|
'Refresh' => 'Tazele',
|
||||||
|
|
||||||
// text direction
|
// text direction
|
||||||
'ltr' => 'ltr',
|
'ltr' => 'ltr',
|
||||||
|
|
||||||
'Privileges' => 'İzinler',
|
'Privileges' => 'İzinler',
|
||||||
'Create user' => 'Kullanıcı yarat',
|
'Create user' => 'Kullanıcı oluştur',
|
||||||
'User has been dropped.' => 'Kullanıcı düşürüldü.',
|
'User has been dropped.' => 'Kullanıcı silindi.',
|
||||||
'User has been altered.' => 'Kullanıcı değiştirildi.',
|
'User has been altered.' => 'Kullanıcı değiştirildi.',
|
||||||
'User has been created.' => 'Kullanıcı yaratıldı.',
|
'User has been created.' => 'Kullanıcı oluşturuldu.',
|
||||||
'Hashed' => 'Harmanlandı.',
|
'Hashed' => 'Harmanlandı',
|
||||||
'Column' => 'Kolon',
|
'Column' => 'Kolon',
|
||||||
'Routine' => 'Yordam',
|
'Routine' => 'Yordam',
|
||||||
'Grant' => 'İmtiyaz',
|
'Grant' => 'Yetki Ver',
|
||||||
'Revoke' => 'Geri al',
|
'Revoke' => 'Yetki Kaldır',
|
||||||
|
|
||||||
'Process list' => 'İşlem listesi',
|
'Process list' => 'İşlem listesi',
|
||||||
'%d process(es) have been killed.' => array('%d süreç öldürüldü.', '%d adet süreç öldürüldü.'),
|
'%d process(es) have been killed.' => array('%d işlem sonlandırıldı.', '%d adet işlem sonlandırıldı.'),
|
||||||
'Kill' => 'Öldür',
|
'Kill' => 'Sonlandır',
|
||||||
|
|
||||||
'Variables' => 'Değişkenler',
|
'Variables' => 'Değişkenler',
|
||||||
'Status' => 'Durum',
|
'Status' => 'Durum',
|
||||||
|
|
||||||
'SQL command' => 'SQL komutu',
|
'SQL command' => 'SQL komutu',
|
||||||
'%d query(s) executed OK.' => array('%d sorgunun işletilmesi tamamlandı.', '%d kadar sorgunun işletilmesi tamamlandı.'),
|
'%d query(s) executed OK.' => array('%d sorgu başarıyla çalıştırıldı.', '%d adet sorgu başarıyla çalıştırıldı.'),
|
||||||
'Query executed OK, %d row(s) affected.' => array('Sorgu işletilmesi tamamlandı. %d sıra(row) etkilendi.', 'Sorgu işletilmesi tamamlandı. Bundan %d kadar sıra etkilendi.'),
|
'Query executed OK, %d row(s) affected.' => array('Sorgu başarıyla çalıştırıldı, %d adet kayıt etkilendi.', 'Sorgu başarıyla çalıştırıldı, %d adet kayıt etkilendi.'),
|
||||||
'No commands to execute.' => 'İşletilmek için komut yok.',
|
'No commands to execute.' => 'Çalıştırılacak komut yok.',
|
||||||
'Error in query' => 'Sorguda hata',
|
'Error in query' => 'Sorguda hata',
|
||||||
'Execute' => 'İşlet',
|
'Execute' => 'Çalıştır',
|
||||||
'Stop on error' => 'Dur hata',
|
'Stop on error' => 'Hata oluşursa dur',
|
||||||
'Show only errors' => 'Sadece hataları göster.',
|
'Show only errors' => 'Sadece hataları göster.',
|
||||||
// sprintf() format for time of the command
|
// sprintf() format for time of the command
|
||||||
'%.3f s' => '%.3f s',
|
'%.3f s' => '%.3f s',
|
||||||
'History' => 'Tarih',
|
'History' => 'Geçmiş',
|
||||||
'Clear' => 'Boşluk',
|
'Clear' => 'Temizle',
|
||||||
|
'Edit all' => 'Tümünü düzenle',
|
||||||
|
|
||||||
'File upload' => 'Dosya gönder',
|
'File upload' => 'Dosya gönder',
|
||||||
'From server' => 'Sunucudan',
|
'From server' => 'Sunucudan',
|
||||||
'Webserver file %s' => '%s web sunucusu dosyası',
|
'Webserver file %s' => '%s web sunucusu dosyası',
|
||||||
'Run file' => 'Dosya çalıştır',
|
'Run file' => 'Dosyayı çalıştır',
|
||||||
'File does not exist.' => 'Dosya mevcut değil.',
|
'File does not exist.' => 'Dosya mevcut değil.',
|
||||||
'File uploads are disabled.' => 'Dosya gönderimi etkin değil.',
|
'File uploads are disabled.' => 'Dosya gönderimi etkin değil.',
|
||||||
'Unable to upload a file.' => 'Dosya gönderilemiyor.',
|
'Unable to upload a file.' => 'Dosya gönderilemiyor.',
|
||||||
'Maximum allowed file size is %sB.' => 'Bir dosya için izin verilen dosya sınırı %sB.',
|
'Maximum allowed file size is %sB.' => 'İzin verilen dosya boyutu sınırı %sB.',
|
||||||
'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'Çok büyük POST verisi, veriyi azaltın ya da ayar yönergesini uygun olarak yapılandırın.',
|
'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'Çok büyük POST verisi, veriyi azaltın ya da %s ayar yönergesini uygun olarak yapılandırın.',
|
||||||
|
|
||||||
'Export' => 'İhraç',
|
'Export' => 'Dışarı Aktar',
|
||||||
'Dump' => 'Döküm',
|
'Dump' => 'Döküm',
|
||||||
'Output' => 'Çıktı',
|
'Output' => 'Çıktı',
|
||||||
'open' => 'aç',
|
'open' => 'aç',
|
||||||
'save' => 'kaydet',
|
'save' => 'kaydet',
|
||||||
'Format' => 'Biçim',
|
'Format' => 'Biçim',
|
||||||
'Data' => 'Veri',
|
'Data' => 'Veri',
|
||||||
|
|
||||||
'Database' => 'Veritabanı',
|
'Database' => 'Veri Tabanı',
|
||||||
'database' => 'veritabanı',
|
'database' => 'veri tabanı',
|
||||||
'Use' => 'Kullan',
|
'Use' => 'Kullan',
|
||||||
'Select database' => 'Veritabanı seç',
|
'Select database' => 'Veri tabanı seç',
|
||||||
'Invalid database.' => 'Geçersiz veritabanı.',
|
'Invalid database.' => 'Geçersiz veri tabanı.',
|
||||||
'Create new database' => 'Yeni veritabanı yarat',
|
'Create new database' => 'Yeni veri tabanı oluştur',
|
||||||
'Database has been dropped.' => 'Veritabanı düşürüldü.',
|
'Database has been dropped.' => 'Veri tabanı silindi.',
|
||||||
'Databases have been dropped.' => 'Veritabanları düşüüldü.',
|
'Databases have been dropped.' => 'Veritabanları silindi.',
|
||||||
'Database has been created.' => 'Veritabanı yaratıldı.',
|
'Database has been created.' => 'Veri tabanı oluşturuldu.',
|
||||||
'Database has been renamed.' => 'Veritabanının ismi değiştirildi.',
|
'Database has been renamed.' => 'Veri tabanının ismi değiştirildi.',
|
||||||
'Database has been altered.' => 'Veritabanı değiştirildi.',
|
'Database has been altered.' => 'Veri tabanı değiştirildi.',
|
||||||
'Alter database' => 'Veritabanı değiştir',
|
'Alter database' => 'Veri tabanını değiştir',
|
||||||
'Create database' => 'Veritabanı yarat',
|
'Create database' => 'Veri tabanı oluştur',
|
||||||
'Database schema' => 'Veritabanı şeması',
|
'Database schema' => 'Veri tabanı şeması',
|
||||||
|
|
||||||
|
// link to current database schema layout
|
||||||
|
'Permanent link' => 'Kalıcı bağlantı',
|
||||||
|
|
||||||
// thousands separator - must contain single byte
|
// thousands separator - must contain single byte
|
||||||
',' => ' ',
|
',' => ' ',
|
||||||
'Engine' => 'Motor',
|
'Engine' => 'Motor',
|
||||||
'Collation' => 'Karşılaştırma',
|
'Collation' => 'Karşılaştırma',
|
||||||
'Data Length' => 'Veri uzunluğu',
|
'Data Length' => 'Veri Uzunluğu',
|
||||||
'Index Length' => 'Dizin uzunluğu',
|
'Index Length' => 'Dizin Uzunluğu',
|
||||||
'Data Free' => 'Serbest veri',
|
'Data Free' => 'Boş Veri',
|
||||||
'Rows' => 'Sıralar (Rows)',
|
'Rows' => 'Kayıtlar',
|
||||||
'%d in total' => '%d toplamda',
|
'%d in total' => 'toplam %d',
|
||||||
'Analyze' => 'Çözümleme',
|
'Analyze' => 'Çözümle',
|
||||||
'Optimize' => 'En uygun hale getirme',
|
'Optimize' => 'En uygun hale getir',
|
||||||
'Check' => 'Denetleme',
|
'Check' => 'Denetle',
|
||||||
'Repair' => 'Tamir',
|
'Repair' => 'Tamir Et',
|
||||||
'Truncate' => 'Buda',
|
'Truncate' => 'Boşalt',
|
||||||
'Tables have been truncated.' => 'Tablolar budandı.',
|
'Tables have been truncated.' => 'Tablolar boşaltıldı.',
|
||||||
'Move to other database' => 'Diğer veritabanına taşı',
|
'Move to other database' => 'Başka veri tabanına taşı',
|
||||||
'Move' => 'Taşı',
|
'Move' => 'Taşı',
|
||||||
'Tables have been moved.' => 'Tablolar taşındı.',
|
'Tables have been moved.' => 'Tablolar taşındı.',
|
||||||
'Copy' => 'Kopyala',
|
'Copy' => 'Kopyala',
|
||||||
'Tables have been copied.' => 'Tablolar kopyalandı.',
|
'Tables have been copied.' => 'Tablolar kopyalandı.',
|
||||||
|
|
||||||
'Routines' => 'Yordamlar',
|
'Routines' => 'Yordamlar',
|
||||||
'Routine has been called, %d row(s) affected.' => array('Yordam çağrıldı, %d sıra(row) etkilendi.', 'Yordam çağrıldı, %d sıralar(rows) etkilendi.'),
|
'Routine has been called, %d row(s) affected.' => array('Yordam çağrıldı, %d adet kayıt etkilendi.', 'Yordam çağrıldı, %d kayıt etkilendi.'),
|
||||||
'Call' => 'Çağrı',
|
'Call' => 'Çağır',
|
||||||
'Parameter name' => 'Parametre adı',
|
'Parameter name' => 'Parametre adı',
|
||||||
'Create procedure' => 'Yöntem yarat',
|
'Create procedure' => 'Yöntem oluştur',
|
||||||
'Create function' => 'Fonksiyon yarat',
|
'Create function' => 'Fonksiyon oluştur',
|
||||||
'Routine has been dropped.' => 'Yordam düşürüldü.',
|
'Routine has been dropped.' => 'Yordam silindi.',
|
||||||
'Routine has been altered.' => 'Yordam değiştirildi.',
|
'Routine has been altered.' => 'Yordam değiştirildi.',
|
||||||
'Routine has been created.' => 'Yordam yaratıldı.',
|
'Routine has been created.' => 'Yordam oluşturuldu.',
|
||||||
'Alter function' => 'Değiştirme fonksyionu',
|
'Alter function' => 'Fonksyionu değiştir',
|
||||||
'Alter procedure' => 'Değiştirme yöntemi',
|
'Alter procedure' => 'Yöntemi değiştir',
|
||||||
'Return type' => 'Geri dönüş türü',
|
'Return type' => 'Geri dönüş türü',
|
||||||
|
|
||||||
'Events' => 'Olaylar',
|
'Events' => 'Olaylar',
|
||||||
'Event has been dropped.' => 'Olay düşüdüldü.',
|
'Event has been dropped.' => 'Olay silindi.',
|
||||||
'Event has been altered.' => 'Olay değiştirildi.',
|
'Event has been altered.' => 'Olay değiştirildi.',
|
||||||
'Event has been created.' => 'Olay yaratıldı.',
|
'Event has been created.' => 'Olay oluşturuldu.',
|
||||||
'Alter event' => 'Değiştirme olayı',
|
'Alter event' => 'Olayı değiştir',
|
||||||
'Create event' => 'Yaratma olayı',
|
'Create event' => 'Olay oluştur',
|
||||||
'At given time' => 'Bir anda',
|
'At given time' => 'Verilen zamanda',
|
||||||
'Every' => 'Herzaman',
|
'Every' => 'Her zaman',
|
||||||
'Schedule' => 'Takvimli',
|
'Schedule' => 'Takvimli',
|
||||||
'Start' => 'Başla',
|
'Start' => 'Başla',
|
||||||
'End' => 'Son',
|
'End' => 'Son',
|
||||||
'On completion preserve' => 'Tamamlama koruması AÇIK',
|
'On completion preserve' => 'Tamamlama koruması',
|
||||||
|
|
||||||
'Tables' => 'Tablolar',
|
'Tables' => 'Tablolar',
|
||||||
'Tables and views' => 'Tablolar ve görünümler',
|
'Tables and views' => 'Tablolar ve görünümler',
|
||||||
'Table' => 'Tablo',
|
'Table' => 'Tablo',
|
||||||
'No tables.' => 'Tablo yok.',
|
'No tables.' => 'Tablo yok.',
|
||||||
'Alter table' => 'Tablo değiştir',
|
'Alter table' => 'Tabloyu değiştir',
|
||||||
'Create table' => 'Tablo yarat',
|
'Create table' => 'Tablo oluştur',
|
||||||
'Create new table' => 'Yeni tablo yarat',
|
'Create new table' => 'Yeni tablo oluştur',
|
||||||
'Table has been dropped.' => 'Tablo düşürüldü.',
|
'Table has been dropped.' => 'Tablo silindi.',
|
||||||
'Tables have been dropped.' => 'Tablolar düşürüldü.',
|
'Tables have been dropped.' => 'Tablolar silindi.',
|
||||||
|
'Tables have been optimized.' => 'Tablolar en uygun hale getirildi.',
|
||||||
'Table has been altered.' => 'Tablo değiştirildi.',
|
'Table has been altered.' => 'Tablo değiştirildi.',
|
||||||
'Table has been created.' => 'Tablo yaratıldı.',
|
'Table has been created.' => 'Tablo oluşturuldu.',
|
||||||
'Table name' => 'Tablo adı',
|
'Table name' => 'Tablo adı',
|
||||||
'Show structure' => 'Yapıyı göster',
|
'Show structure' => 'Yapıyı göster',
|
||||||
'engine' => 'motor',
|
'engine' => 'motor',
|
||||||
@@ -152,160 +157,167 @@ $translations = array(
|
|||||||
'Column name' => 'Kolon adı',
|
'Column name' => 'Kolon adı',
|
||||||
'Type' => 'Tür',
|
'Type' => 'Tür',
|
||||||
'Length' => 'Uzunluk',
|
'Length' => 'Uzunluk',
|
||||||
'Auto Increment' => 'Otomatik yükselt',
|
'Auto Increment' => 'Otomatik Artır',
|
||||||
'Options' => 'Seçenekler',
|
'Options' => 'Seçenekler',
|
||||||
'Comment' => 'Yorum',
|
'Comment' => 'Yorum',
|
||||||
'Default values' => 'Varsayılan değerler',
|
'Default values' => 'Varsayılan değerler',
|
||||||
'Drop' => 'Düşür',
|
'Drop' => 'Sil',
|
||||||
'Are you sure?' => 'Emin misin?',
|
'Are you sure?' => 'Emin misiniz?',
|
||||||
'Move up' => 'Yukarı taşı',
|
'Move up' => 'Yukarı taşı',
|
||||||
'Move down' => 'AŞağı taş',
|
'Move down' => 'Aşağı taşı',
|
||||||
'Remove' => 'Kaldır',
|
'Remove' => 'Sil',
|
||||||
'Maximum number of allowed fields exceeded. Please increase %s and %s.' => 'kabul edilebilir alan sayısı aşıldı. Lütfen %s ve %s düşürün.',
|
'Maximum number of allowed fields exceeded. Please increase %s and %s.' => 'İzin verilen en fazla alan sayısı aşıldı. Lütfen %s ve %s değerlerini artırın.',
|
||||||
|
|
||||||
'Partition by' => 'Bölümü tarafından',
|
'Partition by' => 'Bununla bölümle',
|
||||||
'Partitions' => 'Bölümler',
|
'Partitions' => 'Bölümler',
|
||||||
'Partition name' => 'BÖlüm adı',
|
'Partition name' => 'Bölüm adı',
|
||||||
'Values' => 'Değerler',
|
'Values' => 'Değerler',
|
||||||
|
|
||||||
'View' => 'Görünüm',
|
'View' => 'Görünüm',
|
||||||
'View has been dropped.' => 'Görünüm düşürüldü.',
|
'View has been dropped.' => 'Görünüm silindi.',
|
||||||
'View has been altered.' => 'Görünüm değiştirildi.',
|
'View has been altered.' => 'Görünüm değiştirildi.',
|
||||||
'View has been created.' => 'Görünüm yaratıldı.',
|
'View has been created.' => 'Görünüm oluşturuldu.',
|
||||||
'Alter view' => 'Değişim görünüm',
|
'Alter view' => 'Görünümü değiştir',
|
||||||
'Create view' => 'Görünüm yarat',
|
'Create view' => 'Görünüm oluştur',
|
||||||
|
|
||||||
'Indexes' => 'Dizinler',
|
'Indexes' => 'Dizinler',
|
||||||
'Indexes have been altered.' => 'Dizinler değiştirilidi.',
|
'Indexes have been altered.' => 'Dizinler değiştirildi.',
|
||||||
'Alter indexes' => 'Dizinleri değiştir',
|
'Alter indexes' => 'Dizinleri değiştir',
|
||||||
'Add next' => 'Sonraya ekle',
|
'Add next' => 'Bundan sonra ekle',
|
||||||
'Index Type' => 'Dizin Türü',
|
'Index Type' => 'Dizin Türü',
|
||||||
'Column (length)' => 'Kolon (uzunluğu)',
|
'Column (length)' => 'Kolon (uzunluğu)',
|
||||||
|
|
||||||
'Foreign keys' => 'Dış anahtarlar',
|
'Foreign keys' => 'Dış anahtarlar',
|
||||||
'Foreign key' => 'Dış anahtar',
|
'Foreign key' => 'Dış anahtar',
|
||||||
'Foreign key has been dropped.' => 'Dış anahtar düşürüldü.',
|
'Foreign key has been dropped.' => 'Dış anahtar silindi.',
|
||||||
'Foreign key has been altered.' => 'Dış anahtar değiştir.',
|
'Foreign key has been altered.' => 'Dış anahtar değiştirildi.',
|
||||||
'Foreign key has been created.' => 'Dış anahtar yarat.',
|
'Foreign key has been created.' => 'Dış anahtar oluşturuldu.',
|
||||||
'Target table' => 'Hedef tablo',
|
'Target table' => 'Hedef tablo',
|
||||||
'Change' => 'Değiş',
|
'Change' => 'Değiştir',
|
||||||
'Source' => 'Kaynak',
|
'Source' => 'Kaynak',
|
||||||
'Target' => 'Hedef',
|
'Target' => 'Hedef',
|
||||||
'Add column' => 'Kolon eklde',
|
'Add column' => 'Kolon ekle',
|
||||||
'Alter' => 'Değiştir',
|
'Alter' => 'Değiştir',
|
||||||
'Add foreign key' => 'Dış anahtar ekle',
|
'Add foreign key' => 'Dış anahtar ekle',
|
||||||
'ON DELETE' => 'Silinmek üzere',
|
'ON DELETE' => 'ON DELETE (Hedefteki Kayıt Silinirse)',
|
||||||
'ON UPDATE' => 'Yükseltilmek üzere',
|
'ON UPDATE' => 'ON UPDATE (Hedefteki Kayıt Değiştirilirse)',
|
||||||
'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'Kaynak ve hedef kolonlar aynı veri türü olmak zorunda, hedef kolonda bir dizin ve başvurulan veri bulunmalı.',
|
'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'Kaynak ve hedef kolonlar aynı veri türünde olmalı, hedef kolonlarda dizin bulunmalı ve başvurulan veri mevcut olmalı.',
|
||||||
|
|
||||||
'Triggers' => 'Tetikler',
|
'Triggers' => 'Tetikler',
|
||||||
'Add trigger' => 'Tetik ekle',
|
'Add trigger' => 'Tetik ekle',
|
||||||
'Trigger has been dropped.' => 'Tetik düşürüldü.',
|
'Trigger has been dropped.' => 'Tetik silindi.',
|
||||||
'Trigger has been altered.' => 'Tetik değiştirildi.',
|
'Trigger has been altered.' => 'Tetik değiştirildi.',
|
||||||
'Trigger has been created.' => 'Tetik yaratıldı.',
|
'Trigger has been created.' => 'Tetik oluşturuldu.',
|
||||||
'Alter trigger' => 'Tetik değiştir.',
|
'Alter trigger' => 'Tetiği değiştir.',
|
||||||
'Create trigger' => 'Tetik yarat',
|
'Create trigger' => 'Tetik oluştur',
|
||||||
'Time' => 'Zaman',
|
'Time' => 'Zaman',
|
||||||
'Event' => 'Olay',
|
'Event' => 'Olay',
|
||||||
'Name' => 'Ad',
|
'Name' => 'Ad',
|
||||||
|
|
||||||
'select' => 'seç',
|
'select' => 'seç',
|
||||||
'Select' => 'Seç',
|
'Select' => 'Seç',
|
||||||
'Select data' => 'Veri seç',
|
'Select data' => 'Veri seç',
|
||||||
'Functions' => 'Fonksiyonlar',
|
'Functions' => 'Fonksiyonlar',
|
||||||
'Aggregation' => 'Kümeleme',
|
'Aggregation' => 'Kümeleme',
|
||||||
'Search' => 'Arama',
|
'Search' => 'Ara',
|
||||||
'anywhere' => 'herhangi bir yer',
|
'anywhere' => 'hiçbir yerde',
|
||||||
'Search data in tables' => 'Tablolarda veri ara.',
|
'Search data in tables' => 'Tablolarda veri ara',
|
||||||
'Sort' => 'Sırala',
|
'Sort' => 'Sırala',
|
||||||
'descending' => 'azalan',
|
'descending' => 'azalan',
|
||||||
'Limit' => 'sınır',
|
'Limit' => 'sınır',
|
||||||
'Text length' => 'Yazı uzunluğu',
|
'Text length' => 'Yazı uzunluğu',
|
||||||
'Action' => 'Eylem',
|
'Action' => 'Eylem',
|
||||||
|
'Full table scan' => 'Tam tablo tarama',
|
||||||
'Unable to select the table' => 'Tablo seçilemedi',
|
'Unable to select the table' => 'Tablo seçilemedi',
|
||||||
'No rows.' => 'Sıra yok.',
|
'No rows.' => 'Kayıt yok.',
|
||||||
'%d row(s)' => array('%d sıra)', '%d kadar sıra'),
|
'%d row(s)' => array('%d kayıt', '%d adet kayıt'),
|
||||||
'Page' => 'Sayfa',
|
'Page' => 'Sayfa',
|
||||||
'last' => 'son',
|
'last' => 'son',
|
||||||
'Last page' => 'Son sayfa',
|
'Last page' => 'Son sayfa',
|
||||||
|
'Load more data' => 'Daha fazla veri yükle',
|
||||||
|
'Loading' => 'Yükleniyor',
|
||||||
'whole result' => 'tüm sonuç',
|
'whole result' => 'tüm sonuç',
|
||||||
'%d byte(s)' => array('%d bayt', '%d kadar bayt'),
|
'%d byte(s)' => array('%d bayt', '%d bayt'),
|
||||||
|
|
||||||
'Import' => 'İthal',
|
'Import' => 'İçeri Aktar',
|
||||||
'%d row(s) have been imported.' => array('%d sıra ithal edildi.', '%d kadar sıra ithal edildi.'),
|
'%d row(s) have been imported.' => array('%d kayıt içeri aktarıldı.', '%d adet kayıt içeri aktarıldı.'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'Değerin üzerine çift tıklayın ve değiştirin.',
|
'Ctrl+click on a value to modify it.' => 'Bir değeri değiştirmek için üzerine Ctrl+tıklayın.',
|
||||||
'Use edit link to modify this value.' => 'Değeri değiştirmek için düzenleme bağlantısını kullanın.',
|
'Use edit link to modify this value.' => 'Değeri değiştirmek için düzenleme bağlantısını kullanın.',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
'Item%s has been inserted.' => 'Öğeler eklendi.',
|
'Item%s has been inserted.' => 'Kayıt%s eklendi.',
|
||||||
'Item has been deleted.' => 'Öğe silindi.',
|
'Item has been deleted.' => 'Kayıt silindi.',
|
||||||
'Item has been updated.' => 'Öğe güncellendi.',
|
'Item has been updated.' => 'Kayıt güncellendi.',
|
||||||
'%d item(s) have been affected.' => array('%d öğe etkilendi.', '%d kadar öğe etkilendi.'),
|
'%d item(s) have been affected.' => array('%d kayıt etkilendi.', '%d adet kayıt etkilendi.'),
|
||||||
'New item' => 'Yeni öğe',
|
'New item' => 'Yeni kayıt',
|
||||||
'original' => 'orijinal',
|
'original' => 'orijinal',
|
||||||
// label for value '' in enum data type
|
// label for value '' in enum data type
|
||||||
'empty' => 'boş',
|
'empty' => 'boş',
|
||||||
'edit' => 'düzen',
|
'edit' => 'düzenle',
|
||||||
'Edit' => 'Düzen',
|
'Edit' => 'Düzenle',
|
||||||
'Insert' => 'Ekle',
|
'Insert' => 'Ekle',
|
||||||
'Save' => 'Kaydet',
|
'Save' => 'Kaydet',
|
||||||
'Save and continue edit' => 'Kaydet ve düzenlemeye devam et',
|
'Save and continue edit' => 'Kaydet ve düzenlemeye devam et',
|
||||||
'Save and insert next' => 'Kaydet ve sonrakin ekle',
|
'Save and insert next' => 'Kaydet ve sonrakini ekle',
|
||||||
'Clone' => 'Klonla',
|
'Clone' => 'Kopyala',
|
||||||
'Delete' => 'Sil',
|
'Delete' => 'Sil',
|
||||||
|
|
||||||
'E-mail' => 'E-posta',
|
'E-mail' => 'E-posta',
|
||||||
'From' => 'Gönderen',
|
'From' => 'Gönderen',
|
||||||
'Subject' => 'Konu',
|
'Subject' => 'Konu',
|
||||||
'Attachments' => 'Ekler',
|
'Attachments' => 'Ekler',
|
||||||
'Send' => 'Gönder',
|
'Send' => 'Gönder',
|
||||||
'%d e-mail(s) have been sent.' => array('%d e-posta dönderildi.', '%d kadar e-posta gönderildi.'),
|
'%d e-mail(s) have been sent.' => array('%d e-posta gönderildi.', '%d adet e-posta gönderildi.'),
|
||||||
|
|
||||||
// data type descriptions
|
// data type descriptions
|
||||||
'Numbers' => 'Sayılar',
|
'Numbers' => 'Sayılar',
|
||||||
'Date and time' => 'Tarih ve zaman',
|
'Date and time' => 'Tarih ve zaman',
|
||||||
'Strings' => 'Sözcükler',
|
'Strings' => 'Dizge',
|
||||||
'Binary' => 'İkili',
|
'Binary' => 'İkili',
|
||||||
'Lists' => 'Listeler',
|
'Lists' => 'Listeler',
|
||||||
'Network' => 'Ağ',
|
'Network' => 'Ağ',
|
||||||
'Geometry' => 'Geometri',
|
'Geometry' => 'Geometri',
|
||||||
'Relations' => 'İlişkiler',
|
'Relations' => 'İlişkiler',
|
||||||
|
|
||||||
'Editor' => 'Düzenleyici',
|
'Editor' => 'Düzenleyici',
|
||||||
// date format in Editor: $1 yyyy, $2 yy, $3 mm, $4 m, $5 dd, $6 d
|
// date format in Editor: $1 yyyy, $2 yy, $3 mm, $4 m, $5 dd, $6 d
|
||||||
'$1-$3-$5' => '$6.$4.$1',
|
'$1-$3-$5' => '$6.$4.$1',
|
||||||
// hint for date format - use language equivalents for day, month and year shortcuts
|
// hint for date format - use language equivalents for day, month and year shortcuts
|
||||||
'[yyyy]-mm-dd' => 'd.m.[rrrr]',
|
'[yyyy]-mm-dd' => '[yyyy]-aa-gg',
|
||||||
|
// hint for time format - use language equivalents for hour, minute and second shortcuts
|
||||||
|
'HH:MM:SS' => 'SS:DD:ss',
|
||||||
'now' => 'şimdi',
|
'now' => 'şimdi',
|
||||||
|
'yes' => 'evet',
|
||||||
|
'no' => 'hayır',
|
||||||
|
|
||||||
// general SQLite error in create, drop or rename database
|
// general SQLite error in create, drop or rename database
|
||||||
'File exists.' => 'Dosya mevcut.',
|
'File exists.' => 'Dosya zaten mevcut.',
|
||||||
'Please use one of the extensions %s.' => '%s uzantılarından birini kullanın.',
|
'Please use one of the extensions %s.' => '%s uzantılarından birini kullanın.',
|
||||||
|
|
||||||
// PostgreSQL and MS SQL schema support
|
// PostgreSQL and MS SQL schema support
|
||||||
'Alter schema' => 'Değişim şeması',
|
'Alter schema' => 'Şemayı değiştir',
|
||||||
'Create schema' => 'Yaratım şeması',
|
'Create schema' => 'Şema oluştur',
|
||||||
'Schema has been dropped.' => 'Şema düşürüldü.',
|
'Schema has been dropped.' => 'Şema silindi.',
|
||||||
'Schema has been created.' => 'Şema yaratıldı.',
|
'Schema has been created.' => 'Şema oluşturuldu.',
|
||||||
'Schema has been altered.' => 'Şema değiştirildi.',
|
'Schema has been altered.' => 'Şema değiştirildi.',
|
||||||
'schema' => 'şema',
|
'schema' => 'şema',
|
||||||
'Schema' => 'Şema',
|
'Schema' => 'Şema',
|
||||||
'Invalid schema.' => 'Geçersiz şema.',
|
'Invalid schema.' => 'Geçersiz şema.',
|
||||||
|
|
||||||
// PostgreSQL sequences support
|
// PostgreSQL sequences support
|
||||||
'Sequences' => 'Diziler',
|
'Sequences' => 'Diziler',
|
||||||
'Create sequence' => 'Dizi yarat',
|
'Create sequence' => 'Dizi oluştur',
|
||||||
'Sequence has been dropped.' => 'Dizi düşürüldü.',
|
'Sequence has been dropped.' => 'Dizi silindi.',
|
||||||
'Sequence has been created.' => 'Dizi yaratıldı.',
|
'Sequence has been created.' => 'Dizi oluşturuldu.',
|
||||||
'Sequence has been altered.' => 'Dizi değiştirildi.',
|
'Sequence has been altered.' => 'Dizi değiştirildi.',
|
||||||
'Alter sequence' => 'Dizi değiştir',
|
'Alter sequence' => 'Diziyi değiştir',
|
||||||
|
|
||||||
// PostgreSQL user types support
|
// PostgreSQL user types support
|
||||||
'User types' => 'Kullanıcı türleri',
|
'User types' => 'Kullanıcı türleri',
|
||||||
'Create type' => 'Tür yarat',
|
'Create type' => 'Tür oluştur',
|
||||||
'Type has been dropped.' => 'Tür düşürüldü.',
|
'Type has been dropped.' => 'Tür silindi.',
|
||||||
'Type has been created.' => 'Tür yaratıldı.',
|
'Type has been created.' => 'Tür oluşturuldu.',
|
||||||
'Alter type' => 'Tür değiştir',
|
'Alter type' => 'Türü değiştir',
|
||||||
);
|
);
|
||||||
|
@@ -240,7 +240,7 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => array('%d рядок було імпортовано.', '%d рядки було імпортовано.', '%d рядків було імпортовано.'),
|
'%d row(s) have been imported.' => array('%d рядок було імпортовано.', '%d рядки було імпортовано.', '%d рядків було імпортовано.'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'Двічі клікніть на значенні щоб змінити його.',
|
'Ctrl+click on a value to modify it.' => 'Ctrl+клікніть на значенні щоб змінити його.',
|
||||||
'Use edit link to modify this value.' => 'Використовуйте посилання щоб змінити це значення.',
|
'Use edit link to modify this value.' => 'Використовуйте посилання щоб змінити це значення.',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
|
@@ -234,6 +234,8 @@ $translations = array(
|
|||||||
'Page' => 'xx',
|
'Page' => 'xx',
|
||||||
'last' => 'xx',
|
'last' => 'xx',
|
||||||
'Last page' => 'xx',
|
'Last page' => 'xx',
|
||||||
|
'Load more data' => 'xx',
|
||||||
|
'Loading' => 'xx',
|
||||||
'whole result' => 'xx',
|
'whole result' => 'xx',
|
||||||
'%d byte(s)' => array('xx', 'xx'),
|
'%d byte(s)' => array('xx', 'xx'),
|
||||||
|
|
||||||
@@ -241,7 +243,7 @@ $translations = array(
|
|||||||
'%d row(s) have been imported.' => array('xx', 'xx'),
|
'%d row(s) have been imported.' => array('xx', 'xx'),
|
||||||
|
|
||||||
// in-place editing in select
|
// in-place editing in select
|
||||||
'Double click on a value to modify it.' => 'xx',
|
'Ctrl+click on a value to modify it.' => 'xx',
|
||||||
'Use edit link to modify this value.' => 'xx',
|
'Use edit link to modify this value.' => 'xx',
|
||||||
|
|
||||||
// %s can contain auto-increment value
|
// %s can contain auto-increment value
|
||||||
@@ -261,6 +263,7 @@ $translations = array(
|
|||||||
'Save and insert next' => 'xx',
|
'Save and insert next' => 'xx',
|
||||||
'Clone' => 'xx',
|
'Clone' => 'xx',
|
||||||
'Delete' => 'xx',
|
'Delete' => 'xx',
|
||||||
|
'You have no privileges to update this table.' => 'xx',
|
||||||
|
|
||||||
'E-mail' => 'xx',
|
'E-mail' => 'xx',
|
||||||
'From' => 'xx',
|
'From' => 'xx',
|
||||||
|
@@ -244,7 +244,6 @@ $translations = array(
|
|||||||
'Alter type' => '更改類型',
|
'Alter type' => '更改類型',
|
||||||
'Type has been dropped.' => '已刪除類型。',
|
'Type has been dropped.' => '已刪除類型。',
|
||||||
'Type has been created.' => '已建立類型。',
|
'Type has been created.' => '已建立類型。',
|
||||||
'Double click on a value to modify it.' => '雙擊以進行修改。',
|
|
||||||
'Use edit link to modify this value.' => '使用編輯連結來修改。',
|
'Use edit link to modify this value.' => '使用編輯連結來修改。',
|
||||||
'last' => '最後一頁',
|
'last' => '最後一頁',
|
||||||
'From server' => '從伺服器',
|
'From server' => '從伺服器',
|
||||||
|
@@ -244,7 +244,6 @@ $translations = array(
|
|||||||
'Alter type' => '更改类型',
|
'Alter type' => '更改类型',
|
||||||
'Type has been dropped.' => '已丢弃类型。',
|
'Type has been dropped.' => '已丢弃类型。',
|
||||||
'Type has been created.' => '已创建类型。',
|
'Type has been created.' => '已创建类型。',
|
||||||
'Double click on a value to modify it.' => '在值上双击类修改它。',
|
|
||||||
'Use edit link to modify this value.' => '使用编辑链接来修改该值。',
|
'Use edit link to modify this value.' => '使用编辑链接来修改该值。',
|
||||||
'last' => '最后',
|
'last' => '最后',
|
||||||
'From server' => '来自服务器',
|
'From server' => '来自服务器',
|
||||||
|
@@ -13,7 +13,7 @@ page_header(lang('Process list'), $error);
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<form action="" method="post">
|
<form action="" method="post">
|
||||||
<table cellspacing="0" onclick="tableClick(event);" class="nowrap checkable">
|
<table cellspacing="0" onclick="tableClick(event);" ondblclick="tableClick(event, true);" class="nowrap checkable">
|
||||||
<?php
|
<?php
|
||||||
// HTML valid because there is always at least one process
|
// HTML valid because there is always at least one process
|
||||||
$i = -1;
|
$i = -1;
|
||||||
|
@@ -18,7 +18,7 @@ foreach ($fields as $key => $field) {
|
|||||||
$name = $adminer->fieldName($field);
|
$name = $adminer->fieldName($field);
|
||||||
if (isset($field["privileges"]["select"]) && $name != "") {
|
if (isset($field["privileges"]["select"]) && $name != "") {
|
||||||
$columns[$key] = html_entity_decode(strip_tags($name));
|
$columns[$key] = html_entity_decode(strip_tags($name));
|
||||||
if (ereg('text|lob|geometry|point|linestring|polygon', $field["type"])) {
|
if (is_shortable($field)) {
|
||||||
$text_length = $adminer->selectLengthProcess();
|
$text_length = $adminer->selectLengthProcess();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,7 +46,7 @@ if ($_GET["val"] && is_ajax()) {
|
|||||||
header("Content-Type: text/plain; charset=utf-8");
|
header("Content-Type: text/plain; charset=utf-8");
|
||||||
foreach ($_GET["val"] as $unique_idf => $row) {
|
foreach ($_GET["val"] as $unique_idf => $row) {
|
||||||
$as = convert_field($fields[key($row)]);
|
$as = convert_field($fields[key($row)]);
|
||||||
echo $connection->result("SELECT" . limit(($as ? $as : idf_escape(key($row))) . " FROM " . table($TABLE), " WHERE " . where_check($unique_idf) . ($where ? " AND " . implode(" AND ", $where) : "") . ($order ? " ORDER BY " . implode(", ", $order) : ""), 1));
|
echo $connection->result("SELECT" . limit(($as ? $as : idf_escape(key($row))) . " FROM " . table($TABLE), " WHERE " . where_check($unique_idf, $fields) . ($where ? " AND " . implode(" AND ", $where) : "") . ($order ? " ORDER BY " . implode(", ", $order) : ""), 1));
|
||||||
}
|
}
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ if ($_POST && !$error) {
|
|||||||
$union = array();
|
$union = array();
|
||||||
foreach ($_POST["check"] as $val) {
|
foreach ($_POST["check"] as $val) {
|
||||||
// where is not unique so OR can't be used
|
// where is not unique so OR can't be used
|
||||||
$union[] = "(SELECT" . limit($from, "\nWHERE " . ($where ? implode(" AND ", $where) . " AND " : "") . where_check($val) . $group_by, 1) . ")";
|
$union[] = "(SELECT" . limit($from, "\nWHERE " . ($where ? implode(" AND ", $where) . " AND " : "") . where_check($val, $fields) . $group_by, 1) . ")";
|
||||||
}
|
}
|
||||||
$query = implode(" UNION ALL ", $union);
|
$query = implode(" UNION ALL ", $union);
|
||||||
}
|
}
|
||||||
@@ -122,7 +122,7 @@ if ($_POST && !$error) {
|
|||||||
} else {
|
} else {
|
||||||
foreach ((array) $_POST["check"] as $val) {
|
foreach ((array) $_POST["check"] as $val) {
|
||||||
// where is not unique so OR can't be used
|
// where is not unique so OR can't be used
|
||||||
$result = queries($command . limit1($query, "\nWHERE " . where_check($val)));
|
$result = queries($command . limit1($query, "\nWHERE " . where_check($val, $fields)));
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -141,7 +141,7 @@ if ($_POST && !$error) {
|
|||||||
//! display edit page in case of an error
|
//! display edit page in case of an error
|
||||||
} elseif (!$_POST["import"]) { // modify
|
} elseif (!$_POST["import"]) { // modify
|
||||||
if (!$_POST["val"]) {
|
if (!$_POST["val"]) {
|
||||||
$error = lang('Double click on a value to modify it.');
|
$error = lang('Ctrl+click on a value to modify it.');
|
||||||
} else {
|
} else {
|
||||||
$result = true;
|
$result = true;
|
||||||
$affected = 0;
|
$affected = 0;
|
||||||
@@ -152,7 +152,7 @@ if ($_POST && !$error) {
|
|||||||
$set[] = idf_escape($key) . " = " . (ereg('char|text', $fields[$key]["type"]) || $val != "" ? $adminer->processInput($fields[$key], $val) : "NULL");
|
$set[] = idf_escape($key) . " = " . (ereg('char|text', $fields[$key]["type"]) || $val != "" ? $adminer->processInput($fields[$key], $val) : "NULL");
|
||||||
}
|
}
|
||||||
$query = table($TABLE) . " SET " . implode(", ", $set);
|
$query = table($TABLE) . " SET " . implode(", ", $set);
|
||||||
$where2 = " WHERE " . where_check($unique_idf) . ($where ? " AND " . implode(" AND ", $where) : "");
|
$where2 = " WHERE " . where_check($unique_idf, $fields) . ($where ? " AND " . implode(" AND ", $where) : "");
|
||||||
$result = queries("UPDATE" . ($is_group ? " $query$where2" : limit1($query, $where2))); // can change row on a different page without unique key
|
$result = queries("UPDATE" . ($is_group ? " $query$where2" : limit1($query, $where2))); // can change row on a different page without unique key
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
break;
|
break;
|
||||||
@@ -171,7 +171,7 @@ if ($_POST && !$error) {
|
|||||||
begin();
|
begin();
|
||||||
$separator = ($_POST["separator"] == "csv" ? "," : ($_POST["separator"] == "tsv" ? "\t" : ";"));
|
$separator = ($_POST["separator"] == "csv" ? "," : ($_POST["separator"] == "tsv" ? "\t" : ";"));
|
||||||
foreach ($matches[0] as $key => $val) {
|
foreach ($matches[0] as $key => $val) {
|
||||||
preg_match_all("~((\"[^\"]*\")+|[^$separator]*)$separator~", $val . $separator, $matches2);
|
preg_match_all("~((?>\"[^\"]*\")+|[^$separator]*)$separator~", $val . $separator, $matches2);
|
||||||
if (!$key && !array_diff($matches2[1], $cols)) { //! doesn't work with column names containing ",\n
|
if (!$key && !array_diff($matches2[1], $cols)) { //! doesn't work with column names containing ",\n
|
||||||
// first row corresponds to column names - use it for table structure
|
// first row corresponds to column names - use it for table structure
|
||||||
$cols = $matches2[1];
|
$cols = $matches2[1];
|
||||||
@@ -282,7 +282,7 @@ if (!$columns) {
|
|||||||
} else {
|
} else {
|
||||||
$backward_keys = $adminer->backwardKeys($TABLE, $table_name);
|
$backward_keys = $adminer->backwardKeys($TABLE, $table_name);
|
||||||
|
|
||||||
echo "<table id='table' cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' onkeydown='return editingKeydown(event);'>\n";
|
echo "<table id='table' cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);' onkeydown='return editingKeydown(event);'>\n";
|
||||||
echo "<thead><tr>" . (!$group && $select ? "" : "<td><input type='checkbox' id='all-page' onclick='formCheck(this, /check/);'> <a href='" . h($_GET["modify"] ? remove_from_uri("modify") : $_SERVER["REQUEST_URI"] . "&modify=1") . "'>" . lang('edit') . "</a>");
|
echo "<thead><tr>" . (!$group && $select ? "" : "<td><input type='checkbox' id='all-page' onclick='formCheck(this, /check/);'> <a href='" . h($_GET["modify"] ? remove_from_uri("modify") : $_SERVER["REQUEST_URI"] . "&modify=1") . "'>" . lang('edit') . "</a>");
|
||||||
$names = array();
|
$names = array();
|
||||||
$functions = array();
|
$functions = array();
|
||||||
@@ -345,12 +345,12 @@ if (!$columns) {
|
|||||||
$val = $adminer->editVal($val, $field);
|
$val = $adminer->editVal($val, $field);
|
||||||
if ($val !== null) {
|
if ($val !== null) {
|
||||||
if (ereg('blob|bytea|raw|file', $field["type"]) && $val != "") {
|
if (ereg('blob|bytea|raw|file', $field["type"]) && $val != "") {
|
||||||
$link = h(ME . 'download=' . urlencode($TABLE) . '&field=' . urlencode($key) . $unique_idf);
|
$link = ME . 'download=' . urlencode($TABLE) . '&field=' . urlencode($key) . $unique_idf;
|
||||||
}
|
}
|
||||||
if ($val === "") { // === - may be int
|
if ($val === "") { // === - may be int
|
||||||
$val = " ";
|
$val = " ";
|
||||||
} elseif (is_utf8($val)) {
|
} elseif (is_utf8($val)) {
|
||||||
if ($text_length != "" && ereg('text|lob|geometry|point|linestring|polygon', $field["type"])) {
|
if ($text_length != "" && is_shortable($field)) {
|
||||||
$val = shorten_utf8($val, max(0, +$text_length)); // usage of LEFT() would reduce traffic but complicate query - expected average speedup: .001 s VS .01 s on local network
|
$val = shorten_utf8($val, max(0, +$text_length)); // usage of LEFT() would reduce traffic but complicate query - expected average speedup: .001 s VS .01 s on local network
|
||||||
} else {
|
} else {
|
||||||
$val = h($val);
|
$val = h($val);
|
||||||
@@ -364,7 +364,7 @@ if (!$columns) {
|
|||||||
foreach ($foreign_key["source"] as $i => $source) {
|
foreach ($foreign_key["source"] as $i => $source) {
|
||||||
$link .= where_link($i, $foreign_key["target"][$i], $rows[$n][$source]);
|
$link .= where_link($i, $foreign_key["target"][$i], $rows[$n][$source]);
|
||||||
}
|
}
|
||||||
$link = h(($foreign_key["db"] != "" ? preg_replace('~([?&]db=)[^&]+~', '\\1' . urlencode($foreign_key["db"]), ME) : ME) . 'select=' . urlencode($foreign_key["table"]) . $link); // InnoDB supports non-UNIQUE keys
|
$link = ($foreign_key["db"] != "" ? preg_replace('~([?&]db=)[^&]+~', '\\1' . urlencode($foreign_key["db"]), ME) : ME) . 'select=' . urlencode($foreign_key["table"]) . $link; // InnoDB supports non-UNIQUE keys
|
||||||
if (count($foreign_key["source"]) == 1) {
|
if (count($foreign_key["source"]) == 1) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -372,15 +372,15 @@ if (!$columns) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($key == "COUNT(*)") { //! columns looking like functions
|
if ($key == "COUNT(*)") { //! columns looking like functions
|
||||||
$link = h(ME . "select=" . urlencode($TABLE));
|
$link = ME . "select=" . urlencode($TABLE);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
foreach ((array) $_GET["where"] as $v) {
|
foreach ((array) $_GET["where"] as $v) {
|
||||||
if (!array_key_exists($v["col"], $unique_array)) {
|
if (!array_key_exists($v["col"], $unique_array)) {
|
||||||
$link .= h(where_link($i++, $v["col"], $v["val"], $v["op"]));
|
$link .= where_link($i++, $v["col"], $v["val"], $v["op"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach ($unique_array as $k => $v) {
|
foreach ($unique_array as $k => $v) {
|
||||||
$link .= h(where_link($i++, $k, $v));
|
$link .= where_link($i++, $k, $v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -403,7 +403,7 @@ if (!$columns) {
|
|||||||
$text = ereg('text|lob', $field["type"]);
|
$text = ereg('text|lob', $field["type"]);
|
||||||
echo (($_GET["modify"] && $editable) || $value !== null
|
echo (($_GET["modify"] && $editable) || $value !== null
|
||||||
? "<td>" . ($text ? "<textarea name='$id' cols='30' rows='" . (substr_count($row[$key], "\n") + 1) . "'>$h_value</textarea>" : "<input name='$id' value='$h_value' size='$lengths[$key]'>")
|
? "<td>" . ($text ? "<textarea name='$id' cols='30' rows='" . (substr_count($row[$key], "\n") + 1) . "'>$h_value</textarea>" : "<input name='$id' value='$h_value' size='$lengths[$key]'>")
|
||||||
: "<td id='$id' ondblclick=\"" . ($editable ? "selectDblClick(this, event" . ($long ? ", 2" : ($text ? ", 1" : "")) . ")" : "alert('" . h(lang('Use edit link to modify this value.')) . "')") . ";\">" . $adminer->selectVal($val, $link, $field)
|
: "<td id='$id' onclick=\"selectClick(this, event, " . ($long ? 2 : ($text ? 1 : 0)) . ($editable ? "" : ", '" . h(lang('Use edit link to modify this value.')) . "'") . ");\">" . $adminer->selectVal($val, $link, $field)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -452,7 +452,7 @@ if (!$columns) {
|
|||||||
if ($adminer->selectCommandPrint()) {
|
if ($adminer->selectCommandPrint()) {
|
||||||
?>
|
?>
|
||||||
<fieldset><legend><?php echo lang('Edit'); ?></legend><div>
|
<fieldset><legend><?php echo lang('Edit'); ?></legend><div>
|
||||||
<input type="submit" value="<?php echo lang('Save'); ?>"<?php echo ($_GET["modify"] ? '' : ' title="' . lang('Double click on a value to modify it.') . '" class="jsonly"'); ?>>
|
<input type="submit" value="<?php echo lang('Save'); ?>"<?php echo ($_GET["modify"] ? '' : ' title="' . lang('Ctrl+click on a value to modify it.') . '" class="jsonly"'); ?>>
|
||||||
<input type="submit" name="edit" value="<?php echo lang('Edit'); ?>">
|
<input type="submit" name="edit" value="<?php echo lang('Edit'); ?>">
|
||||||
<input type="submit" name="clone" value="<?php echo lang('Clone'); ?>">
|
<input type="submit" name="clone" value="<?php echo lang('Clone'); ?>">
|
||||||
<input type="submit" name="delete" value="<?php echo lang('Delete'); ?>" onclick="return confirm('<?php echo lang('Are you sure?'); ?> (' + (this.form['all'].checked ? <?php echo $found_rows; ?> : formChecked(this, /check/)) + ')');">
|
<input type="submit" name="delete" value="<?php echo lang('Delete'); ?>" onclick="return confirm('<?php echo lang('Are you sure?'); ?> (' + (this.form['all'].checked ? <?php echo $found_rows; ?> : formChecked(this, /check/)) + ')');">
|
||||||
@@ -474,12 +474,12 @@ if (!$columns) {
|
|||||||
echo "<input type='file' name='csv_file'> ";
|
echo "<input type='file' name='csv_file'> ";
|
||||||
echo html_select("separator", array("csv" => "CSV,", "csv;" => "CSV;", "tsv" => "TSV"), $adminer_import["format"], 1); // 1 - select
|
echo html_select("separator", array("csv" => "CSV,", "csv;" => "CSV;", "tsv" => "TSV"), $adminer_import["format"], 1); // 1 - select
|
||||||
echo " <input type='submit' name='import' value='" . lang('Import') . "'>";
|
echo " <input type='submit' name='import' value='" . lang('Import') . "'>";
|
||||||
echo "<input type='hidden' name='token' value='$token'>\n";
|
|
||||||
echo "</div></fieldset>\n";
|
echo "</div></fieldset>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
$adminer->selectEmailPrint(array_filter($email_fields, 'strlen'), $columns);
|
$adminer->selectEmailPrint(array_filter($email_fields, 'strlen'), $columns);
|
||||||
|
|
||||||
|
echo "<p><input type='hidden' name='token' value='$token'></p>\n";
|
||||||
echo "</form>\n";
|
echo "</form>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -205,7 +205,7 @@ if ($history) {
|
|||||||
print_fieldset("history", lang('History'), $_GET["history"] != "");
|
print_fieldset("history", lang('History'), $_GET["history"] != "");
|
||||||
foreach ($history as $key => $val) {
|
foreach ($history as $key => $val) {
|
||||||
list($q, $time) = $val;
|
list($q, $time) = $val;
|
||||||
echo '<a href="' . h(ME . "sql=&history=$key") . '">' . lang('Edit') . "</a> <span class='time'>" . @date("H:i:s", $time) . "</span> <code class='jush-$jush'>" . shorten_utf8(ltrim(str_replace("\n", " ", str_replace("\r", "", preg_replace('~^(#|-- ).*~m', '', $q)))), 80, "</code>") . "<br>\n"; // @ - time zone may be not set
|
echo '<a href="' . h(ME . "sql=&history=$key") . '">' . lang('Edit') . "</a> <span class='time' title='" . @date('Y-m-d', $time) . "'>" . @date("H:i:s", $time) . "</span> <code class='jush-$jush'>" . shorten_utf8(ltrim(str_replace("\n", " ", str_replace("\r", "", preg_replace('~^(#|-- ).*~m', '', $q)))), 80, "</code>") . "<br>\n"; // @ - time zone may be not set
|
||||||
}
|
}
|
||||||
echo "<input type='submit' name='clear' value='" . lang('Clear') . "'>\n";
|
echo "<input type='submit' name='clear' value='" . lang('Clear') . "'>\n";
|
||||||
echo "<a href='" . h(ME . "sql=&history=all") . "'>" . lang('Edit all') . "</a>\n";
|
echo "<a href='" . h(ME . "sql=&history=all") . "'>" . lang('Edit all') . "</a>\n";
|
||||||
|
@@ -11,7 +11,7 @@ form { margin: 0; }
|
|||||||
table { margin: 1em 20px 0 0; border: 0; border-top: 1px solid #999; border-left: 1px solid #999; font-size: 90%; }
|
table { margin: 1em 20px 0 0; border: 0; border-top: 1px solid #999; border-left: 1px solid #999; font-size: 90%; }
|
||||||
td, th { border: 0; border-right: 1px solid #999; border-bottom: 1px solid #999; padding: .2em .3em; }
|
td, th { border: 0; border-right: 1px solid #999; border-bottom: 1px solid #999; padding: .2em .3em; }
|
||||||
th { background: #eee; text-align: left; }
|
th { background: #eee; text-align: left; }
|
||||||
thead th { text-align: center; }
|
thead th { text-align: center; padding: .2em .5em; }
|
||||||
thead td, thead th { background: #ddf; }
|
thead td, thead th { background: #ddf; }
|
||||||
fieldset { display: inline; vertical-align: top; padding: .5em .8em; margin: .8em .5em 0 0; border: 1px solid #999; }
|
fieldset { display: inline; vertical-align: top; padding: .5em .8em; margin: .8em .5em 0 0; border: 1px solid #999; }
|
||||||
p { margin: .8em 20px 0 0; }
|
p { margin: .8em 20px 0 0; }
|
||||||
@@ -45,6 +45,7 @@ input[type=image] { vertical-align: middle; }
|
|||||||
.active { font-weight: bold; }
|
.active { font-weight: bold; }
|
||||||
.sqlarea { width: 98%; }
|
.sqlarea { width: 98%; }
|
||||||
.icon { width: 18px; height: 18px; }
|
.icon { width: 18px; height: 18px; }
|
||||||
|
.size { width: 6ex; }
|
||||||
#menu { position: absolute; margin: 10px 0 0; padding: 0 0 30px 0; top: 2em; left: 0; width: 19em; }
|
#menu { position: absolute; margin: 10px 0 0; padding: 0 0 30px 0; top: 2em; left: 0; width: 19em; }
|
||||||
#menu p { padding: .8em 1em; margin: 0; border-bottom: 1px solid #ccc; }
|
#menu p { padding: .8em 1em; margin: 0; border-bottom: 1px solid #ccc; }
|
||||||
#dbs { overflow: hidden; }
|
#dbs { overflow: hidden; }
|
||||||
|
@@ -63,6 +63,9 @@ function typePassword(el, disable) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Hide or show some login rows for selected driver
|
||||||
|
* @param HTMLSelectElement
|
||||||
|
*/
|
||||||
function loginDriver(driver) {
|
function loginDriver(driver) {
|
||||||
var trs = parentTag(driver, 'table').rows;
|
var trs = parentTag(driver, 'table').rows;
|
||||||
for (var i=1; i < trs.length - 1; i++) {
|
for (var i=1; i < trs.length - 1; i++) {
|
||||||
@@ -355,6 +358,15 @@ function columnShow(checked, column) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Hide column with default values in narrow window
|
||||||
|
*/
|
||||||
|
function editingHideDefaults() {
|
||||||
|
if (innerWidth < document.documentElement.scrollWidth) {
|
||||||
|
document.getElementById('defaults').checked = false;
|
||||||
|
columnShow(false, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Display partition options
|
/** Display partition options
|
||||||
* @param HTMLSelectElement
|
* @param HTMLSelectElement
|
||||||
*/
|
*/
|
||||||
|
@@ -114,9 +114,10 @@ function formChecked(el, name) {
|
|||||||
|
|
||||||
/** Select clicked row
|
/** Select clicked row
|
||||||
* @param MouseEvent
|
* @param MouseEvent
|
||||||
|
* @param [boolean] force click
|
||||||
*/
|
*/
|
||||||
function tableClick(event) {
|
function tableClick(event, click) {
|
||||||
var click = (!window.getSelection || getSelection().isCollapsed);
|
click = (click || !window.getSelection || getSelection().isCollapsed);
|
||||||
var el = event.target || event.srcElement;
|
var el = event.target || event.srcElement;
|
||||||
while (!/^tr$/i.test(el.tagName)) {
|
while (!/^tr$/i.test(el.tagName)) {
|
||||||
if (/^(table|a|input|textarea)$/i.test(el.tagName)) {
|
if (/^(table|a|input|textarea)$/i.test(el.tagName)) {
|
||||||
@@ -130,7 +131,7 @@ function tableClick(event) {
|
|||||||
}
|
}
|
||||||
el = el.firstChild.firstChild;
|
el = el.firstChild.firstChild;
|
||||||
if (click) {
|
if (click) {
|
||||||
el.click && el.click();
|
el.checked = !el.checked;
|
||||||
el.onclick && el.onclick();
|
el.onclick && el.onclick();
|
||||||
}
|
}
|
||||||
trCheck(el);
|
trCheck(el);
|
||||||
@@ -411,11 +412,16 @@ function ajaxSetHtml(url) {
|
|||||||
* @param HTMLElement
|
* @param HTMLElement
|
||||||
* @param MouseEvent
|
* @param MouseEvent
|
||||||
* @param number display textarea instead of input, 2 - load long text
|
* @param number display textarea instead of input, 2 - load long text
|
||||||
|
* @param string warning to display
|
||||||
*/
|
*/
|
||||||
function selectDblClick(td, event, text) {
|
function selectClick(td, event, text, warning) {
|
||||||
if (/input|textarea/i.test(td.firstChild.tagName)) {
|
var target = event.target || event.srcElement;
|
||||||
|
if (!event.ctrlKey || /input|textarea/i.test(td.firstChild.tagName) || /^a$/i.test(target.tagName)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (warning) {
|
||||||
|
return alert(warning);
|
||||||
|
}
|
||||||
var original = td.innerHTML;
|
var original = td.innerHTML;
|
||||||
text = text || /\n/.test(original);
|
text = text || /\n/.test(original);
|
||||||
var input = document.createElement(text ? 'textarea' : 'input');
|
var input = document.createElement(text ? 'textarea' : 'input');
|
||||||
|
@@ -113,7 +113,7 @@ if ($_POST) {
|
|||||||
if ($old_pass != "") {
|
if ($old_pass != "") {
|
||||||
$row["hashed"] = true;
|
$row["hashed"] = true;
|
||||||
}
|
}
|
||||||
$grants[(DB != "" && !isset($_GET["host"]) ? idf_escape(addcslashes(DB, "%_")) : "") . ".*"] = array();
|
$grants[(DB == "" || $grants ? "" : idf_escape(addcslashes(DB, "%_"))) . ".*"] = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
18
changes.txt
18
changes.txt
@@ -1,3 +1,21 @@
|
|||||||
|
Adminer 3.6.2 (released 2012-12-21):
|
||||||
|
Edit values by Ctrl+click instead of double click
|
||||||
|
Don't select row on double click
|
||||||
|
Support NULL in routine calls
|
||||||
|
Shorten printed values in varchar fields
|
||||||
|
Display table default values on wide screens
|
||||||
|
Display date in SQL history
|
||||||
|
HTML5 input fields
|
||||||
|
Display warning for missing UPDATE privilege
|
||||||
|
Fix switching language on first load
|
||||||
|
Support enabled mbstring.func_overload
|
||||||
|
MySQL: Prolong comment length since MySQL 5.5
|
||||||
|
PostgreSQL: Fix process list in version 9.2
|
||||||
|
MS SQL: Support databases starting with number
|
||||||
|
|
||||||
|
Adminer 3.6.1 (released 2012-09-17):
|
||||||
|
Fix compiled version on PHP with multibyte support
|
||||||
|
|
||||||
Adminer 3.6.0 (released 2012-09-16):
|
Adminer 3.6.0 (released 2012-09-16):
|
||||||
Load more data in select
|
Load more data in select
|
||||||
Edit strings with \n in textarea
|
Edit strings with \n in textarea
|
||||||
|
125
compile.php
125
compile.php
@@ -9,7 +9,11 @@ function add_apo_slashes($s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function add_quo_slashes($s) {
|
function add_quo_slashes($s) {
|
||||||
return addcslashes($s, "\n\r\$\"\\");
|
$return = $s;
|
||||||
|
$return = addcslashes($return, "\n\r\$\"\\");
|
||||||
|
$return = preg_replace('~\0(?![0-7])~', '\\\\0', $return);
|
||||||
|
$return = addcslashes($return, "\0");
|
||||||
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
function remove_lang($match) {
|
function remove_lang($match) {
|
||||||
@@ -271,6 +275,12 @@ function compile_file($match) {
|
|||||||
return '"' . add_quo_slashes($file) . '"';
|
return '"' . add_quo_slashes($file) . '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$project = "adminer";
|
||||||
|
if ($_SERVER["argv"][1] == "editor") {
|
||||||
|
$project = "editor";
|
||||||
|
array_shift($_SERVER["argv"]);
|
||||||
|
}
|
||||||
|
|
||||||
$driver = "";
|
$driver = "";
|
||||||
if (file_exists(dirname(__FILE__) . "/adminer/drivers/" . $_SERVER["argv"][1] . ".inc.php")) {
|
if (file_exists(dirname(__FILE__) . "/adminer/drivers/" . $_SERVER["argv"][1] . ".inc.php")) {
|
||||||
$driver = $_SERVER["argv"][1];
|
$driver = $_SERVER["argv"][1];
|
||||||
@@ -280,12 +290,15 @@ if (file_exists(dirname(__FILE__) . "/adminer/drivers/" . $_SERVER["argv"][1] .
|
|||||||
unset($_COOKIE["adminer_lang"]);
|
unset($_COOKIE["adminer_lang"]);
|
||||||
$_SESSION["lang"] = $_SERVER["argv"][1]; // Adminer functions read language from session
|
$_SESSION["lang"] = $_SERVER["argv"][1]; // Adminer functions read language from session
|
||||||
include dirname(__FILE__) . "/adminer/include/lang.inc.php";
|
include dirname(__FILE__) . "/adminer/include/lang.inc.php";
|
||||||
if (isset($_SESSION["lang"])) {
|
if (isset($langs[$_SESSION["lang"]])) {
|
||||||
if (isset($_SERVER["argv"][2]) || !isset($langs[$_SESSION["lang"]])) {
|
|
||||||
echo "Usage: php compile.php [driver] [lang]\nPurpose: Compile adminer[-driver][-lang].php and editor[-driver][-lang].php.\n";
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
include dirname(__FILE__) . "/adminer/lang/$_SESSION[lang].inc.php";
|
include dirname(__FILE__) . "/adminer/lang/$_SESSION[lang].inc.php";
|
||||||
|
array_shift($_SERVER["argv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_SERVER["argv"][1]) {
|
||||||
|
echo "Usage: php compile.php [editor] [driver] [lang]\n";
|
||||||
|
echo "Purpose: Compile adminer[-driver][-lang].php or editor[-driver][-lang].php.\n";
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// check function definition in drivers
|
// check function definition in drivers
|
||||||
@@ -306,59 +319,57 @@ foreach (glob(dirname(__FILE__) . "/adminer/drivers/" . ($driver ? $driver : "*"
|
|||||||
|
|
||||||
include dirname(__FILE__) . "/adminer/include/pdo.inc.php";
|
include dirname(__FILE__) . "/adminer/include/pdo.inc.php";
|
||||||
$features = array("call" => "routine", "dump", "event", "privileges", "procedure" => "routine", "processlist", "routine", "scheme", "sequence", "status", "trigger", "type", "user" => "privileges", "variables", "view");
|
$features = array("call" => "routine", "dump", "event", "privileges", "procedure" => "routine", "processlist", "routine", "scheme", "sequence", "status", "trigger", "type", "user" => "privileges", "variables", "view");
|
||||||
foreach (array("adminer", "editor") as $project) {
|
$lang_ids = array(); // global variable simplifies usage in a callback function
|
||||||
$lang_ids = array(); // global variable simplifies usage in a callback function
|
$file = file_get_contents(dirname(__FILE__) . "/$project/index.php");
|
||||||
$file = file_get_contents(dirname(__FILE__) . "/$project/index.php");
|
if ($driver) {
|
||||||
if ($driver) {
|
$connection = (object) array("server_info" => 5.1); // MySQL support is version specific
|
||||||
$connection = (object) array("server_info" => 5.1); // MySQL support is version specific
|
$_GET[$driver] = true; // to load the driver
|
||||||
$_GET[$driver] = true; // to load the driver
|
include_once dirname(__FILE__) . "/adminer/drivers/$driver.inc.php";
|
||||||
include_once dirname(__FILE__) . "/adminer/drivers/$driver.inc.php";
|
foreach ($features as $key => $feature) {
|
||||||
foreach ($features as $key => $feature) {
|
if (!support($feature)) {
|
||||||
if (!support($feature)) {
|
if (!is_int($key)) {
|
||||||
if (!is_int($key)) {
|
$feature = $key;
|
||||||
$feature = $key;
|
|
||||||
}
|
|
||||||
$file = str_replace("} elseif (isset(\$_GET[\"$feature\"])) {\n\tinclude \"./$feature.inc.php\";\n", "", $file);
|
|
||||||
}
|
}
|
||||||
}
|
$file = str_replace("} elseif (isset(\$_GET[\"$feature\"])) {\n\tinclude \"./$feature.inc.php\";\n", "", $file);
|
||||||
if (!support("routine")) {
|
|
||||||
$file = str_replace("if (isset(\$_GET[\"callf\"])) {\n\t\$_GET[\"call\"] = \$_GET[\"callf\"];\n}\nif (isset(\$_GET[\"function\"])) {\n\t\$_GET[\"procedure\"] = \$_GET[\"function\"];\n}\n", "", $file);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$file = preg_replace_callback('~\\b(include|require) "([^"]*)";~', 'put_file', $file);
|
if (!support("routine")) {
|
||||||
$file = str_replace('include "../adminer/include/coverage.inc.php";', '', $file);
|
$file = str_replace("if (isset(\$_GET[\"callf\"])) {\n\t\$_GET[\"call\"] = \$_GET[\"callf\"];\n}\nif (isset(\$_GET[\"function\"])) {\n\t\$_GET[\"procedure\"] = \$_GET[\"function\"];\n}\n", "", $file);
|
||||||
if ($driver) {
|
|
||||||
$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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (count($drivers) == 1) {
|
|
||||||
$file = str_replace('<?php echo html_select("driver", $drivers, DRIVER); ?>', "<input type='hidden' name='driver' value='" . ($driver == "mysql" ? "server" : $driver) . "'>" . reset($drivers), $file);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$file = preg_replace_callback("~lang\\('((?:[^\\\\']+|\\\\.)*)'([,)])~s", 'lang_ids', $file);
|
|
||||||
$file = preg_replace_callback('~\\b(include|require) "([^"]*\\$LANG.inc.php)";~', 'put_file_lang', $file);
|
|
||||||
$file = str_replace("\r", "", $file);
|
|
||||||
if ($_SESSION["lang"]) {
|
|
||||||
// single language version
|
|
||||||
$file = preg_replace_callback("~(<\\?php\\s*echo )?lang\\('((?:[^\\\\']+|\\\\.)*)'([,)])(;\\s*\\?>)?~s", 'remove_lang', $file);
|
|
||||||
$file = str_replace("<?php switch_lang(); ?>\n", "", $file);
|
|
||||||
$file = str_replace('<?php echo $LANG; ?>', $_SESSION["lang"], $file);
|
|
||||||
}
|
|
||||||
$file = str_replace('<script type="text/javascript" src="static/editing.js"></script>' . "\n", "", $file);
|
|
||||||
$file = preg_replace_callback("~compile_file\\('([^']+)'(?:, '([^']*)')?\\)~", 'compile_file', $file); // integrate static files
|
|
||||||
$replace = 'h(preg_replace("~\\\\\\\\?.*~", "", ME)) . "?file=\\1&version=' . $VERSION;
|
|
||||||
$file = preg_replace('~\\.\\./adminer/static/(default\\.css|functions\\.js|favicon\\.ico)~', '<?php echo ' . $replace . '"; ?>', $file);
|
|
||||||
$file = preg_replace('~\\.\\./adminer/static/([^\'"]*)~', '" . ' . $replace, $file);
|
|
||||||
$file = preg_replace("~<\\?php\\s*\\?>\n?|\\?>\n?<\\?php~", '', $file);
|
|
||||||
$file = php_shrink($file);
|
|
||||||
|
|
||||||
$filename = $project . (preg_match('~-dev$~', $VERSION) ? "" : "-$VERSION") . ($driver ? "-$driver" : "") . ($_SESSION["lang"] ? "-$_SESSION[lang]" : "") . ".php";
|
|
||||||
fwrite(fopen($filename, "w"), $file); // file_put_contents() since PHP 5
|
|
||||||
echo "$filename created (" . strlen($file) . " B).\n";
|
|
||||||
}
|
}
|
||||||
|
$file = preg_replace_callback('~\\b(include|require) "([^"]*)";~', 'put_file', $file);
|
||||||
|
$file = str_replace('include "../adminer/include/coverage.inc.php";', '', $file);
|
||||||
|
if ($driver) {
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($drivers) == 1) {
|
||||||
|
$file = str_replace('<?php echo html_select("driver", $drivers, DRIVER); ?>', "<input type='hidden' name='driver' value='" . ($driver == "mysql" ? "server" : $driver) . "'>" . reset($drivers), $file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$file = preg_replace_callback("~lang\\('((?:[^\\\\']+|\\\\.)*)'([,)])~s", 'lang_ids', $file);
|
||||||
|
$file = preg_replace_callback('~\\b(include|require) "([^"]*\\$LANG.inc.php)";~', 'put_file_lang', $file);
|
||||||
|
$file = str_replace("\r", "", $file);
|
||||||
|
if ($_SESSION["lang"]) {
|
||||||
|
// single language version
|
||||||
|
$file = preg_replace_callback("~(<\\?php\\s*echo )?lang\\('((?:[^\\\\']+|\\\\.)*)'([,)])(;\\s*\\?>)?~s", 'remove_lang', $file);
|
||||||
|
$file = str_replace("<?php switch_lang(); ?>\n", "", $file);
|
||||||
|
$file = str_replace('<?php echo $LANG; ?>', $_SESSION["lang"], $file);
|
||||||
|
}
|
||||||
|
$file = str_replace('<script type="text/javascript" src="static/editing.js"></script>' . "\n", "", $file);
|
||||||
|
$file = preg_replace_callback("~compile_file\\('([^']+)'(?:, '([^']*)')?\\)~", 'compile_file', $file); // integrate static files
|
||||||
|
$replace = 'h(preg_replace("~\\\\\\\\?.*~", "", ME)) . "?file=\\1&version=' . $VERSION;
|
||||||
|
$file = preg_replace('~\\.\\./adminer/static/(default\\.css|functions\\.js|favicon\\.ico)~', '<?php echo ' . $replace . '"; ?>', $file);
|
||||||
|
$file = preg_replace('~\\.\\./adminer/static/([^\'"]*)~', '" . ' . $replace, $file);
|
||||||
|
$file = preg_replace("~<\\?php\\s*\\?>\n?|\\?>\n?<\\?php~", '', $file);
|
||||||
|
$file = php_shrink($file);
|
||||||
|
|
||||||
|
$filename = $project . (preg_match('~-dev$~', $VERSION) ? "" : "-$VERSION") . ($driver ? "-$driver" : "") . ($_SESSION["lang"] ? "-$_SESSION[lang]" : "") . ".php";
|
||||||
|
fwrite(fopen($filename, "w"), $file); // file_put_contents() since PHP 5
|
||||||
|
echo "$filename created (" . strlen($file) . " B).\n";
|
||||||
|
@@ -51,7 +51,10 @@ html/*\*/>/*/*/body table thead input {margin-right: 5px;}
|
|||||||
html/*\*/>/*/*/body input[name="delete"], html/*\*/>/*/*/body input[name="drop"] {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHSSURBVHjapFM5bsJQEB2zSIDFJrHYpEtyAyoKJAp6CrqIkBPkNDlBAKXjBEgUpKOBCyQNijFiEZvZl8z7wsjESYpkpNFfPO/Nmz9j6Xg80n/M9fWi3W7fMOnd4XAo8qogAbvO5xKvL6lU6s0aL1kVMDjP5ye/36+Gw2FyOp3EQFqtVtTr9WixWHT5/JhOp6s2ghP4ORaLyaFQiGazGa3Xa0HgdrvJ6/WSpmk0Go0MjnvIZDLVM0Gr1brm/WskEkkA3O/3abvdQjq5XC6xgoiVka7rNB6PNT6ns9nsu+OkpODxeBLBYJAGgwHt9/uzQ8Vms6Hdbie+KYqC+ASTFrARBMx2HwgEaDKZiHqn0yktl0uxtzrMMAyKx+MCc+4Cs13hwQCC1GQy+W3Lms2mUIUygbEqEBLNun8z8zswVgUfLO0WD4Z6kekn8/l8okNM8GFVUMYDoVWQ6HA4bEAzoyzL1O12kbRsJajwhYZhiUajJEnShWSAQaqqKnU6HahEGysXg9RoNPJ8+cwZZLSKp47m8/k5Kxzg4XBocNxDLper2ka5Xq+LUeatilahJLN1mEJ+ZDHKJthGAKvVauJnYi9ysHIqQee1xOsLg3/+mf5inwIMAJMhb74NwG5wAAAAAElFTkSuQmCC") no-repeat scroll left center; padding:1px 5px 1px 18px; border:0; cursor:pointer; font-size:.9em;}
|
html/*\*/>/*/*/body input[name="delete"], html/*\*/>/*/*/body input[name="drop"] {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHSSURBVHjapFM5bsJQEB2zSIDFJrHYpEtyAyoKJAp6CrqIkBPkNDlBAKXjBEgUpKOBCyQNijFiEZvZl8z7wsjESYpkpNFfPO/Nmz9j6Xg80n/M9fWi3W7fMOnd4XAo8qogAbvO5xKvL6lU6s0aL1kVMDjP5ye/36+Gw2FyOp3EQFqtVtTr9WixWHT5/JhOp6s2ghP4ORaLyaFQiGazGa3Xa0HgdrvJ6/WSpmk0Go0MjnvIZDLVM0Gr1brm/WskEkkA3O/3abvdQjq5XC6xgoiVka7rNB6PNT6ns9nsu+OkpODxeBLBYJAGgwHt9/uzQ8Vms6Hdbie+KYqC+ASTFrARBMx2HwgEaDKZiHqn0yktl0uxtzrMMAyKx+MCc+4Cs13hwQCC1GQy+W3Lms2mUIUygbEqEBLNun8z8zswVgUfLO0WD4Z6kekn8/l8okNM8GFVUMYDoVWQ6HA4bEAzoyzL1O12kbRsJajwhYZhiUajJEnShWSAQaqqKnU6HahEGysXg9RoNPJ8+cwZZLSKp47m8/k5Kxzg4XBocNxDLper2ka5Xq+LUeatilahJLN1mEJ+ZDHKJthGAKvVauJnYi9ysHIqQee1xOsLg3/+mf5inwIMAJMhb74NwG5wAAAAAElFTkSuQmCC") no-repeat scroll left center; padding:1px 5px 1px 18px; border:0; cursor:pointer; font-size:.9em;}
|
||||||
html/*\*/>/*/*/body input[name="delete"]:hover, html/*\*/>/*/*/body input[name="drop"]:hover {color:red; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==")}
|
html/*\*/>/*/*/body input[name="delete"]:hover, html/*\*/>/*/*/body input[name="drop"]:hover {color:red; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==")}
|
||||||
|
|
||||||
html/*\*/>/*/*/body input[name="logout"], #logout{ height:16px; border: none; position: absolute; top: 0; left: 140px; margin-top: 8px; background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJHSURBVDjLlZPNi81hFMc/z7137p1mTCFvNZfGSzLIWNjZKRvFRoqNhRCSYm8xS3+AxRRZ2JAFJWJHSQqTQkbEzYwIM+6Yid/znJfH4prLXShOnb6r8/nWOd8Tcs78bz0/f+KMu50y05nK/wy+uHDylbutqS5extvGcxaWqtoGDA8PZ3dnrs2srQc2Zko41UXLmLdyDW5OfvsUkUgbYGbU63UAQggdmvMzFmzZCgTi7CQmkZwdEaX0JwDgTnGbTCaE0G4zw80omhPI92lcEtkNkdgJCCHwJX7mZvNaB0A14SaYJlwTrpHsTkoFlV1nt2c3x5YYo1/vM9A/gKpxdfwyu/v3teCayKq4JEwT5EB2R6WgYmrs2bYbcUNNUVfEhIfFYy69uci+1fuRX84mkawFSxd/4nVWUopUVIykwlQxRTJBTIDA4Pp1jBZPuNW4wUAPmCqWIn29X1k4f5Ku8g9mpKCkakRLVEs1auVuauVuyqHMo8ejNCe+sWPVTkQKXCMmkeZUmUZjETF1tc6ooly+fgUVw9So1/tRN6YnZji46QghBFKKuAouERNhMlbAHZFE6e7pB+He8MMw+GGI4xtOMf1+lsl3TQ4NHf19BSlaO1DB9BfMHdX0O0iqSgiBbJkjm491hClJbA1LxCURgpPzXwAHhg63necAIi3XngXLcRU0fof8ETMljIyM5LGxMcbHxzvy/6fuXdWgt6+PWncv1e4euqo1ZmabvHs5+jn8yzufO7hiiZmuNpNBM13rbvVSpbrXJE7/BMkHtU9jFIC/AAAAAElFTkSuQmCC") no-repeat center left; text-indent: 16px; color: #21759B; }
|
html/*\*/>/*/*/body input[name="logout"], #logout{ height:16px; width:20px; border: none; position: fixed; top: 0; left: 160px; margin-top: 10px; background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJHSURBVDjLlZPNi81hFMc/z7137p1mTCFvNZfGSzLIWNjZKRvFRoqNhRCSYm8xS3+AxRRZ2JAFJWJHSQqTQkbEzYwIM+6Yid/znJfH4prLXShOnb6r8/nWOd8Tcs78bz0/f+KMu50y05nK/wy+uHDylbutqS5extvGcxaWqtoGDA8PZ3dnrs2srQc2Zko41UXLmLdyDW5OfvsUkUgbYGbU63UAQggdmvMzFmzZCgTi7CQmkZwdEaX0JwDgTnGbTCaE0G4zw80omhPI92lcEtkNkdgJCCHwJX7mZvNaB0A14SaYJlwTrpHsTkoFlV1nt2c3x5YYo1/vM9A/gKpxdfwyu/v3teCayKq4JEwT5EB2R6WgYmrs2bYbcUNNUVfEhIfFYy69uci+1fuRX84mkawFSxd/4nVWUopUVIykwlQxRTJBTIDA4Pp1jBZPuNW4wUAPmCqWIn29X1k4f5Ku8g9mpKCkakRLVEs1auVuauVuyqHMo8ejNCe+sWPVTkQKXCMmkeZUmUZjETF1tc6ooly+fgUVw9So1/tRN6YnZji46QghBFKKuAouERNhMlbAHZFE6e7pB+He8MMw+GGI4xtOMf1+lsl3TQ4NHf19BSlaO1DB9BfMHdX0O0iqSgiBbJkjm491hClJbA1LxCURgpPzXwAHhg63necAIi3XngXLcRU0fof8ETMljIyM5LGxMcbHxzvy/6fuXdWgt6+PWncv1e4euqo1ZmabvHs5+jn8yzufO7hiiZmuNpNBM13rbvVSpbrXJE7/BMkHtU9jFIC/AAAAAElFTkSuQmCC") no-repeat center left; text-indent: 22px; overflow: hidden; color: #21759B; margin-left:14px; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#logout:hover { color: #D54E21; text-decoration: none; }
|
#logout:hover { color: #D54E21; text-decoration: none; }
|
||||||
|
|
||||||
body {margin: 0; line-height: 1.25em; font-size: 13px; background: #F9F9F9;}
|
body {margin: 0; line-height: 1.25em; font-size: 13px; background: #F9F9F9;}
|
||||||
@@ -98,21 +101,32 @@ img {vertical-align: middle; margin: 0; padding: 0;}
|
|||||||
.binary {color: red;}
|
.binary {color: red;}
|
||||||
.jush-sql {padding: 2px 4px; margin-right: 4px; outline: 1px #BBB dashed; font-size: 9pt;}
|
.jush-sql {padding: 2px 4px; margin-right: 4px; outline: 1px #BBB dashed; font-size: 9pt;}
|
||||||
#content {margin: 2px 0 0 260px; padding: 10px 20px 20px 0;}
|
#content {margin: 2px 0 0 260px; padding: 10px 20px 20px 0;}
|
||||||
#breadcrumb, #lang {margin: 0; height: 21px; display: block; position: absolute; top: 0; left: 260px; background-color: #f1f1f1; border: 1px solid #E3E3E3; padding: 2px 12px; line-height: 1.25em }
|
#breadcrumb, #lang {margin-top: 4px; height: 22px; display: block; position: fixed; top: 0; left: 260px; padding: 2px 12px; line-height: 1.25em }
|
||||||
|
#breadcrumb {z-index: 100; background-color: #DFDFDF; }
|
||||||
|
|
||||||
#lang {right: 20px; left: auto; z-index: 10; }
|
#lang {right: 20px; left: auto; z-index: 10; }
|
||||||
#lang select {font-size: 8pt;}
|
#lang select {font-size: 8pt;}
|
||||||
#menu {position: absolute; padding: 10px; margin: 0; top: 0; left: 0; width: 220px; background-color: #f1f1f1; border: 1px solid #E3E3E3;}
|
#menu {position: absolute; padding: 10px; margin: 0; top: 0; left: 0; width: 220px; background-color: #f1f1f1; border: 1px solid #E3E3E3;}
|
||||||
#menu form {margin: 0;}
|
#menu form {margin: 0;}
|
||||||
#menu p {padding-left: 8px; font-size: 10pt; border-bottom: none;}
|
#menu p {padding-left: 8px; font-size: 10pt; border-bottom: none;}
|
||||||
#menu form p {padding-left: 0; text-align: left;}
|
#menu form p {padding-left: 0; margin-top: 5px; text-align: left;}
|
||||||
|
#menu form p.logout {margin-top: 25px; }
|
||||||
h1 .h1:hover {text-decoration: underline;}
|
h1 .h1:hover {text-decoration: underline;}
|
||||||
h1, h2 {font: italic normal normal 24px/29px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; margin: 0; padding: 14px 15px 3px 10px; line-height: 35px; text-shadow: rgba(255,255,255,1) 0 1px 0px; background: none;}
|
h1, h2 {font: italic normal normal 24px/29px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; margin: 0; padding: 14px 15px 3px 10px; line-height: 35px; text-shadow: rgba(255,255,255,1) 0 1px 0px; background: none;}
|
||||||
h1 {font-size: 12px;}
|
h1 {font-size: 12px;}
|
||||||
h1 .h1 {font-size: 12px;}
|
h1 .h1 {font-size: 12px;}
|
||||||
h2 {padding: 22px 0 0 10px; font-size: 0; height: 2px;}
|
h2 {padding: 22px 0 0 10px; font-size: 0; height: 2px; border-bottom: none;}
|
||||||
h3 {margin: 40px 0 0; font-weight: 400; font-size: 130%;}
|
h3 {margin: 40px 0 0; font-weight: 400; font-size: 130%;}
|
||||||
#menu h1 {height: 25px; padding: 0 10px; margin: 0; line-height: 20px; display: block; }
|
#menu h1 {position:fixed; height: 22px; width: 100%; padding: 8px 10px 4px 20px; top: 0; left: 0; margin: 0; line-height: 20px; display: block; background-color: #DFDFDF; border-bottom: 1px solid #004000;}
|
||||||
|
/* border-bottom: none; */
|
||||||
#menu h1 a { font-size: 13px; }
|
#menu h1 a { font-size: 13px; }
|
||||||
|
/*#dbs {position: absolute; top: 70px; }
|
||||||
|
* #dbs {margin: 0; }
|
||||||
|
p.logout {margin-top: 30px;}
|
||||||
|
#dbs {position: relative; top: -20px; height: 0;}
|
||||||
|
* */
|
||||||
|
|
||||||
|
|
||||||
#schema {margin: 1.5em 0 0 220px; position: relative;}
|
#schema {margin: 1.5em 0 0 220px; position: relative;}
|
||||||
#schema .table {border: 1px solid #E3E3E3; background-color: #F1F1F1; padding: 0 2px; cursor: move; position: absolute;}
|
#schema .table {border: 1px solid #E3E3E3; background-color: #F1F1F1; padding: 0 2px; cursor: move; position: absolute;}
|
||||||
#schema .references {position: absolute;}
|
#schema .references {position: absolute;}
|
||||||
@@ -123,7 +137,9 @@ legend a {color: #333; text-decoration: none; cursor: default;}
|
|||||||
legend a:hover {color: #333;}
|
legend a:hover {color: #333;}
|
||||||
code {background: transparent;}
|
code {background: transparent;}
|
||||||
fieldset, legend, table, .error, .message {-moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px;border-radius: 5px;}
|
fieldset, legend, table, .error, .message {-moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px;border-radius: 5px;}
|
||||||
#breadcrumb, #lang, #menu {-moz-border-radius-bottomright: 5px; -khtml-border-bottom-right-radius: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px;}
|
/* #breadcrumb, #lang,
|
||||||
#breadcrumb, #lang {-moz-border-radius-bottomleft: 5px; -khtml-border-bottom-left-radius: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px;}
|
#breadcrumb, #lang {-moz-border-radius-bottomleft: 5px; -khtml-border-bottom-left-radius: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px;}
|
||||||
|
* */
|
||||||
|
#menu {-moz-border-radius-bottomright: 5px; -khtml-border-bottom-right-radius: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px;}
|
||||||
#menu {-moz-border-radius-topright: 5px; -khtml-border-top-right-radius: 5px; -webkit-border-top-right-radius: 5px; border-bottom-top-radius: 5px;}
|
#menu {-moz-border-radius-topright: 5px; -khtml-border-top-right-radius: 5px; -webkit-border-top-right-radius: 5px; border-bottom-top-radius: 5px;}
|
||||||
#logins a, #tables a {background: #F1F1F1;}
|
#logins a, #tables a {background: #F1F1F1;}
|
||||||
|
@@ -52,8 +52,10 @@ html/*\*/>/*/*/body table thead input {margin-right: 5px;}
|
|||||||
html/*\*/>/*/*/body input[name="delete"], html/*\*/>/*/*/body input[name="drop"] {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHSSURBVHjapFM5bsJQEB2zSIDFJrHYpEtyAyoKJAp6CrqIkBPkNDlBAKXjBEgUpKOBCyQNijFiEZvZl8z7wsjESYpkpNFfPO/Nmz9j6Xg80n/M9fWi3W7fMOnd4XAo8qogAbvO5xKvL6lU6s0aL1kVMDjP5ye/36+Gw2FyOp3EQFqtVtTr9WixWHT5/JhOp6s2ghP4ORaLyaFQiGazGa3Xa0HgdrvJ6/WSpmk0Go0MjnvIZDLVM0Gr1brm/WskEkkA3O/3abvdQjq5XC6xgoiVka7rNB6PNT6ns9nsu+OkpODxeBLBYJAGgwHt9/uzQ8Vms6Hdbie+KYqC+ASTFrARBMx2HwgEaDKZiHqn0yktl0uxtzrMMAyKx+MCc+4Cs13hwQCC1GQy+W3Lms2mUIUygbEqEBLNun8z8zswVgUfLO0WD4Z6kekn8/l8okNM8GFVUMYDoVWQ6HA4bEAzoyzL1O12kbRsJajwhYZhiUajJEnShWSAQaqqKnU6HahEGysXg9RoNPJ8+cwZZLSKp47m8/k5Kxzg4XBocNxDLper2ka5Xq+LUeatilahJLN1mEJ+ZDHKJthGAKvVauJnYi9ysHIqQee1xOsLg3/+mf5inwIMAJMhb74NwG5wAAAAAElFTkSuQmCC") no-repeat scroll left center; padding:1px 5px 1px 18px; border:0; cursor:pointer; font-size:.9em;}
|
html/*\*/>/*/*/body input[name="delete"], html/*\*/>/*/*/body input[name="drop"] {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHSSURBVHjapFM5bsJQEB2zSIDFJrHYpEtyAyoKJAp6CrqIkBPkNDlBAKXjBEgUpKOBCyQNijFiEZvZl8z7wsjESYpkpNFfPO/Nmz9j6Xg80n/M9fWi3W7fMOnd4XAo8qogAbvO5xKvL6lU6s0aL1kVMDjP5ye/36+Gw2FyOp3EQFqtVtTr9WixWHT5/JhOp6s2ghP4ORaLyaFQiGazGa3Xa0HgdrvJ6/WSpmk0Go0MjnvIZDLVM0Gr1brm/WskEkkA3O/3abvdQjq5XC6xgoiVka7rNB6PNT6ns9nsu+OkpODxeBLBYJAGgwHt9/uzQ8Vms6Hdbie+KYqC+ASTFrARBMx2HwgEaDKZiHqn0yktl0uxtzrMMAyKx+MCc+4Cs13hwQCC1GQy+W3Lms2mUIUygbEqEBLNun8z8zswVgUfLO0WD4Z6kekn8/l8okNM8GFVUMYDoVWQ6HA4bEAzoyzL1O12kbRsJajwhYZhiUajJEnShWSAQaqqKnU6HahEGysXg9RoNPJ8+cwZZLSKp47m8/k5Kxzg4XBocNxDLper2ka5Xq+LUeatilahJLN1mEJ+ZDHKJthGAKvVauJnYi9ysHIqQee1xOsLg3/+mf5inwIMAJMhb74NwG5wAAAAAElFTkSuQmCC") no-repeat scroll left center; padding:1px 5px 1px 18px; border:0; cursor:pointer; font-size:.9em;}
|
||||||
html/*\*/>/*/*/body input[name="delete"]:hover, html/*\*/>/*/*/body input[name="drop"]:hover {color:red; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==")}
|
html/*\*/>/*/*/body input[name="delete"]:hover, html/*\*/>/*/*/body input[name="drop"]:hover {color:red; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==")}
|
||||||
|
|
||||||
html/*\*/>/*/*/body input[name="logout"]{ width:45px; height:16px; border: none; background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJHSURBVDjLlZPNi81hFMc/z7137p1mTCFvNZfGSzLIWNjZKRvFRoqNhRCSYm8xS3+AxRRZ2JAFJWJHSQqTQkbEzYwIM+6Yid/znJfH4prLXShOnb6r8/nWOd8Tcs78bz0/f+KMu50y05nK/wy+uHDylbutqS5extvGcxaWqtoGDA8PZ3dnrs2srQc2Zko41UXLmLdyDW5OfvsUkUgbYGbU63UAQggdmvMzFmzZCgTi7CQmkZwdEaX0JwDgTnGbTCaE0G4zw80omhPI92lcEtkNkdgJCCHwJX7mZvNaB0A14SaYJlwTrpHsTkoFlV1nt2c3x5YYo1/vM9A/gKpxdfwyu/v3teCayKq4JEwT5EB2R6WgYmrs2bYbcUNNUVfEhIfFYy69uci+1fuRX84mkawFSxd/4nVWUopUVIykwlQxRTJBTIDA4Pp1jBZPuNW4wUAPmCqWIn29X1k4f5Ku8g9mpKCkakRLVEs1auVuauVuyqHMo8ejNCe+sWPVTkQKXCMmkeZUmUZjETF1tc6ooly+fgUVw9So1/tRN6YnZji46QghBFKKuAouERNhMlbAHZFE6e7pB+He8MMw+GGI4xtOMf1+lsl3TQ4NHf19BSlaO1DB9BfMHdX0O0iqSgiBbJkjm491hClJbA1LxCURgpPzXwAHhg63necAIi3XngXLcRU0fof8ETMljIyM5LGxMcbHxzvy/6fuXdWgt6+PWncv1e4euqo1ZmabvHs5+jn8yzufO7hiiZmuNpNBM13rbvVSpbrXJE7/BMkHtU9jFIC/AAAAAElFTkSuQmCC") no-repeat center left; overflow: hidden; text-indent: 18px; line-height: 0px; cursor:pointer; margin-left:6px;}
|
.logout {font-size: 8pt !important;}
|
||||||
|
#logout{ height:17px; border: none; background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJHSURBVDjLlZPNi81hFMc/z7137p1mTCFvNZfGSzLIWNjZKRvFRoqNhRCSYm8xS3+AxRRZ2JAFJWJHSQqTQkbEzYwIM+6Yid/znJfH4prLXShOnb6r8/nWOd8Tcs78bz0/f+KMu50y05nK/wy+uHDylbutqS5extvGcxaWqtoGDA8PZ3dnrs2srQc2Zko41UXLmLdyDW5OfvsUkUgbYGbU63UAQggdmvMzFmzZCgTi7CQmkZwdEaX0JwDgTnGbTCaE0G4zw80omhPI92lcEtkNkdgJCCHwJX7mZvNaB0A14SaYJlwTrpHsTkoFlV1nt2c3x5YYo1/vM9A/gKpxdfwyu/v3teCayKq4JEwT5EB2R6WgYmrs2bYbcUNNUVfEhIfFYy69uci+1fuRX84mkawFSxd/4nVWUopUVIykwlQxRTJBTIDA4Pp1jBZPuNW4wUAPmCqWIn29X1k4f5Ku8g9mpKCkakRLVEs1auVuauVuyqHMo8ejNCe+sWPVTkQKXCMmkeZUmUZjETF1tc6ooly+fgUVw9So1/tRN6YnZji46QghBFKKuAouERNhMlbAHZFE6e7pB+He8MMw+GGI4xtOMf1+lsl3TQ4NHf19BSlaO1DB9BfMHdX0O0iqSgiBbJkjm491hClJbA1LxCURgpPzXwAHhg63necAIi3XngXLcRU0fof8ETMljIyM5LGxMcbHxzvy/6fuXdWgt6+PWncv1e4euqo1ZmabvHs5+jn8yzufO7hiiZmuNpNBM13rbvVSpbrXJE7/BMkHtU9jFIC/AAAAAElFTkSuQmCC") no-repeat center left; overflow: hidden; text-indent: 18px; line-height: 0px; cursor:pointer; margin-left:6px; color: #21759B; text-decoration: underline;}
|
||||||
|
#logout:hover {text-decoration: none; color: #D54E21;}
|
||||||
|
#logins a, #tables a {background: none repeat scroll 0 0 transparent;}
|
||||||
body {margin: 0; line-height: 1.25em; font-size: 13px; background: #F9F9F9;}
|
body {margin: 0; line-height: 1.25em; font-size: 13px; background: #F9F9F9;}
|
||||||
body, select, option, optgroup, button {font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;} /* IE6 */
|
body, select, option, optgroup, button {font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;} /* IE6 */
|
||||||
input[type='submit'], input[type='reset'], input[type='button'], input[type='file'] {font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}
|
input[type='submit'], input[type='reset'], input[type='button'], input[type='file'] {font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}
|
||||||
@@ -66,6 +68,7 @@ table {margin: 10px 12px 12px 0; border: 1px #BBB solid; font-size: 90%;}
|
|||||||
th {text-align: left;}
|
th {text-align: left;}
|
||||||
td, th {background-color: #fff; padding: 4px 6px; border: 1px #DfDfDf solid; border-width: 1px 0 0 1px;}
|
td, th {background-color: #fff; padding: 4px 6px; border: 1px #DfDfDf solid; border-width: 1px 0 0 1px;}
|
||||||
tr:first-child td, tr:first-child th {border-top-width: 0;}
|
tr:first-child td, tr:first-child th {border-top-width: 0;}
|
||||||
|
tr:first-child th {padding-right: 30px;}
|
||||||
td:first-child, th:first-child {border-left-width: 0;}
|
td:first-child, th:first-child {border-left-width: 0;}
|
||||||
thead td, thead th {background-color: #DFDFDF; border: none; border-bottom: 1px #BBB solid;}
|
thead td, thead th {background-color: #DFDFDF; border: none; border-bottom: 1px #BBB solid;}
|
||||||
thead tr:hover td, thead tr:hover th {background-color: #DDD !important;}
|
thead tr:hover td, thead tr:hover th {background-color: #DDD !important;}
|
||||||
@@ -98,7 +101,7 @@ img {vertical-align: middle; margin: 0; padding: 0;}
|
|||||||
.binary {color: red;}
|
.binary {color: red;}
|
||||||
.jush-sql {padding: 2px 4px; margin-right: 4px; outline: 1px #BBB dashed; font-size: 9pt;}
|
.jush-sql {padding: 2px 4px; margin-right: 4px; outline: 1px #BBB dashed; font-size: 9pt;}
|
||||||
#content {margin: 2px 0 0 300px; padding: 10px 20px 20px 0;}
|
#content {margin: 2px 0 0 300px; padding: 10px 20px 20px 0;}
|
||||||
#lang {height: 23px; width: 250px; display: block; padding: 1px 0; position: absolute; top: 0; left: 0; text-align: center; background-color: #f1f1f1; border: 1px solid #E3E3E3; line-height: 1.25em;}
|
#lang {height: 23px; width: 250px; display: block; padding: 1px 10px; position: absolute; top: 0; left: 0; text-align: center; background-color: #f1f1f1; border: 1px solid #E3E3E3; line-height: 1.25em;}
|
||||||
#lang select {font-size: 8pt;}
|
#lang select {font-size: 8pt;}
|
||||||
#breadcrumb {margin: 0; height: 21px; display: block; position: absolute; top: 0; left: 300px; background-color: #f1f1f1; border: 1px solid #E3E3E3; padding: 2px 12px; line-height: 1.25em }
|
#breadcrumb {margin: 0; height: 21px; display: block; position: absolute; top: 0; left: 300px; background-color: #f1f1f1; border: 1px solid #E3E3E3; padding: 2px 12px; line-height: 1.25em }
|
||||||
#menu {position: absolute; padding: 10px; margin: 0; top: 28px; left: 0; width: 250px; background-color: #f1f1f1; border: 1px solid #E3E3E3;}
|
#menu {position: absolute; padding: 10px; margin: 0; top: 28px; left: 0; width: 250px; background-color: #f1f1f1; border: 1px solid #E3E3E3;}
|
||||||
@@ -123,3 +126,4 @@ fieldset, legend, h2, table, .error, .message {-moz-border-radius: 5px; -khtml-b
|
|||||||
#breadcrumb, #lang, #menu {-moz-border-radius-bottomright: 5px; -khtml-border-bottom-right-radius: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px;}
|
#breadcrumb, #lang, #menu {-moz-border-radius-bottomright: 5px; -khtml-border-bottom-right-radius: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px;}
|
||||||
#breadcrumb {-moz-border-radius-bottomleft: 5px; -khtml-border-bottom-left-radius: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px;}
|
#breadcrumb {-moz-border-radius-bottomleft: 5px; -khtml-border-bottom-left-radius: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px;}
|
||||||
#menu {-moz-border-radius-topright: 5px; -khtml-border-top-right-radius: 5px; -webkit-border-top-right-radius: 5px; border-bottom-top-radius: 5px;}
|
#menu {-moz-border-radius-topright: 5px; -khtml-border-top-right-radius: 5px; -webkit-border-top-right-radius: 5px; border-bottom-top-radius: 5px;}
|
||||||
|
#loader {margin-left: 35px;}
|
@@ -42,7 +42,7 @@ html>/**/body h1 {
|
|||||||
padding: 6px 6px 5px 35px;
|
padding: 6px 6px 5px 35px;
|
||||||
}
|
}
|
||||||
/* Logout */
|
/* Logout */
|
||||||
html>/**/body input[name="logout"] {
|
html>/**/body input[name="logout"], #logout {
|
||||||
background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAkVJREFUeNqMU01rE1EUPZkMaGI+JEMkXyaNiKINzSJLBSEEaRbRVf6Ai1Jw68K9O3dCN3ZR/AUxC0UCwW4k4KKoGKVioGATg4kNY2aSTDqZifdOmmmKFr1weG/e3HPeue++59i4BTgceAogg3/H6+kUm+YUDdMEaIRICyBkvPeeZVwul5XlIEVBEGyMXz7C8vJ1HHz/ttT49C4/UPqvKG2T0BANcybNZEmSTpCdTqeFPcqp1Wr8X1q5eVtSep3w14/v8yoJCSwwF/kbmedsN5lMotlsol6vo6eMpBurd1OmgawwMQDGnCzLMkajkU3mkTeYUp2hUAjRaBStVgu6rmNC6yKTOex6x2MLPA8EAhBF0RIwyQaL8Oj1emEYBoF4X4SLIOwwiS3yj2KxiG63i06nYzngTRYFZmWZMwcfxgE2sLNRKNi9GgwGKNB3uVxGIpGwHbC4oihQVdWas7AY1/aZkymVSrZALpdDtVpFPB7/w8H+Txnp+1uYvHkyK+EqeiBkgsEgUqmUpVypVBCLxRCJRGaHuCDAF+fFwzvHDvSjQ+REPjCPx2PdBxbgNe7O5KgEjnjkAiT/udkZsMBYPxZgsIv5nMkM6pjVWo65EDvgzYXnbUBWcKLvi2SO/hDw+/3QNM3CXECldfHHIc7vKdh9vJo97QEJ7rP4PD1wp69cuxT2+XxSu922nPQHJEAJ2lsdDzjx1Dd4iNG6PJS2t+trZ1zu/Ep6KUxuJZWqcuA/Yz0O/KIdlSEuazrWqIIsNWT3twADAMZTN2W0KIqPAAAAAElFTkSuQmCC") no-repeat 2px bottom;
|
background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAkVJREFUeNqMU01rE1EUPZkMaGI+JEMkXyaNiKINzSJLBSEEaRbRVf6Ai1Jw68K9O3dCN3ZR/AUxC0UCwW4k4KKoGKVioGATg4kNY2aSTDqZifdOmmmKFr1weG/e3HPeue++59i4BTgceAogg3/H6+kUm+YUDdMEaIRICyBkvPeeZVwul5XlIEVBEGyMXz7C8vJ1HHz/ttT49C4/UPqvKG2T0BANcybNZEmSTpCdTqeFPcqp1Wr8X1q5eVtSep3w14/v8yoJCSwwF/kbmedsN5lMotlsol6vo6eMpBurd1OmgawwMQDGnCzLMkajkU3mkTeYUp2hUAjRaBStVgu6rmNC6yKTOex6x2MLPA8EAhBF0RIwyQaL8Oj1emEYBoF4X4SLIOwwiS3yj2KxiG63i06nYzngTRYFZmWZMwcfxgE2sLNRKNi9GgwGKNB3uVxGIpGwHbC4oihQVdWas7AY1/aZkymVSrZALpdDtVpFPB7/w8H+Txnp+1uYvHkyK+EqeiBkgsEgUqmUpVypVBCLxRCJRGaHuCDAF+fFwzvHDvSjQ+REPjCPx2PdBxbgNe7O5KgEjnjkAiT/udkZsMBYPxZgsIv5nMkM6pjVWo65EDvgzYXnbUBWcKLvi2SO/hDw+/3QNM3CXECldfHHIc7vKdh9vJo97QEJ7rP4PD1wp69cuxT2+XxSu922nPQHJEAJ2lsdDzjx1Dd4iNG6PJS2t+trZ1zu/Ep6KUxuJZWqcuA/Yz0O/KIdlSEuazrWqIIsNWT3twADAMZTN2W0KIqPAAAAAElFTkSuQmCC") no-repeat 2px bottom;
|
||||||
border: none;
|
border: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@@ -164,6 +164,7 @@ ORDER BY ORDINAL_POSITION", null, "") as $row) { //! requires MySQL 5
|
|||||||
|
|
||||||
function selectVal($val, $link, $field) {
|
function selectVal($val, $link, $field) {
|
||||||
$return = ($val === null ? " " : $val);
|
$return = ($val === null ? " " : $val);
|
||||||
|
$link = h($link);
|
||||||
if (ereg('blob|bytea', $field["type"]) && !is_utf8($val)) {
|
if (ereg('blob|bytea', $field["type"]) && !is_utf8($val)) {
|
||||||
$return = lang('%d byte(s)', strlen($val));
|
$return = lang('%d byte(s)', strlen($val));
|
||||||
if (ereg("^(GIF|\xFF\xD8\xFF|\x89PNG\x0D\x0A\x1A\x0A)", $val)) { // GIF|JPG|PNG, getimagetype() works with filename
|
if (ereg("^(GIF|\xFF\xD8\xFF|\x89PNG\x0D\x0A\x1A\x0A)", $val)) { // GIF|JPG|PNG, getimagetype() works with filename
|
||||||
@@ -231,13 +232,13 @@ ORDER BY ORDINAL_POSITION", null, "") as $row) { //! requires MySQL 5
|
|||||||
if (($val["col"] == "" || $columns[$val["col"]]) && "$val[col]$val[val]" != "") {
|
if (($val["col"] == "" || $columns[$val["col"]]) && "$val[col]$val[val]" != "") {
|
||||||
echo "<div><select name='where[$i][col]'><option value=''>(" . lang('anywhere') . ")" . optionlist($columns, $val["col"], true) . "</select>";
|
echo "<div><select name='where[$i][col]'><option value=''>(" . lang('anywhere') . ")" . optionlist($columns, $val["col"], true) . "</select>";
|
||||||
echo html_select("where[$i][op]", array(-1 => "") + $this->operators, $val["op"]);
|
echo html_select("where[$i][op]", array(-1 => "") + $this->operators, $val["op"]);
|
||||||
echo "<input name='where[$i][val]' value='" . h($val["val"]) . "'></div>\n";
|
echo "<input type='search' name='where[$i][val]' value='" . h($val["val"]) . "'></div>\n";
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo "<div><select name='where[$i][col]' onchange='this.nextSibling.nextSibling.onchange();'><option value=''>(" . lang('anywhere') . ")" . optionlist($columns, null, true) . "</select>";
|
echo "<div><select name='where[$i][col]' onchange='this.nextSibling.nextSibling.onchange();'><option value=''>(" . lang('anywhere') . ")" . optionlist($columns, null, true) . "</select>";
|
||||||
echo html_select("where[$i][op]", array(-1 => "") + $this->operators);
|
echo html_select("where[$i][op]", array(-1 => "") + $this->operators);
|
||||||
echo "<input name='where[$i][val]' onchange='selectAddRow(this);'></div>\n";
|
echo "<input type='search' name='where[$i][val]' onchange='selectAddRow(this);'></div>\n";
|
||||||
echo "</div></fieldset>\n";
|
echo "</div></fieldset>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
lang.php
2
lang.php
@@ -5,7 +5,7 @@ unset($_COOKIE["adminer_lang"]);
|
|||||||
$_SESSION["lang"] = $_SERVER["argv"][1]; // Adminer functions read language from session
|
$_SESSION["lang"] = $_SERVER["argv"][1]; // Adminer functions read language from session
|
||||||
if (isset($_SESSION["lang"])) {
|
if (isset($_SESSION["lang"])) {
|
||||||
include dirname(__FILE__) . "/adminer/include/lang.inc.php";
|
include dirname(__FILE__) . "/adminer/include/lang.inc.php";
|
||||||
if (isset($_SERVER["argv"][2]) || !isset($langs[$_SESSION["lang"]])) {
|
if (isset($_SERVER["argv"][2]) || (!isset($langs[$_SESSION["lang"]]) && $_SESSION["lang"] != "xx")) {
|
||||||
echo "Usage: php lang.php [lang]\nPurpose: Update adminer/lang/*.inc.php from source code messages.\n";
|
echo "Usage: php lang.php [lang]\nPurpose: Update adminer/lang/*.inc.php from source code messages.\n";
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,17 @@
|
|||||||
</thead><tbody>
|
</thead><tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>open</td>
|
<td>open</td>
|
||||||
<td>editor/example.php?lang=en&username=admin</td>
|
<td>editor/example.php?username=admin</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>select</td>
|
||||||
|
<td>name=lang</td>
|
||||||
|
<td>label=English</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>clickAndWait</td>
|
||||||
|
<td>css=#lang > input[type="submit"]</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
Reference in New Issue
Block a user