1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-04 13:35:13 +02:00

[feature/avatars] Add static methods for handling driver names

PHPBB3-10018
This commit is contained in:
Marc Alexander 2012-11-25 16:04:59 +01:00
parent 6d061304af
commit 06639729ea
5 changed files with 38 additions and 12 deletions

View File

@ -334,7 +334,7 @@ class acp_groups
if ($config['allow_avatar'])
{
// Handle avatar
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', ''));
$config_name = preg_replace('#^avatar\.driver.#', '', $driver);
$avatar_delete = $request->variable('avatar_delete', '');
@ -523,7 +523,7 @@ class acp_groups
if ($config['allow_avatar'])
{
$avatars_enabled = false;
$focused_driver = str_replace('_', '.', request_var('avatar_driver', $avatar_data['avatar_type']));
$focused_driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', $avatar_data['avatar_type']));
foreach ($avatar_drivers as $driver)
{
@ -539,7 +539,7 @@ class acp_groups
if ($avatar->prepare_form($template, $avatar_data, $avatar_error))
{
$driver_name = str_replace('.', '_', $driver);
$driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
$driver_upper = strtoupper($driver_name);
$template->assign_block_vars('avatar_drivers', array(
'L_TITLE' => $user->lang($driver_upper . '_TITLE'),

View File

@ -1747,7 +1747,7 @@ class acp_users
{
if (check_form_key($form_name))
{
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', ''));
$config_name = preg_replace('#^avatar\.driver.#', '', $driver);
$avatar_delete = $request->variable('avatar_delete', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"] && empty($avatar_delete))
@ -1803,7 +1803,7 @@ class acp_users
}
}
$focused_driver = str_replace('_', '.', request_var('avatar_driver', $user_row['user_avatar_type']));
$focused_driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', $user_row['user_avatar_type']));
foreach ($avatar_drivers as $driver)
{
@ -1819,7 +1819,7 @@ class acp_users
if ($avatar->prepare_form($template, $avatar_data, $error))
{
$driver_name = str_replace('.', '_', $driver);
$driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
$driver_upper = strtoupper($driver_name);
$template->assign_block_vars('avatar_drivers', array(

View File

@ -152,4 +152,30 @@ class phpbb_avatar_manager
return array_combine($keys, $values);
}
/**
* Clean driver names that are returned from template files
* Underscores are replaced with dots
*
* @param string $name Driver name
*
* @return string Cleaned driver name
*/
public static function clean_driver_name($name)
{
return str_replace('_', '.', $name);
}
/**
* Prepare driver names for use in template files
* Dots are replaced with underscores
*
* @param string $name Clean driver name
*
* @return string Prepared driver name
*/
public static function prepare_driver_name($name)
{
return str_replace('.', '_', $name);
}
}

View File

@ -521,7 +521,7 @@ class ucp_groups
if ($config['allow_avatar'])
{
// Handle avatar
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', ''));
$config_name = preg_replace('#^avatar\.driver.#', '', $driver);
$avatar_delete = $request->variable('avatar_delete', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"] && empty($avatar_delete))
@ -652,7 +652,7 @@ class ucp_groups
if ($config['allow_avatar'])
{
$avatars_enabled = false;
$focused_driver = str_replace('_', '.', request_var('avatar_driver', $avatar_data['avatar_type']));
$focused_driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', $avatar_data['avatar_type']));
foreach ($avatar_drivers as $driver)
{
@ -667,7 +667,7 @@ class ucp_groups
if ($avatar->prepare_form($template, $avatar_data, $avatar_error))
{
$driver_name = str_replace('.', '_', $driver);
$driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
$driver_upper = strtoupper($driver_name);
$template->assign_block_vars('avatar_drivers', array(
'L_TITLE' => $user->lang($driver_upper . '_TITLE'),

View File

@ -564,7 +564,7 @@ class ucp_profile
{
if (check_form_key('ucp_avatar'))
{
$driver = str_replace('_', '.', request_var('avatar_driver', ''));
$driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', ''));
$config_name = preg_replace('#^avatar\.driver.#', '', $driver);
$avatar_delete = $request->variable('avatar_delete', '');
if (in_array($driver, $avatar_drivers) && $config["allow_avatar_$config_name"] && empty($avatar_delete))
@ -624,7 +624,7 @@ class ucp_profile
}
}
$focused_driver = str_replace('_', '.', request_var('avatar_driver', $user->data['user_avatar_type']));
$focused_driver = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', $user->data['user_avatar_type']));
foreach ($avatar_drivers as $driver)
{
@ -639,7 +639,7 @@ class ucp_profile
if ($avatar->prepare_form($template, $avatar_data, $error))
{
$driver_name = str_replace('.', '_', $driver);
$driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
$driver_upper = strtoupper($driver_name);
$template->assign_block_vars('avatar_drivers', array(