From 69a9cb1e584f5dcaa8becc69722d2a1e7eb5e944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Fri, 9 May 2014 09:39:41 +0200 Subject: [PATCH 1/3] Share logic for calling postConnect method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This should be called on success, when we're creating primary connection. Signed-off-by: Michal Čihař --- libraries/DatabaseInterface.class.php | 6 +++++- libraries/dbi/DBIDrizzle.class.php | 1 - libraries/dbi/DBIMysql.class.php | 3 --- libraries/dbi/DBIMysqli.class.php | 1 - 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/libraries/DatabaseInterface.class.php b/libraries/DatabaseInterface.class.php index cea14504b1..26a49f82e9 100644 --- a/libraries/DatabaseInterface.class.php +++ b/libraries/DatabaseInterface.class.php @@ -2132,9 +2132,13 @@ class PMA_DatabaseInterface $user, $password, $is_controluser = false, $server = null, $auxiliary_connection = false ) { - return $this->_extension->connect( + $result = $this->_extension->connect( $user, $password, $is_controluser, $server, $auxiliary_connection ); + if ($result && ! $auxiliary_connection) { + $GLOBALS['dbi']->postConnect($link, $is_controluser); + } + return $result; } /** diff --git a/libraries/dbi/DBIDrizzle.class.php b/libraries/dbi/DBIDrizzle.class.php index 22f0b6394e..63dc65c75b 100644 --- a/libraries/dbi/DBIDrizzle.class.php +++ b/libraries/dbi/DBIDrizzle.class.php @@ -136,7 +136,6 @@ class PMA_DBI_Drizzle implements PMA_DBI_Extension } if ($link != false) { - $GLOBALS['dbi']->postConnect($link, $is_controluser); return $link; } diff --git a/libraries/dbi/DBIMysql.class.php b/libraries/dbi/DBIMysql.class.php index 84503bd4c9..5749803c50 100644 --- a/libraries/dbi/DBIMysql.class.php +++ b/libraries/dbi/DBIMysql.class.php @@ -175,9 +175,6 @@ class PMA_DBI_Mysql implements PMA_DBI_Extension return false; } } // end if - if (! $server) { - $GLOBALS['dbi']->postConnect($link, $is_controluser); - } return $link; } diff --git a/libraries/dbi/DBIMysqli.class.php b/libraries/dbi/DBIMysqli.class.php index 51813397ae..6db52f5767 100644 --- a/libraries/dbi/DBIMysqli.class.php +++ b/libraries/dbi/DBIMysqli.class.php @@ -229,7 +229,6 @@ class PMA_DBI_Mysqli implements PMA_DBI_Extension } if ($return_value != false) { - $GLOBALS['dbi']->postConnect($link, $is_controluser); return $link; } From 44432097074d3cb019d776319782676541ea98c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Fri, 9 May 2014 09:41:11 +0200 Subject: [PATCH 2/3] Do not call DBI->postConnect for control link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It used to just return, so there is no sense in calling it at all. Signed-off-by: Michal Čihař --- libraries/DatabaseInterface.class.php | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/libraries/DatabaseInterface.class.php b/libraries/DatabaseInterface.class.php index 26a49f82e9..88ed60e54b 100644 --- a/libraries/DatabaseInterface.class.php +++ b/libraries/DatabaseInterface.class.php @@ -1436,20 +1436,12 @@ class PMA_DatabaseInterface * been established. It sets the connection collation, and determines the * version of MySQL which is running. * - * @param mixed $link mysql link resource|object - * @param boolean $is_controluser whether link is for control user + * @param mixed $link mysql link resource|object * * @return void */ - public function postConnect($link, $is_controluser = false) + public function postConnect($link) { - if ($is_controluser) { - /* - * FIXME: Not sure if this is right approach, but we can not - * define constants multiple time. - */ - return; - } if (! defined('PMA_MYSQL_INT_VERSION')) { if (PMA_Util::cacheExists('PMA_MYSQL_INT_VERSION')) { define( @@ -2135,8 +2127,8 @@ class PMA_DatabaseInterface $result = $this->_extension->connect( $user, $password, $is_controluser, $server, $auxiliary_connection ); - if ($result && ! $auxiliary_connection) { - $GLOBALS['dbi']->postConnect($link, $is_controluser); + if ($result && ! $auxiliary_connection && ! $is_controluser) { + $GLOBALS['dbi']->postConnect($link); } return $result; } From 39339112f397704c092c75c963df4d993dd561a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Fri, 9 May 2014 09:43:09 +0200 Subject: [PATCH 3/3] Fix access to global variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- libraries/dbi/DBIMysqli.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/dbi/DBIMysqli.class.php b/libraries/dbi/DBIMysqli.class.php index 6db52f5767..a957f59f7f 100644 --- a/libraries/dbi/DBIMysqli.class.php +++ b/libraries/dbi/DBIMysqli.class.php @@ -691,7 +691,7 @@ class PMA_DBI_Mysqli implements PMA_DBI_Extension $charsetnr = $f->charsetnr; $f = $f->flags; $flags = array(); - foreach ($pma_flag_names as $flag => $name) { + foreach ($GLOBALS['pma_flag_names'] as $flag => $name) { if ($f & $flag) { $flags[] = $name; }