[feature/avatars] Introduce global phpbb_avatar_manager

PHPBB3-10018
This commit is contained in:
Igor Wiedler 2012-04-08 16:27:09 +02:00
parent e8a9c0ae6d
commit eea2ec5052
6 changed files with 21 additions and 28 deletions

View file

@ -130,6 +130,8 @@ $style = new phpbb_style($phpbb_root_path, $phpEx, $config, $user, $phpbb_style_
$phpbb_subscriber_loader = new phpbb_event_extension_subscriber_loader($phpbb_dispatcher, $phpbb_extension_manager);
$phpbb_subscriber_loader->load();
$phpbb_avatar_manager = new phpbb_avatar_manager($phpbb_root_path, $phpEx, $config, $request, $cache->get_driver());
// Add own hook handler
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));

View file

@ -82,6 +82,8 @@ if (isset($_GET['avatar']))
$phpbb_subscriber_loader = new phpbb_event_extension_subscriber_loader($phpbb_dispatcher, $phpbb_extension_manager);
$phpbb_subscriber_loader->load();
$phpbb_avatar_manager = new phpbb_avatar_manager($phpbb_root_path, $phpEx, $config, $request, $cache->get_driver());
$filename = request_var('avatar', '');
$avatar_group = false;
$exit = false;

View file

@ -26,6 +26,7 @@ class acp_groups
{
global $config, $db, $user, $auth, $template, $cache;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix, $file_uploads;
global $phpbb_avatar_manager;
$user->add_lang('acp/groups');
$this->tpl_name = 'acp_groups';
@ -282,16 +283,13 @@ class acp_groups
// Setup avatar data for later
$avatars_enabled = false;
$avatar_manager = null;
$avatar_drivers = null;
$avatar_data = null;
$avatar_error = array();
if ($config['allow_avatar'])
{
$avatar_manager = new phpbb_avatar_manager($phpbb_root_path, $phpEx, $config, $request, $cache->getDriver());
$avatar_drivers = $avatar_manager->get_valid_drivers();
$avatar_drivers = $phpbb_avatar_manager->get_valid_drivers();
sort($avatar_drivers);
// This is normalised data, without the group_ prefix
@ -337,7 +335,7 @@ class acp_groups
$driver = request_var('avatar_driver', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$driver"])
{
$avatar = $avatar_manager->get_driver($driver);
$avatar = $phpbb_avatar_manager->get_driver($driver);
$result = $avatar->process_form($template, $avatar_data, $avatar_error);
if ($result && empty($avatar_error))
@ -534,7 +532,7 @@ class acp_groups
'avatar' => "acp_avatar_options_$driver.html",
));
$avatar = $avatar_manager->get_driver($driver);
$avatar = $phpbb_avatar_manager->get_driver($driver);
if ($avatar->prepare_form($template, $avatar_data, $avatar_error))
{

View file

@ -33,6 +33,7 @@ class acp_users
global $config, $db, $user, $auth, $template, $cache;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix, $file_uploads;
global $request;
global $phpbb_avatar_manager;
$user->add_lang(array('posting', 'ucp', 'acp/users'));
$this->tpl_name = 'acp_users';
@ -467,8 +468,7 @@ class acp_users
$db->sql_query($sql);
// Delete old avatar if present
$avatar_manager = new phpbb_avatar_manager($phpbb_root_path, $phpEx, $config, $request, $cache->getDriver());
if ($driver = $avatar_manager->get_driver($user_row['user_avatar_type']))
if ($driver = $phpbb_avatar_manager->get_driver($user_row['user_avatar_type']))
{
$driver->delete($user_row);
}
@ -1688,9 +1688,7 @@ class acp_users
$avatars_enabled = false;
if ($config['allow_avatar'])
{
$avatar_manager = new phpbb_avatar_manager($phpbb_root_path, $phpEx, $config, $request, $cache->getDriver());
$avatar_drivers = $avatar_manager->get_valid_drivers();
$avatar_drivers = $phpbb_avatar_manager->get_valid_drivers();
sort($avatar_drivers);
// This is normalised data, without the user_ prefix
@ -1703,7 +1701,7 @@ class acp_users
$driver = request_var('avatar_driver', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$driver"])
{
$avatar = $avatar_manager->get_driver($driver);
$avatar = $phpbb_avatar_manager->get_driver($driver);
$result = $avatar->process_form($template, $avatar_data, $error);
if ($result && empty($error))
@ -1758,7 +1756,7 @@ class acp_users
'avatar' => "acp_avatar_options_$driver.html",
));
$avatar = $avatar_manager->get_driver($driver);
$avatar = $phpbb_avatar_manager->get_driver($driver);
if ($avatar->prepare_form($template, $avatar_data, $error))
{

View file

@ -1313,8 +1313,7 @@ function get_avatar($row, $alt, $ignore_config = false)
{
global $user, $config, $cache, $phpbb_root_path, $phpEx;
global $request;
static $avatar_manager = null;
global $phpbb_avatar_manager;
if (!$config['allow_avatar'] && !$ignore_config)
{
@ -1368,12 +1367,7 @@ function get_avatar($row, $alt, $ignore_config = false)
break;
default:
if (empty($avatar_manager))
{
$avatar_manager = new phpbb_avatar_manager($phpbb_root_path, $phpEx, $config, $request, $cache->get_driver());
}
$avatar = $avatar_manager->get_driver($row['avatar_type']);
$avatar = $phpbb_avatar_manager->get_driver($row['avatar_type']);
if ($avatar)
{

View file

@ -30,6 +30,7 @@ class ucp_profile
{
global $cache, $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx;
global $request;
global $phpbb_avatar_manager;
$user->add_lang('posting');
@ -552,11 +553,9 @@ class ucp_profile
if ($config['allow_avatar'] && $auth->acl_get('u_chgavatar'))
{
$avatar_manager = new phpbb_avatar_manager($phpbb_root_path, $phpEx, $config, $request, $cache->getDriver());
$avatar_drivers = $avatar_manager->get_valid_drivers();
$avatar_drivers = $phpbb_avatar_manager->get_valid_drivers();
sort($avatar_drivers);
// This is normalised data, without the user_ prefix
$avatar_data = phpbb_avatar_driver::clean_row($user->data, phpbb_avatar_driver::FROM_USER);
@ -567,7 +566,7 @@ class ucp_profile
$driver = request_var('avatar_driver', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$driver"])
{
$avatar = $avatar_manager->get_driver($driver);
$avatar = $phpbb_avatar_manager->get_driver($driver);
$result = $avatar->process_form($template, $avatar_data, $error);
if ($result && empty($error))
@ -594,7 +593,7 @@ class ucp_profile
else
{
// They are removing their avatar or are trying to play games with us
if ($avatar = $avatar_manager->get_driver($user->data['user_avatar_type']))
if ($avatar = $phpbb_avatar_manager->get_driver($user->data['user_avatar_type']))
{
$avatar->delete($avatar_data);
}
@ -634,7 +633,7 @@ class ucp_profile
'avatar' => "ucp_avatar_options_$driver.html",
));
$avatar = $avatar_manager->get_driver($driver);
$avatar = $phpbb_avatar_manager->get_driver($driver);
if ($avatar->prepare_form($template, $avatar_data, $error))
{