aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenry Sudhof <kellanved@phpbb.com>2008-07-29 14:38:46 +0000
committerHenry Sudhof <kellanved@phpbb.com>2008-07-29 14:38:46 +0000
commitdceaf59d3be66660ee7fd1470430d56051e6cc0f (patch)
tree5785e11b9bd33b37b64de305c2bfae9bab25f9c2
parentdb4011c9d9c19426f1e7f2bb79f4ab8a7ded63d4 (diff)
downloadforums-dceaf59d3be66660ee7fd1470430d56051e6cc0f.tar
forums-dceaf59d3be66660ee7fd1470430d56051e6cc0f.tar.gz
forums-dceaf59d3be66660ee7fd1470430d56051e6cc0f.tar.bz2
forums-dceaf59d3be66660ee7fd1470430d56051e6cc0f.tar.xz
forums-dceaf59d3be66660ee7fd1470430d56051e6cc0f.zip
Merge avatar deletion on change code
git-svn-id: file:///svn/phpbb/trunk@8713 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/includes/functions_user.php25
1 files changed, 16 insertions, 9 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php
index ba77a56562..7f9760a441 100644
--- a/phpBB/includes/functions_user.php
+++ b/phpBB/includes/functions_user.php
@@ -2221,22 +2221,29 @@ function avatar_process_user(&$error, $custom_userdata = false)
// Do we actually have any data to update?
if (sizeof($sql_ary))
{
- $sql = 'UPDATE ' . USERS_TABLE . '
- SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
- WHERE user_id = ' . (($custom_userdata === false) ? $user->data['user_id'] : $custom_userdata['user_id']);
- $db->sql_query($sql);
-
+ $ext_new = $ext_old = '';
if (isset($sql_ary['user_avatar']))
{
$userdata = ($custom_userdata === false) ? $user->data : $custom_userdata;
+ $ext_new = (empty($sql_ary['user_avatar'])) ? '' : substr(strrchr($sql_ary['user_avatar'], '.'), 1);
+ $ext_old = (empty($userdata['user_avatar'])) ? '' : substr(strrchr($userdata['user_avatar'], '.'), 1);
- // Delete old avatar if present
- if ((!empty($userdata['user_avatar']) && empty($sql_ary['user_avatar']) && $userdata['user_avatar_type'] == AVATAR_UPLOAD)
- || ( !empty($userdata['user_avatar']) && !empty($sql_ary['user_avatar']) && $userdata['user_avatar_type'] == AVATAR_UPLOAD && $sql_ary['user_avatar_type'] != AVATAR_UPLOAD))
+ if ($userdata['user_avatar_type'] == AVATAR_UPLOAD)
{
- avatar_delete('user', $userdata);
+ // Delete old avatar if present
+ if ((!empty($userdata['user_avatar']) && empty($sql_ary['user_avatar']))
+ || ( !empty($userdata['user_avatar']) && !empty($sql_ary['user_avatar']) && $ext_new !== $ext_old))
+ {
+ avatar_delete('user', $userdata);
+ }
}
}
+
+ $sql = 'UPDATE ' . USERS_TABLE . '
+ SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
+ WHERE user_id = ' . (($custom_userdata === false) ? $user->data['user_id'] : $custom_userdata['user_id']);
+ $db->sql_query($sql);
+
}
}