diff options
| author | Nils Adermann <naderman@naderman.de> | 2014-08-11 17:37:56 +0200 |
|---|---|---|
| committer | Nils Adermann <naderman@naderman.de> | 2014-08-11 17:37:56 +0200 |
| commit | bad90dafbfe8a093a518b90b82a01d4e63e757f2 (patch) | |
| tree | e97a0d694ba8926910f8afb512302907fb1d6e32 /phpBB/phpbb/avatar/manager.php | |
| parent | 91df95a90dd3266f4beeb7df7534f75882909581 (diff) | |
| parent | 70978e96d34ddf3bea24c363800e9fc920c3120b (diff) | |
| download | forums-bad90dafbfe8a093a518b90b82a01d4e63e757f2.tar forums-bad90dafbfe8a093a518b90b82a01d4e63e757f2.tar.gz forums-bad90dafbfe8a093a518b90b82a01d4e63e757f2.tar.bz2 forums-bad90dafbfe8a093a518b90b82a01d4e63e757f2.tar.xz forums-bad90dafbfe8a093a518b90b82a01d4e63e757f2.zip | |
Merge remote-tracking branch 'github-marc1706/ticket/12822' into develop-ascraeus
* github-marc1706/ticket/12822:
[ticket/12822] Fix test runs of avatar manager_test
[ticket/12822] Add method for deleting avatars and use confirm_box
[ticket/12822] Remove "None" option from avatar select boxes
Diffstat (limited to 'phpBB/phpbb/avatar/manager.php')
| -rw-r--r-- | phpBB/phpbb/avatar/manager.php | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/phpBB/phpbb/avatar/manager.php b/phpBB/phpbb/avatar/manager.php index 7cf136be2c..42ae61a9a2 100644 --- a/phpBB/phpbb/avatar/manager.php +++ b/phpBB/phpbb/avatar/manager.php @@ -41,8 +41,8 @@ class manager static protected $default_row = array( 'avatar' => '', 'avatar_type' => '', - 'avatar_width' => '', - 'avatar_height' => '', + 'avatar_width' => 0, + 'avatar_height' => 0, ); /** @@ -307,4 +307,36 @@ class manager return $error; } + + /** + * Handle deleting avatars + * + * @param \phpbb\db\driver\driver_interface $db phpBB dbal + * @param \phpbb\user $user phpBB user object + * @param array $avatar_data Cleaned user data containing the user's + * avatar data + * @param string $table Database table from which the avatar should be deleted + * @param string $prefix Prefix of user data columns in database + * @return null + */ + public function handle_avatar_delete(\phpbb\db\driver\driver_interface $db, \phpbb\user $user, $avatar_data, $table, $prefix) + { + if ($driver = $this->get_driver($avatar_data['avatar_type'])) + { + $driver->delete($avatar_data); + } + + $result = self::$default_row; + + foreach ($result as $key => $value) + { + $result[$prefix . $key] = $value; + unset($result[$key]); + } + + $sql = 'UPDATE ' . $table . ' + SET ' . $db->sql_build_array('UPDATE', $result) . ' + WHERE ' . $prefix . 'id = ' . (int) $avatar_data['id']; + $db->sql_query($sql); + } } |
