mirror of
https://github.com/phpbb/phpbb.git
synced 2025-04-21 16:22:22 +02:00
[ticket/13197] Also delete group avatar from users that have it set
PHPBB3-13197
This commit is contained in:
parent
f22cd2d734
commit
1da1a70650
@ -326,17 +326,41 @@ class manager
|
||||
$driver->delete($avatar_data);
|
||||
}
|
||||
|
||||
$result = self::$default_row;
|
||||
|
||||
foreach ($result as $key => $value)
|
||||
{
|
||||
$result[$prefix . $key] = $value;
|
||||
unset($result[$key]);
|
||||
}
|
||||
$result = $this->prefix_avatar_columns($prefix, self::$default_row);
|
||||
|
||||
$sql = 'UPDATE ' . $table . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $result) . '
|
||||
WHERE ' . $prefix . 'id = ' . (int) $avatar_data['id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
// Make sure we also delete this avatar from the users
|
||||
if ($prefix === 'group_')
|
||||
{
|
||||
$result = $this->prefix_avatar_columns('user_', self::$default_row);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $result) . '
|
||||
WHERE user_avatar = "' . $db->sql_escape($avatar_data['avatar']) . '"';
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prefix avatar columns
|
||||
*
|
||||
* @param string $prefix Column prefix
|
||||
* @param array $data Column data
|
||||
*
|
||||
* @return array Column data with prefixed column names
|
||||
*/
|
||||
public function prefix_avatar_columns($prefix, $data)
|
||||
{
|
||||
foreach ($data as $key => $value)
|
||||
{
|
||||
$data[$prefix . $key] = $value;
|
||||
unset($data[$key]);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user