aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/acp/acp_groups.php8
-rw-r--r--phpBB/includes/acp/acp_users.php8
-rw-r--r--phpBB/includes/ucp/ucp_profile.php4
3 files changed, 16 insertions, 4 deletions
diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php
index 7be58b6df1..f461555056 100644
--- a/phpBB/includes/acp/acp_groups.php
+++ b/phpBB/includes/acp/acp_groups.php
@@ -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'] = '';
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index 562353b229..fdad1df0fd 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -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' => '',
diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php
index 6a1ad33ceb..77b2dc7054 100644
--- a/phpBB/includes/ucp/ucp_profile.php
+++ b/phpBB/includes/ucp/ucp_profile.php
@@ -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);