Thread: [adminer-svn] SF.net SVN: adminer:[1321] trunk/adminer/user.inc.php
Database management in a single PHP file
Brought to you by:
jakubvrana
From: <jak...@us...> - 2010-02-19 14:10:21
|
Revision: 1321 http://adminer.svn.sourceforge.net/adminer/?rev=1321&view=rev Author: jakubvrana Date: 2010-02-19 14:10:14 +0000 (Fri, 19 Feb 2010) Log Message: ----------- Change password only if changed Modified Paths: -------------- trunk/adminer/user.inc.php Modified: trunk/adminer/user.inc.php =================================================================== --- trunk/adminer/user.inc.php 2010-02-18 16:47:25 UTC (rev 1320) +++ trunk/adminer/user.inc.php 2010-02-19 14:10:14 UTC (rev 1321) @@ -50,10 +50,10 @@ if ($_POST["drop"]) { query_redirect("DROP USER $old_user", ME . "privileges=", lang('User has been dropped.')); } else { - if ($old_user == $new_user) { - queries("SET PASSWORD FOR $new_user = " . ($_POST["hashed"] ? $pass : "PASSWORD($pass)")); - } else { + if ($old_user != $new_user) { $error = !queries(($connection->server_info < 5 ? "GRANT USAGE ON *.* TO" : "CREATE USER") . " $new_user IDENTIFIED BY" . ($_POST["hashed"] ? " PASSWORD" : "") . " $pass"); + } elseif ($_POST["pass"] != $old_pass || !$_POST["hashed"]) { + queries("SET PASSWORD FOR $new_user = " . ($_POST["hashed"] ? $pass : "PASSWORD($pass)")); } if (!$error) { $revoke = array(); @@ -107,9 +107,7 @@ } else { $row = $_GET + array("host" => $connection->result($connection->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"))); // create user on the same domain by default $row["pass"] = $old_pass; - if ($old_pass != "") { - $row["hashed"] = true; - } + $row["hashed"] = true; $grants[""] = true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-03-19 13:57:26
|
Revision: 1348 http://adminer.svn.sourceforge.net/adminer/?rev=1348&view=rev Author: jakubvrana Date: 2010-03-19 13:57:20 +0000 (Fri, 19 Mar 2010) Log Message: ----------- Fix revoking of old privileges Modified Paths: -------------- trunk/adminer/user.inc.php Modified: trunk/adminer/user.inc.php =================================================================== --- trunk/adminer/user.inc.php 2010-03-17 14:50:12 UTC (rev 1347) +++ trunk/adminer/user.inc.php 2010-03-19 13:57:20 UTC (rev 1348) @@ -22,7 +22,7 @@ $new_grants = array(); if ($_POST) { foreach ($_POST["objects"] as $key => $val) { - $new_grants[$val] = ((array) $new_grants[$val]) + ((array) $_POST["grants"][$key]); + $new_grants[$val] = (array) $new_grants[$val] + (array) $_POST["grants"][$key]; } } $grants = array(); @@ -31,7 +31,9 @@ while ($row = $result->fetch_row()) { if (preg_match('~GRANT (.*) ON (.*) TO ~', $row[0], $match) && preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~', $match[1], $matches, PREG_SET_ORDER)) { //! escape the part between ON and TO foreach ($matches as $val) { - $grants["$match[2]$val[2]"][$val[1]] = true; + if ($val[1] != "USAGE") { + $grants["$match[2]$val[2]"][$val[1]] = true; + } if (ereg(' WITH GRANT OPTION', $row[0])) { //! don't check inside strings and identifiers $grants["$match[2]$val[2]"]["GRANT OPTION"] = true; } @@ -86,7 +88,7 @@ } elseif (!isset($_GET["grant"])) { foreach ($grants as $object => $revoke) { if (preg_match('~^(.+)(\\(.*\\))?$~U', $object, $match)) { - queries("REVOKE " . grant(array_keys($revoke), $match[2]) . " ON $match[1] FROM $new_user"); + grant("REVOKE", array_keys($revoke), $match[2], " ON $match[1] FROM $new_user"); } } } @@ -124,7 +126,7 @@ <?php //! MAX_* limits, REQUIRE echo "<table cellspacing='0'>\n"; -echo "<thead><tr><th colspan='2'>" . lang('Privileges'); +echo "<thead><tr><th colspan='2'><a href='http://dev.mysql.com/doc/refman/" . substr($connection->server_info, 0, 3) . "/en/grant.html'>" . lang('Privileges') . "</a>"; $i = 0; foreach ($grants as $object => $grant) { echo '<th>' . ($object != "*.*" ? "<input name='objects[$i]' value='" . h($object) . "' size='10'>" : "<input type='hidden' name='objects[$i]' value='*.*' size='10'>*.*"); //! separate db, table, columns, PROCEDURE|FUNCTION, routine This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-04-26 16:35:06
|
Revision: 1501 http://adminer.svn.sourceforge.net/adminer/?rev=1501&view=rev Author: jakubvrana Date: 2010-04-26 16:24:00 +0000 (Mon, 26 Apr 2010) Log Message: ----------- Not hashed password by default Modified Paths: -------------- trunk/adminer/user.inc.php Modified: trunk/adminer/user.inc.php =================================================================== --- trunk/adminer/user.inc.php 2010-04-26 16:23:33 UTC (rev 1500) +++ trunk/adminer/user.inc.php 2010-04-26 16:24:00 UTC (rev 1501) @@ -109,7 +109,9 @@ } else { $row = $_GET + array("host" => $connection->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)")); // create user on the same domain by default $row["pass"] = $old_pass; - $row["hashed"] = true; + if ($old_pass != "") { + $row["hashed"] = true; + } $grants[""] = true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |