From b650f45d5597fd6a2864ddcd658df3603deb001f Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 24 Feb 2015 11:43:33 +0100 Subject: [PATCH 1/2] [ticket/12368] Correctly check if avatars migration is installed Try to set the avatar type to string value to check if new avatar types are supported. PHPBB3-12368 --- .../phpbb/db/migration/data/v310/avatars.php | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/phpBB/phpbb/db/migration/data/v310/avatars.php b/phpBB/phpbb/db/migration/data/v310/avatars.php index 2698adeed5..51e222532b 100644 --- a/phpBB/phpbb/db/migration/data/v310/avatars.php +++ b/phpBB/phpbb/db/migration/data/v310/avatars.php @@ -17,7 +17,29 @@ class avatars extends \phpbb\db\migration\migration { public function effectively_installed() { - return isset($this->config['allow_avatar_gravatar']); + // Get current avatar type of guest user + $sql = 'SELECT user_avatar_type + FROM ' . $this->table_prefix . 'users + WHERE user_id = ' . ANONYMOUS; + $result = $this->db->sql_query($sql); + $backup_type = $this->db->sql_fetchfield('user_avatar_type'); + $this->db->sql_freeresult($result); + + // Try to set avatar type to string + $sql = 'UPDATE ' . $this->table_prefix . "users + SET user_avatar_type = 'avatar.driver.upload' + WHERE user_id = " . ANONYMOUS; + $this->db->sql_return_on_error(true); + $effectively_installed = $this->db->sql_query($sql); + $this->db->sql_return_on_error(); + + // Return avatar type of guest user to previous state + $sql = 'UPDATE ' . $this->table_prefix . "users + SET user_avatar_type = '{$backup_type}' + WHERE user_id = " . ANONYMOUS; + $this->db->sql_query($sql); + + return $effectively_installed !== false; } static public function depends_on() From 9eab4ba740a58b9d5eecec05c97373ed328e824e Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 26 Mar 2015 11:01:22 +0100 Subject: [PATCH 2/2] [ticket/12368] Fix comment in docblock PHPBB3-12368 --- phpBB/phpbb/db/migration/data/v310/avatars.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/phpbb/db/migration/data/v310/avatars.php b/phpBB/phpbb/db/migration/data/v310/avatars.php index 51e222532b..9b03a8fa94 100644 --- a/phpBB/phpbb/db/migration/data/v310/avatars.php +++ b/phpBB/phpbb/db/migration/data/v310/avatars.php @@ -33,7 +33,7 @@ class avatars extends \phpbb\db\migration\migration $effectively_installed = $this->db->sql_query($sql); $this->db->sql_return_on_error(); - // Return avatar type of guest user to previous state + // Restore avatar type of guest user to previous state $sql = 'UPDATE ' . $this->table_prefix . "users SET user_avatar_type = '{$backup_type}' WHERE user_id = " . ANONYMOUS;