aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2013-01-17 14:40:58 +0100
committerJoas Schilling <nickvergessen@gmx.de>2013-01-17 14:40:58 +0100
commit64c27013d4835f9bede202f208679e34fb0ec7bf (patch)
tree10d71764f54dc38998f8182b67407d0b88e37dee /phpBB/includes
parent50542a389cfb6189334ed704c1d5c984f3ddf76b (diff)
downloadforums-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.php28
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))
{