From: Jakub Vrana Date: Mon, 14 Mar 2011 10:24:52 +0000 (+0100) Subject: Allow % in view definer (thanks to Tomas Votruba) X-Git-Tag: v3.2.1~38 X-Git-Url: https://git.joonet.de/?a=commitdiff_plain;h=021e1e319c3b37c4db8f8c87b574ea321721cc9b;p=adminer.git Allow % in view definer (thanks to Tomas Votruba) --- diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index 1ac76419..38479b4b 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -521,7 +521,7 @@ username.form['driver'].onchange(); } if ($is_view) { // remove DEFINER with current user - $create = preg_replace('~^([A-Z =]+) DEFINER=`' . str_replace("@", "`@`", logged_user()) . '`~', '\\1', $create); //! proper escaping of user + $create = preg_replace('~^([A-Z =]+) DEFINER=`' . preg_replace('~@(.*)~', '`@`(%|\\1)', logged_user()) . '`~', '\\1', $create); //! proper escaping of user } echo ($style != "CREATE+ALTER" ? $create : ($is_view ? substr_replace($create, " OR REPLACE", 6, 0) : substr_replace($create, " IF NOT EXISTS", 12, 0))) . ";\n\n"; }