diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2013-01-17 14:40:58 +0100 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2013-01-17 14:40:58 +0100 |
commit | 64c27013d4835f9bede202f208679e34fb0ec7bf (patch) | |
tree | 10d71764f54dc38998f8182b67407d0b88e37dee /phpBB/includes | |
parent | 50542a389cfb6189334ed704c1d5c984f3ddf76b (diff) | |
download | forums-64c27013d4835f9bede202f208679e34fb0ec7bf.tar forums-64c27013d4835f9bede202f208679e34fb0ec7bf.tar.gz forums-64c27013d4835f9bede202f208679e34fb0ec7bf.tar.bz2 forums-64c27013d4835f9bede202f208679e34fb0ec7bf.tar.xz forums-64c27013d4835f9bede202f208679e34fb0ec7bf.zip |
[ticket/9492] Fix undefined user_avatar_* values when updating the group avatar
PHPBB3-9492
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/functions_user.php | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 22272b20f3..3b7c9eea92 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -3525,25 +3525,31 @@ function group_set_user_default($group_id, $user_id_ary, $group_attributes = fal } // Before we update the user attributes, we will update the avatar for users that don't have a custom avatar + $avatar_options = array('user_avatar', 'user_avatar_type', 'user_avatar_height', 'user_avatar_width'); + if (isset($sql_ary['user_avatar'])) { + $avatar_sql_ary = array(); + foreach ($avatar_options as $avatar_option) + { + if (isset($sql_ary[$avatar_option])) + { + $avatar_sql_ary[$avatar_option] = $sql_ary[$avatar_option]; + } + } + $sql = 'UPDATE ' . USERS_TABLE . ' - SET ' . $db->sql_build_array('UPDATE', array( - 'user_avatar' => $sql_ary['user_avatar'], - 'user_avatar_type' => $sql_ary['user_avatar_type'], - 'user_avatar_height' => $sql_ary['user_avatar_height'], - 'user_avatar_width' => $sql_ary['user_avatar_width'], - )) . " + SSET ' . $db->sql_build_array('UPDATE', $avatar_sql_ary) . " WHERE user_avatar = '' AND " . $db->sql_in_set('user_id', $user_id_ary); $db->sql_query($sql); - - unset($sql_ary['user_avatar']); } - unset($sql_ary['user_avatar_type']); - unset($sql_ary['user_avatar_height']); - unset($sql_ary['user_avatar_width']); + // Remove the avatar options, as we already updated them + foreach ($avatar_options as $avatar_option) + { + unset($sql_ary[$avatar_option]); + } if (!empty($sql_ary)) { |