]> git.joonet.de Git - adminer.git/commitdiff
Drop user only if successfully created
authorJakub Vrana <jakub@vrana.cz>
Fri, 12 Aug 2011 15:45:14 +0000 (17:45 +0200)
committerJakub Vrana <jakub@vrana.cz>
Fri, 12 Aug 2011 15:45:14 +0000 (17:45 +0200)
adminer/user.inc.php
tests/15-privileges.html

index 78e5674b0dd5d02a553384a99230f3a2cd764309..4909769bedb2765d97cd2643f41ee18c12af14d5 100644 (file)
@@ -51,8 +51,10 @@ if ($_POST && !$error) {
        if ($_POST["drop"]) {
                query_redirect("DROP USER $old_user", ME . "privileges=", lang('User has been dropped.'));
        } else {
+               $created = false;
                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");
+                       $created = queries(($connection->server_info < 5 ? "GRANT USAGE ON *.* TO" : "CREATE USER") . " $new_user IDENTIFIED BY" . ($_POST["hashed"] ? " PASSWORD" : "") . " $pass");
+                       $error = !$created;
                } elseif ($_POST["pass"] != $old_pass || !$_POST["hashed"]) {
                        queries("SET PASSWORD FOR $new_user = " . ($_POST["hashed"] ? $pass : "PASSWORD($pass)"));
                }
@@ -93,7 +95,7 @@ if ($_POST && !$error) {
                        }
                }
                queries_redirect(ME . "privileges=", (isset($_GET["host"]) ? lang('User has been altered.') : lang('User has been created.')), !$error);
-               if ($old_user != $new_user) {
+               if ($created) {
                        // delete new user in case of an error
                        $connection->query("DROP USER $new_user");
                }
index 577a74f54ce6cd0ee61bba3a9bbdc286bb8580a4..f22c3985133e17ed6889b270558a35d3ad6fa6aa 100644 (file)
 </tr>
 <tr>
        <td>clickAndWait</td>
-       <td>//div[@id='content']/table/tbody/tr[td[2]='adminer_test']/td[1]/a</td>
+       <td>//div[@id='content']/form/table/tbody/tr[td[2]='adminer_test']/td[3]/a</td>
        <td></td>
 </tr>
 <tr>