aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2012-04-08 21:45:51 +0200
committerIgor Wiedler <igor@wiedler.ch>2012-04-08 21:45:51 +0200
commita1132fc5c7e990d73cbc8ac7abf4502a1bbe7216 (patch)
tree1a095e1fe8155adfc572d411cbe74639274c3d6f /phpBB
parent3b71e81cfba726043063b05cb793e18186143252 (diff)
downloadforums-a1132fc5c7e990d73cbc8ac7abf4502a1bbe7216.tar
forums-a1132fc5c7e990d73cbc8ac7abf4502a1bbe7216.tar.gz
forums-a1132fc5c7e990d73cbc8ac7abf4502a1bbe7216.tar.bz2
forums-a1132fc5c7e990d73cbc8ac7abf4502a1bbe7216.tar.xz
forums-a1132fc5c7e990d73cbc8ac7abf4502a1bbe7216.zip
[feature/avatars] Update avatars in database_update
PHPBB3-10018
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/functions_display.php70
-rw-r--r--phpBB/install/database_update.php24
2 files changed, 35 insertions, 59 deletions
diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php
index 619c30ada5..291d92387f 100644
--- a/phpBB/includes/functions_display.php
+++ b/phpBB/includes/functions_display.php
@@ -1325,72 +1325,28 @@ function get_avatar($row, $alt, $ignore_config = false)
'width' => $row['avatar_width'],
'height' => $row['avatar_height'],
);
-
- switch ($row['avatar_type'])
- {
- case AVATAR_UPLOAD:
- // Compatibility with old avatars
- if (!$config['allow_avatar_upload'] && !$ignore_config)
- {
- $avatar_data['src'] = '';
- }
- else
- {
- $avatar_data['src'] = $phpbb_root_path . "download/file.$phpEx?avatar=" . $avatar_data['src'];
- $avatar_data['src'] = str_replace(' ', '%20', $avatar_data['src']);
- }
- break;
- case AVATAR_GALLERY:
- // Compatibility with old avatars
- if (!$config['allow_avatar_local'] && !$ignore_config)
- {
- $avatar_data['src'] = '';
- }
- else
- {
- $avatar_data['src'] = $phpbb_root_path . $config['avatar_gallery_path'] . '/' . $avatar_data['src'];
- $avatar_data['src'] = str_replace(' ', '%20', $avatar_data['src']);
- }
- break;
-
- case AVATAR_REMOTE:
- // Compatibility with old avatars
- if (!$config['allow_avatar_remote'] && !$ignore_config)
- {
- $avatar_data['src'] = '';
- }
- else
- {
- $avatar_data['src'] = str_replace(' ', '%20', $avatar_data['src']);
- }
- break;
+ $avatar = $phpbb_avatar_manager->get_driver($row['avatar_type']);
- default:
- $avatar = $phpbb_avatar_manager->get_driver($row['avatar_type']);
-
- if ($avatar)
- {
- if ($avatar->custom_html)
- {
- return $avatar->get_html($row, $ignore_config);
- }
-
- $avatar_data = $avatar->get_data($row, $ignore_config);
- }
- else
- {
- $avatar_data['src'] = '';
- }
+ if ($avatar)
+ {
+ if ($avatar->custom_html)
+ {
+ return $avatar->get_html($row, $ignore_config);
+ }
- break;
+ $avatar_data = $avatar->get_data($row, $ignore_config);
+ }
+ else
+ {
+ $avatar_data['src'] = '';
}
$html = '';
if (!empty($avatar_data['src']))
{
- $html = '<img src="' . $avatar_data['src'] . '" ' .
+ $html = '<img src="' . $avatar_data['src'] . '" ' .
($avatar_data['width'] ? ('width="' . $avatar_data['width'] . '" ') : '') .
($avatar_data['height'] ? ('height="' . $avatar_data['height'] . '" ') : '') .
'alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index e85fe1810d..75f1ada749 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -2391,13 +2391,33 @@ function change_database_data(&$no_updates, $version)
{
set_config('teampage_memberships', '1');
}
-
+
// Clear styles table and add prosilver entry
_sql('DELETE FROM ' . STYLES_TABLE, $errored, $error_ary);
$sql = 'INSERT INTO ' . STYLES_TABLE . " (style_name, style_copyright, style_active, style_path, bbcode_bitfield, style_parent_id, style_parent_tree) VALUES ('prosilver', '&copy; phpBB Group', 1, 'prosilver', 'kNg=', 0, '')";
_sql($sql, $errored, $error_ary);
-
+
+ // Update avatars to modular types
+ $avatar_type_map = array(
+ AVATAR_UPLOAD => 'upload',
+ AVATAR_GALLERY => 'local',
+ AVATAR_REMOTE => 'remote',
+ );
+
+ foreach ($avatar_type_map as $old => $new)
+ {
+ $sql = 'UPDATE ' . USERS_TABLE . "
+ SET user_avatar_type = '" . $db->sql_escape($new) . "'
+ WHERE user_avatar_type = '" . $db->sql_escape($old) . "'";
+ _sql($sql, $errored, $error_ary);
+
+ $sql = 'UPDATE ' . GROUPS_TABLE . "
+ SET group_avatar_type = '" . $db->sql_escape($new) . "'
+ WHERE group_avatar_type = '" . $db->sql_escape($old) . "'";
+ _sql($sql, $errored, $error_ary);
+ }
+
$no_updates = false;
break;