diff options
| author | alf007 <alf007@free.fr> | 2015-05-25 00:14:48 +0200 |
|---|---|---|
| committer | alf007 <alf007@free.fr> | 2015-05-25 00:14:48 +0200 |
| commit | 6025c40cab2d768c3cad3586fa1bfbfa6c9eeb3b (patch) | |
| tree | bd40622b18c3ce4d8174f2dc717ae19a12cf3d1a /phpBB/phpbb/avatar | |
| parent | 6a4cb42565d7e1663da4d02cd8d624b034b20afe (diff) | |
| parent | 6322970766bd9fa78327fa2ca6a6a43d73b680ee (diff) | |
| download | forums-6025c40cab2d768c3cad3586fa1bfbfa6c9eeb3b.tar forums-6025c40cab2d768c3cad3586fa1bfbfa6c9eeb3b.tar.gz forums-6025c40cab2d768c3cad3586fa1bfbfa6c9eeb3b.tar.bz2 forums-6025c40cab2d768c3cad3586fa1bfbfa6c9eeb3b.tar.xz forums-6025c40cab2d768c3cad3586fa1bfbfa6c9eeb3b.zip | |
Merge pull request #1 from phpbb/develop-ascraeus
Develop ascraeus
Diffstat (limited to 'phpBB/phpbb/avatar')
| -rw-r--r-- | phpBB/phpbb/avatar/manager.php | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/phpBB/phpbb/avatar/manager.php b/phpBB/phpbb/avatar/manager.php index 42ae61a9a2..8d83152ed6 100644 --- a/phpBB/phpbb/avatar/manager.php +++ b/phpBB/phpbb/avatar/manager.php @@ -326,17 +326,41 @@ class manager $driver->delete($avatar_data); } - $result = self::$default_row; + $result = $this->prefix_avatar_columns($prefix, self::$default_row); - foreach ($result as $key => $value) + $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[$prefix . $key] = $value; - unset($result[$key]); + $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); } + } - $sql = 'UPDATE ' . $table . ' - SET ' . $db->sql_build_array('UPDATE', $result) . ' - WHERE ' . $prefix . 'id = ' . (int) $avatar_data['id']; - $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; } } |
