Thread: [Adminer-svn] SF.net SVN: adminer:[974] trunk/adminer/include/adminer.inc.php
Database management in a single PHP file
Brought to you by:
jakubvrana
From: <jak...@us...> - 2009-08-18 09:15:44
|
Revision: 974 http://adminer.svn.sourceforge.net/adminer/?rev=974&view=rev Author: jakubvrana Date: 2009-08-18 09:15:36 +0000 (Tue, 18 Aug 2009) Log Message: ----------- Treat DROP DATABASE from SQL query Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2009-08-17 13:15:15 UTC (rev 973) +++ trunk/adminer/include/adminer.inc.php 2009-08-18 09:15:36 UTC (rev 974) @@ -441,16 +441,20 @@ <?php if ($missing != "db" && strlen($_GET["db"])) { $result = $dbh->query("SHOW TABLES"); - if (!$result->num_rows) { - echo "<p class='message'>" . lang('No tables.') . "\n"; + if (!$result) { + echo "<p class='error'>" . lang('No tables.') . "\n"; } else { - echo "<p id='tables'>\n"; - while ($row = $result->fetch_row()) { - echo '<a href="' . h(ME) . 'select=' . urlencode($row[0]) . '">' . lang('select') . '</a> '; - echo '<a href="' . h(ME) . 'table=' . urlencode($row[0]) . '">' . $this->tableName(array("Name" => $row[0])) . "</a><br>\n"; //! Adminer::tableName may work with full table status + if (!$result->num_rows) { + echo "<p class='message'>" . lang('No tables.') . "\n"; + } else { + echo "<p id='tables'>\n"; + while ($row = $result->fetch_row()) { + echo '<a href="' . h(ME) . 'select=' . urlencode($row[0]) . '">' . lang('select') . '</a> '; + echo '<a href="' . h(ME) . 'table=' . urlencode($row[0]) . '">' . $this->tableName(array("Name" => $row[0])) . "</a><br>\n"; //! Adminer::tableName may work with full table status + } } + $result->free(); } - $result->free(); echo '<p><a href="' . h(ME) . 'create=">' . lang('Create new table') . "</a>\n"; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-08-24 12:19:09
|
Revision: 1000 http://adminer.svn.sourceforge.net/adminer/?rev=1000&view=rev Author: jakubvrana Date: 2009-08-24 10:51:42 +0000 (Mon, 24 Aug 2009) Log Message: ----------- Order by COUNT (thanks to paranoiq) Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2009-08-24 10:06:41 UTC (rev 999) +++ trunk/adminer/include/adminer.inc.php 2009-08-24 10:51:42 UTC (rev 1000) @@ -301,7 +301,7 @@ function selectOrderProcess($fields, $indexes) { $return = array(); foreach ((array) $_GET["order"] as $key => $val) { - if (isset($fields[$val]) || preg_match('~^[A-Z0-9_]+\\(`(?:[^`]|``)+`\\)$~', $val)) { + if (isset($fields[$val]) || preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()`(?:[^`]|``)+`\\)|COUNT\\(\\*\\))$~', $val)) { $return[] = idf_escape($val) . (isset($_GET["desc"][$key]) ? " DESC" : ""); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-08-28 14:10:07
|
Revision: 1034 http://adminer.svn.sourceforge.net/adminer/?rev=1034&view=rev Author: jakubvrana Date: 2009-08-28 14:09:53 +0000 (Fri, 28 Aug 2009) Log Message: ----------- Relative function concat Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2009-08-28 13:16:54 UTC (rev 1033) +++ trunk/adminer/include/adminer.inc.php 2009-08-28 14:09:53 UTC (rev 1034) @@ -362,6 +362,9 @@ $return[] = "addtime"; $return[] = "subtime"; } + if (ereg('char|text', $field["type"])) { + $return[] = "concat"; + } } if ($field["null"]) { array_unshift($return, "NULL"); @@ -396,7 +399,7 @@ $return = idf_escape($name) . " $function $return"; } elseif (ereg('^[+-] interval$', $function)) { $return = idf_escape($name) . " $function " . (preg_match("~^([0-9]+|'[0-9.: -]') [A-Z_]+$~i", $value) ? $value : $return); - } elseif (ereg('^(addtime|subtime)$', $function)) { + } elseif (ereg('^(addtime|subtime|concat)$', $function)) { $return = "$function(" . idf_escape($name) . ", $return)"; } elseif (ereg('^(md5|sha1|password)$', $function)) { $return = "$function($return)"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-09-07 13:59:29
|
Revision: 1070 http://adminer.svn.sourceforge.net/adminer/?rev=1070&view=rev Author: jakubvrana Date: 2009-09-07 13:59:17 +0000 (Mon, 07 Sep 2009) Log Message: ----------- Select database before SHOW TABLES (bug #2853561) Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2009-09-07 13:52:12 UTC (rev 1069) +++ trunk/adminer/include/adminer.inc.php 2009-09-07 13:59:17 UTC (rev 1070) @@ -440,19 +440,15 @@ </p> </form> <?php - if ($missing != "db" && strlen(DB)) { + if ($missing != "db" && strlen(DB) && $dbh->select_db(DB)) { $result = $dbh->query("SHOW TABLES"); - if (!$result) { - echo "<p class='error'>" . lang('No tables.') . "\n"; + if (!$result->num_rows) { + echo "<p class='message'>" . lang('No tables.') . "\n"; } else { - if (!$result->num_rows) { - echo "<p class='message'>" . lang('No tables.') . "\n"; - } else { - echo "<p id='tables'>\n"; - while ($row = $result->fetch_row()) { - echo '<a href="' . h(ME) . 'select=' . urlencode($row[0]) . '">' . lang('select') . '</a> '; - echo '<a href="' . h(ME) . 'table=' . urlencode($row[0]) . '">' . $this->tableName(array("Name" => $row[0])) . "</a><br>\n"; //! Adminer::tableName may work with full table status - } + echo "<p id='tables'>\n"; + while ($row = $result->fetch_row()) { + echo '<a href="' . h(ME) . 'select=' . urlencode($row[0]) . '">' . lang('select') . '</a> '; + echo '<a href="' . h(ME) . 'table=' . urlencode($row[0]) . '">' . $this->tableName(array("Name" => $row[0])) . "</a><br>\n"; //! Adminer::tableName may work with full table status } } echo '<p><a href="' . h(ME) . 'create=">' . lang('Create new table') . "</a>\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-09-11 12:10:56
|
Revision: 1088 http://adminer.svn.sourceforge.net/adminer/?rev=1088&view=rev Author: jakubvrana Date: 2009-09-11 12:10:43 +0000 (Fri, 11 Sep 2009) Log Message: ----------- End element for IE Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2009-09-11 11:57:20 UTC (rev 1087) +++ trunk/adminer/include/adminer.inc.php 2009-09-11 12:10:43 UTC (rev 1088) @@ -88,7 +88,7 @@ */ function selectQuery($query) { // it would be nice if $query can be passed by reference and printed value would be returned but call_user() doesn't allow reference parameters - return "<p><code class='jush-sql'>" . h($query) . "</code> <a href='" . h(ME) . "sql=" . urlencode($query) . "'>" . lang('Edit') . "</a>\n"; + return "<p><code class='jush-sql'>" . h($query) . "</code> <a href='" . h(ME) . "sql=" . urlencode($query) . "'>" . lang('Edit') . "</a></p>\n"; } /** Description of a row in a table This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-11-09 14:23:13
|
Revision: 1231 http://adminer.svn.sourceforge.net/adminer/?rev=1231&view=rev Author: jakubvrana Date: 2009-11-09 14:23:00 +0000 (Mon, 09 Nov 2009) Log Message: ----------- Don't use <code> for NULL Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2009-11-04 12:25:20 UTC (rev 1230) +++ trunk/adminer/include/adminer.inc.php 2009-11-09 14:23:00 UTC (rev 1231) @@ -135,7 +135,7 @@ * @return string */ function selectVal($val, $link, $field) { - $return = ($field["type"] == "char" ? "<code>$val</code>" : $val); + $return = ($val != "<i>NULL</i>" && $field["type"] == "char" ? "<code>$val</code>" : $val); if (ereg('blob|binary', $field["type"]) && !is_utf8($val)) { $return = lang('%d byte(s)', strlen($val)); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-02-24 13:10:18
|
Revision: 1327 http://adminer.svn.sourceforge.net/adminer/?rev=1327&view=rev Author: jakubvrana Date: 2010-02-24 13:10:10 +0000 (Wed, 24 Feb 2010) Log Message: ----------- Store only 1MB of history Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2010-02-24 12:00:31 UTC (rev 1326) +++ trunk/adminer/include/adminer.inc.php 2010-02-24 13:10:10 UTC (rev 1327) @@ -379,7 +379,7 @@ function messageQuery($query) { restart_session(); $id = "sql-" . count($_SESSION["messages"]); - $_SESSION["history"][$_GET["server"]][DB][] = $query; + $_SESSION["history"][$_GET["server"]][DB][] = (strlen($query) > 1e6 ? ereg_replace('[\x80-\xFF]+$', '', substr($query, 0, 1e6)) . "\n..." : $query); // [\x80-\xFF] - valid UTF-8, \n - can end by one-line comment return " <a href='#$id' onclick=\"return !toggle('$id');\">" . lang('SQL command') . "</a><div id='$id' class='hidden'><pre class='jush-sql'>" . shorten_utf8($query, 1000) . '</pre><a href="' . h(ME . 'sql=&history=' . (count($_SESSION["history"][$_GET["server"]][DB]) - 1)) . '">' . lang('Edit') . '</a></div>'; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-03-14 09:19:53
|
Revision: 1345 http://adminer.svn.sourceforge.net/adminer/?rev=1345&view=rev Author: jakubvrana Date: 2010-03-14 09:19:47 +0000 (Sun, 14 Mar 2010) Log Message: ----------- Add encrypt SQL function (thanks to Dragonn) Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2010-03-11 20:45:21 UTC (rev 1344) +++ trunk/adminer/include/adminer.inc.php 2010-03-14 09:19:47 UTC (rev 1345) @@ -390,7 +390,7 @@ function editFunctions($field) { $return = array(""); if (ereg('char|date|time', $field["type"])) { - $return = (ereg('char', $field["type"]) ? array("", "md5", "sha1", "password", "uuid") : array("", "now")); //! JavaScript for disabling maxlength + $return = (ereg('char', $field["type"]) ? array("", "md5", "sha1", "password", "encrypt", "uuid") : array("", "now")); //! JavaScript for disabling maxlength } if (!isset($_GET["call"]) && (isset($_GET["select"]) || where($_GET))) { // relative functions @@ -449,7 +449,7 @@ $return = idf_escape($name) . " $function " . (preg_match("~^([0-9]+|'[0-9.: -]') [A-Z_]+$~i", $value) ? $value : $return); } elseif (ereg('^(addtime|subtime|concat)$', $function)) { $return = "$function(" . idf_escape($name) . ", $return)"; - } elseif (ereg('^(md5|sha1|password)$', $function)) { + } elseif (ereg('^(md5|sha1|password|encrypt)$', $function)) { $return = "$function($return)"; } return $return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-04-22 00:33:52
|
Revision: 1473 http://adminer.svn.sourceforge.net/adminer/?rev=1473&view=rev Author: jakubvrana Date: 2010-04-22 00:33:46 +0000 (Thu, 22 Apr 2010) Log Message: ----------- Fix input onchange Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2010-04-21 23:06:32 UTC (rev 1472) +++ trunk/adminer/include/adminer.inc.php 2010-04-22 00:33:46 UTC (rev 1473) @@ -396,7 +396,7 @@ */ function editFunctions($field) { global $edit_functions; - $return = ($field["null"] ? "/NULL" : ""); + $return = ($field["null"] ? "NULL/" : ""); foreach ($edit_functions as $key => $functions) { if (!$key || (!isset($_GET["call"]) && (isset($_GET["select"]) || where($_GET)))) { // relative functions foreach ($functions as $pattern => $val) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-05-03 16:08:20
|
Revision: 1511 http://adminer.svn.sourceforge.net/adminer/?rev=1511&view=rev Author: jakubvrana Date: 2010-05-03 16:08:14 +0000 (Mon, 03 May 2010) Log Message: ----------- Always link dump of all tables Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2010-05-02 21:37:05 UTC (rev 1510) +++ trunk/adminer/include/adminer.inc.php 2010-05-03 16:08:14 UTC (rev 1511) @@ -497,7 +497,7 @@ <form action="" method="post"> <p class="logout"> <a href="<?php echo h(ME); ?>sql="><?php echo bold(lang('SQL command'), isset($_GET["sql"])); ?></a> -<a href="<?php echo h(ME); ?>dump=<?php echo urlencode(isset($_GET["table"]) ? $_GET["table"] : $_GET["select"]); ?>"><?php echo bold(lang('Dump'), isset($_GET["dump"])); ?></a> +<a href="<?php echo h(ME); ?>dump="><?php echo bold(lang('Dump'), isset($_GET["dump"])); ?></a> <input type="hidden" name="token" value="<?php echo $token; ?>"> <input type="submit" name="logout" value="<?php echo lang('Logout'); ?>"> </p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-05-03 16:09:50
|
Revision: 1514 http://adminer.svn.sourceforge.net/adminer/?rev=1514&view=rev Author: jakubvrana Date: 2010-05-03 16:09:43 +0000 (Mon, 03 May 2010) Log Message: ----------- Shorten code Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2010-05-03 16:09:13 UTC (rev 1513) +++ trunk/adminer/include/adminer.inc.php 2010-05-03 16:09:43 UTC (rev 1514) @@ -525,10 +525,9 @@ } echo "<script type='text/javascript'>\n"; echo "var jushLinks = { $driver: [ '" . addcslashes(h(ME), "\\'/") . "table=\$&', /\\b(" . implode("|", $links) . ")\\b/g ] };\n"; - echo "jushLinks.bac = jushLinks.$driver;\n"; - echo "jushLinks.bra = jushLinks.$driver;\n"; - echo "jushLinks.mssql_bra = jushLinks.$driver;\n"; - echo "jushLinks.sqlite_quo = jushLinks.$driver;\n"; + foreach (array("bac", "bra", "sqlite_quo", "mssql_bra") as $val) { + echo "jushLinks.$val = jushLinks.$driver;\n"; + } echo "</script>\n"; } echo '<p><a href="' . h(ME) . 'create=">' . bold(lang('Create new table'), $_GET["create"] === "") . "</a>\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-05-05 16:26:46
|
Revision: 1517 http://adminer.svn.sourceforge.net/adminer/?rev=1517&view=rev Author: jakubvrana Date: 2010-05-05 16:26:41 +0000 (Wed, 05 May 2010) Log Message: ----------- Revert 1511 (always dump all tables) Modified Paths: -------------- trunk/adminer/include/adminer.inc.php Modified: trunk/adminer/include/adminer.inc.php =================================================================== --- trunk/adminer/include/adminer.inc.php 2010-05-05 11:11:33 UTC (rev 1516) +++ trunk/adminer/include/adminer.inc.php 2010-05-05 16:26:41 UTC (rev 1517) @@ -497,7 +497,7 @@ <form action="" method="post"> <p class="logout"> <a href="<?php echo h(ME); ?>sql="><?php echo bold(lang('SQL command'), isset($_GET["sql"])); ?></a> -<a href="<?php echo h(ME); ?>dump="><?php echo bold(lang('Dump'), isset($_GET["dump"])); ?></a> +<a href="<?php echo h(ME); ?>dump=<?php echo urlencode(isset($_GET["table"]) ? $_GET["table"] : $_GET["select"]); ?>"><?php echo bold(lang('Dump'), isset($_GET["dump"])); ?></a> <input type="hidden" name="token" value="<?php echo $token; ?>"> <input type="submit" name="logout" value="<?php echo lang('Logout'); ?>"> </p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |