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 within the manager method. 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. PHPBB3-14387
This commit is contained in:
parent
14dc274e9e
commit
06f4b6926b
5 changed files with 31 additions and 4 deletions
|
@ -672,9 +672,9 @@ class acp_groups
|
||||||
$driver = $phpbb_avatar_manager->get_driver($current_driver);
|
$driver = $phpbb_avatar_manager->get_driver($current_driver);
|
||||||
|
|
||||||
$avatars_enabled = true;
|
$avatars_enabled = true;
|
||||||
$config_name = $phpbb_avatar_manager->get_driver_config_name($driver);
|
$template_name = $phpbb_avatar_manager->get_driver_template_name($driver);
|
||||||
$template->set_filenames(array(
|
$template->set_filenames(array(
|
||||||
'avatar' => "acp_avatar_options_{$config_name}.html",
|
'avatar' => $template_name,
|
||||||
));
|
));
|
||||||
|
|
||||||
if ($driver->prepare_form($request, $template, $user, $avatar_data, $avatar_error))
|
if ($driver->prepare_form($request, $template, $user, $avatar_data, $avatar_error))
|
||||||
|
|
|
@ -1878,9 +1878,9 @@ class acp_users
|
||||||
$driver = $phpbb_avatar_manager->get_driver($current_driver);
|
$driver = $phpbb_avatar_manager->get_driver($current_driver);
|
||||||
|
|
||||||
$avatars_enabled = true;
|
$avatars_enabled = true;
|
||||||
$config_name = $phpbb_avatar_manager->get_driver_config_name($driver);
|
$template_name = $phpbb_avatar_manager->get_driver_template_name($driver);
|
||||||
$template->set_filenames(array(
|
$template->set_filenames(array(
|
||||||
'avatar' => "acp_avatar_options_{$config_name}.html",
|
'avatar' => $template_name,
|
||||||
));
|
));
|
||||||
|
|
||||||
if ($driver->prepare_form($request, $template, $user, $avatar_data, $error))
|
if ($driver->prepare_form($request, $template, $user, $avatar_data, $error))
|
||||||
|
|
|
@ -127,6 +127,14 @@ abstract class driver implements \phpbb\avatar\driver\driver_interface
|
||||||
return preg_replace('#^phpbb\\\\avatar\\\\driver\\\\#', '', get_class($this));
|
return preg_replace('#^phpbb\\\\avatar\\\\driver\\\\#', '', get_class($this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function get_acp_template_name()
|
||||||
|
{
|
||||||
|
return 'acp_avatar_options_' . $this->get_config_name() . '.html';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the name of the driver.
|
* Sets the name of the driver.
|
||||||
*
|
*
|
||||||
|
|
|
@ -117,4 +117,11 @@ interface driver_interface
|
||||||
* @return string Avatar driver's template name
|
* @return string Avatar driver's template name
|
||||||
*/
|
*/
|
||||||
public function get_template_name();
|
public function get_template_name();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the avatar driver's template name (ACP)
|
||||||
|
*
|
||||||
|
* @return string Avatar driver's template name
|
||||||
|
*/
|
||||||
|
public function get_acp_template_name();
|
||||||
}
|
}
|
||||||
|
|
|
@ -279,6 +279,18 @@ class manager
|
||||||
return $driver->get_config_name();
|
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
|
* Replace "error" strings with their real, localized form
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Reference in a new issue