1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[feature/avatars] Handle deletion of avatars

Previously this wasn't handled correctly if at all.

PHPBB3-10018
This commit is contained in:
Marc Alexander
2012-11-18 23:09:09 +01:00
parent d8510356d6
commit 959bc183bf
6 changed files with 19 additions and 4 deletions

View File

@@ -335,7 +335,8 @@ class acp_groups
// Handle avatar
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$config_name = preg_replace('#^avatar.driver.#', '', $driver);
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"])
$av_delete = $request->variable('av_delete', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"] && empty($av_delete))
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
$result = $avatar->process_form($template, $avatar_data, $avatar_error);
@@ -354,6 +355,11 @@ class acp_groups
}
else
{
if ($avatar = $phpbb_avatar_manager->get_driver($user->data['user_avatar_type']))
{
$avatar->delete($avatar_data);
}
// Removing the avatar
$submit_ary['avatar_type'] = '';
$submit_ary['avatar'] = '';

View File

@@ -1746,7 +1746,8 @@ class acp_users
{
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$config_name = preg_replace('#^avatar.driver.#', '', $driver);
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"])
$av_delete = $request->variable('av_delete', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"] && empty($av_delete))
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
$result = $avatar->process_form($template, $avatar_data, $error);
@@ -1770,6 +1771,11 @@ class acp_users
}
else
{
if ($avatar = $phpbb_avatar_manager->get_driver($user->data['user_avatar_type']))
{
$avatar->delete($avatar_data);
}
// Removing the avatar
$result = array(
'user_avatar' => '',

View File

@@ -565,7 +565,8 @@ class ucp_profile
{
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$config_name = preg_replace('#^avatar.driver.#', '', $driver);
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"])
$av_delete = $request->variable('av_delete', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"] && empty($av_delete))
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
$result = $avatar->process_form($template, $avatar_data, $error);
@@ -593,7 +594,6 @@ class ucp_profile
}
else
{
// They are removing their avatar or are trying to play games with us
if ($avatar = $phpbb_avatar_manager->get_driver($user->data['user_avatar_type']))
{
$avatar->delete($avatar_data);