aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/ucp/ucp_profile.php
diff options
context:
space:
mode:
authorCullen Walsh <ckwalsh@phpbb.com>2011-04-18 22:54:35 -0700
committerCullen Walsh <ckwalsh@cullenwalsh.com>2012-03-18 22:20:45 +0000
commit00d4b9d431d6772889291f2f4c857a144bce93fb (patch)
treebc3506b3d6ee19a268dd3ef21d444711d0f24c3e /phpBB/includes/ucp/ucp_profile.php
parentf102d9a631d6de464abefe2089ff1e6e13ed044d (diff)
downloadforums-00d4b9d431d6772889291f2f4c857a144bce93fb.tar
forums-00d4b9d431d6772889291f2f4c857a144bce93fb.tar.gz
forums-00d4b9d431d6772889291f2f4c857a144bce93fb.tar.bz2
forums-00d4b9d431d6772889291f2f4c857a144bce93fb.tar.xz
forums-00d4b9d431d6772889291f2f4c857a144bce93fb.zip
[feature/avatars] Implement UCP remote/local avatars
Implementing selection logic for gallery and remote avatars. Modified some of the driver interfaces to make things work nicer also. Upload functionality will be in the next commit. PHPBB3-10018
Diffstat (limited to 'phpBB/includes/ucp/ucp_profile.php')
-rw-r--r--phpBB/includes/ucp/ucp_profile.php58
1 files changed, 24 insertions, 34 deletions
diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php
index a93430644c..5d7dbe12d8 100644
--- a/phpBB/includes/ucp/ucp_profile.php
+++ b/phpBB/includes/ucp/ucp_profile.php
@@ -544,12 +544,8 @@ class ucp_profile
break;
case 'avatar':
- include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
-
- $display_gallery = request_var('display_gallery', '0');
- $avatar_select = basename(request_var('avatar_select', ''));
- $category = basename(request_var('category', ''));
-
+ include_once($phpbb_root_path . 'includes/functions_display.' . $phpEx);
+
add_form_key('ucp_avatar');
$avatars_enabled = false;
@@ -572,18 +568,15 @@ class ucp_profile
{
if (check_form_key('ucp_avatar'))
{
- $result = $avatar->handle_form($template, $error, true);
+ $result = $avatar->handle_form($template, $user->data, $error, true);
if (empty($error))
{
// Success! Lets save the result in the database
- $sql_ary = array(
- 'user_avatar_type' => $driver,
- 'user_avatar' => (string) $result,
- );
+ $result['user_avatar_type'] = $driver;
$sql = 'UPDATE ' . USERS_TABLE . '
- SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
+ SET ' . $db->sql_build_array('UPDATE', $result) . '
WHERE user_id = ' . $user->data['user_id'];
$db->sql_query($sql);
@@ -599,7 +592,7 @@ class ucp_profile
}
}
- if ($avatar->handle_form($template, $error)) {
+ if ($avatar->handle_form($template, $user->data, $error)) {
$driver_u = strtoupper($driver);
$template->assign_block_vars('avatar_drivers', array(
@@ -613,39 +606,36 @@ class ucp_profile
}
}
}
-
- // Replace "error" strings with their real, localised form
- $error = array_map(array($user, 'lang'), $error);
+ // Replace "error" strings with their real, localised form
+ $err = $error;
+ $error = array();
+ foreach ($err as $e)
+ {
+ if (is_array($e))
+ {
+ $key = array_shift($e);
+ $error[] = vsprintf($user->lang($key), $e);
+ }
+ else
+ {
+ $error[] = $user->lang((string) $e);
+ }
+ }
+
$avatar = get_user_avatar($user->data, 'USER_AVATAR', true);
$template->assign_vars(array(
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
'AVATAR' => $avatar,
- 'AVATAR_SIZE' => $config['avatar_filesize'],
-
- 'U_GALLERY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=profile&amp;mode=avatar&amp;display_gallery=1'),
'S_FORM_ENCTYPE' => ' enctype="multipart/form-data"',
'L_AVATAR_EXPLAIN' => phpbb_avatar_explanation_string(),
+
+ 'S_AVATARS_ENABLED' => ($config['allow_avatar'] && $avatars_enabled),
));
- if ($config['allow_avatar'] && $display_gallery && $auth->acl_get('u_chgavatar') && $config['allow_avatar_local'])
- {
- avatar_gallery($category, $avatar_select, 4);
- }
- else if ($config['allow_avatar'])
- {
- $template->assign_vars(array(
- 'AVATAR_WIDTH' => request_var('width', empty($avatar) ? 0 : $user->data['user_avatar_width']),
- 'AVATAR_HEIGHT' => request_var('height', empty($avatar) ? 0 : $user->data['user_avatar_height']),
-
- 'S_AVATARS_ENABLED' => $avatars_enabled,
- 'S_DISPLAY_GALLERY' => ($auth->acl_get('u_chgavatar') && $config['allow_avatar_local']) ? true : false)
- );
- }
-
break;
}