diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2015-04-06 11:36:00 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2015-04-06 11:36:00 +0200 |
commit | 90025ae3e762ac599604e031db7eb57d71abdf73 (patch) | |
tree | 7f9ebfa8f41fd18fd0d9a69278c941279a434b42 /phpBB | |
parent | 23db98276fc17aa6d97f0c4dd314795f3e45d16a (diff) | |
parent | 9eab4ba740a58b9d5eecec05c97373ed328e824e (diff) | |
download | forums-90025ae3e762ac599604e031db7eb57d71abdf73.tar forums-90025ae3e762ac599604e031db7eb57d71abdf73.tar.gz forums-90025ae3e762ac599604e031db7eb57d71abdf73.tar.bz2 forums-90025ae3e762ac599604e031db7eb57d71abdf73.tar.xz forums-90025ae3e762ac599604e031db7eb57d71abdf73.zip |
Merge pull request #3437 from marc1706/ticket/12368
[ticket/12368] Correctly check if avatars migration is installed
Diffstat (limited to 'phpBB')
-rw-r--r-- | phpBB/phpbb/db/migration/data/v310/avatars.php | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/phpBB/phpbb/db/migration/data/v310/avatars.php b/phpBB/phpbb/db/migration/data/v310/avatars.php index 2698adeed5..9b03a8fa94 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(); + + // 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; + $this->db->sql_query($sql); + + return $effectively_installed !== false; } static public function depends_on() |