1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-13 19:15:20 +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

@ -105,6 +105,7 @@
<dl>
<dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
<dd>{AVATAR}</dd>
<dd><label for="av_delete"><input type="checkbox" name="av_delete" id="av_delete" /> {L_DELETE_AVATAR}</label></dd>
</dl>
<dl>
<dt><label>{L_AVATAR_TYPE}{L_COLON}</label></dt>

View File

@ -6,6 +6,7 @@
<dl>
<dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
<dd>{AVATAR}</dd>
<dd><label for="av_delete"><input type="checkbox" name="av_delete" id="av_delete" /> {L_DELETE_AVATAR}</label></dd>
</dl>
</fieldset>
<fieldset>

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);

View File

@ -9,6 +9,7 @@
<dl>
<dt><label>{L_CURRENT_IMAGE}{L_COLON}</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
<dd><!-- IF AVATAR -->{AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF --></dd>
<dd><label for="av_delete"><input type="checkbox" name="av_delete" id="av_delete" /> {L_DELETE_AVATAR}</label></dd>
</dl>
</fieldset>
<h3>{L_AVATAR_SELECT}</h3>