]> git.joonet.de Git - adminer.git/commitdiff
Clear cache by CREATE DATABASE (bug #2952276)
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 18 Feb 2010 14:57:16 +0000 (14:57 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 18 Feb 2010 14:57:16 +0000 (14:57 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1318 7c3ca157-0c34-0410-bff1-cbf682f78f5c

adminer/sql.inc.php

index a3013ee73d2efbd5803761fec5c8846aa53dbca4..6af08e5d748019e2bbe8f79f626d688bf37ce644 100644 (file)
@@ -27,9 +27,7 @@ if (!$error && $_POST) {
                }
                $space = "(\\s|/\\*.*\\*/|(#|-- )[^\n]*\n|--\n)";
                $alter_database = "(CREATE|DROP)$space+(DATABASE|SCHEMA)\\b~isU";
-               $databases = &$_SESSION["databases"][$_GET["server"]];
-               if (!ini_get("session.use_cookies") || (isset($databases) && !preg_match("~\\b$alter_database", $query))) { // quick check - may be inside string
-                       //! false positive with $fp and disabled ini_set() and enabled session.use_cookies
+               if (!ini_get("session.use_cookies")) {
                        session_write_close();
                }
                $delimiter = ";";
@@ -87,7 +85,9 @@ if (!$error && $_POST) {
                                                                        }
                                                                } else {
                                                                        if (preg_match("~^$space*$alter_database", $query)) {
-                                                                               $databases = null; // clear cache
+                                                                               restart_session();
+                                                                               $_SESSION["databases"][$_GET["server"]] = null; // clear cache
+                                                                               session_write_close();
                                                                        }
                                                                        echo "<p class='message' title='" . h($connection->info) . "'>" . lang('Query executed OK, %d row(s) affected.', $connection->affected_rows) . "\n";
                                                                }