mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/14387] Extend avatar-driver by extension in ACP not possible
Create two driver methods to provide the driver config name and the driver ACP template name, and use them directly when required. Default driver config name and template name are the same as now. But new drivers are able to override the config name and template name with their own, including @vendor_extension. Simplified manager interface by reducing unneeded methods. PHPBB3-14387
This commit is contained in:
parent
06f4b6926b
commit
917c864bbf
3 changed files with 4 additions and 30 deletions
|
@ -672,9 +672,8 @@ class acp_groups
|
|||
$driver = $phpbb_avatar_manager->get_driver($current_driver);
|
||||
|
||||
$avatars_enabled = true;
|
||||
$template_name = $phpbb_avatar_manager->get_driver_template_name($driver);
|
||||
$template->set_filenames(array(
|
||||
'avatar' => $template_name,
|
||||
'avatar' => $driver->get_acp_template_name(),
|
||||
));
|
||||
|
||||
if ($driver->prepare_form($request, $template, $user, $avatar_data, $avatar_error))
|
||||
|
|
|
@ -1878,9 +1878,8 @@ class acp_users
|
|||
$driver = $phpbb_avatar_manager->get_driver($current_driver);
|
||||
|
||||
$avatars_enabled = true;
|
||||
$template_name = $phpbb_avatar_manager->get_driver_template_name($driver);
|
||||
$template->set_filenames(array(
|
||||
'avatar' => $template_name,
|
||||
'avatar' => $driver->get_acp_template_name(),
|
||||
));
|
||||
|
||||
if ($driver->prepare_form($request, $template, $user, $avatar_data, $error))
|
||||
|
|
|
@ -246,7 +246,7 @@ class manager
|
|||
*/
|
||||
public function is_enabled($driver)
|
||||
{
|
||||
$config_name = $this->get_driver_config_name($driver);
|
||||
$config_name = $driver->get_config_name();
|
||||
|
||||
return $this->config["allow_avatar_{$config_name}"];
|
||||
}
|
||||
|
@ -260,37 +260,13 @@ class manager
|
|||
*/
|
||||
public function get_avatar_settings($driver)
|
||||
{
|
||||
$config_name = $this->get_driver_config_name($driver);
|
||||
$config_name = $driver->get_config_name();
|
||||
|
||||
return array(
|
||||
'allow_avatar_' . $config_name => array('lang' => 'ALLOW_' . strtoupper(str_replace('\\', '_', $config_name)), 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the config name of an avatar driver
|
||||
*
|
||||
* @param object $driver Avatar driver object
|
||||
*
|
||||
* @return string Avatar driver config name
|
||||
*/
|
||||
public function get_driver_config_name($driver)
|
||||
{
|
||||
return $driver->get_config_name();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the template name of an avatar driver
|
||||
*
|
||||
* @param object $driver Avatar driver object
|
||||
*
|
||||
* @return string Avatar driver template name
|
||||
*/
|
||||
public function get_driver_template_name($driver)
|
||||
{
|
||||
return $driver->get_acp_template_name();
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace "error" strings with their real, localized form
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue