[ticket/11626] Create get_acp_template method for auth providers

PHPBB3-11626
This commit is contained in:
Joseph Warner 2013-07-05 13:31:05 -04:00
parent 9c0495664d
commit b0e6b1dd98
4 changed files with 41 additions and 1 deletions

View file

@ -33,5 +33,6 @@ services:
- @dbal.conn
- @config
- @user
- @template
tags:
- { name: auth.provider }

View file

@ -46,6 +46,14 @@ abstract class phpbb_auth_provider_base implements phpbb_auth_provider_interface
return;
}
/**
* {@inheritdoc}
*/
public function get_acp_template($new_config)
{
return;
}
/**
* {@inheritdoc}
*/

View file

@ -71,6 +71,19 @@ interface phpbb_auth_provider_interface
*/
public function acp($new);
/**
* This function updates the template with variables related to the acp
* options with whatever configuraton values are passed to it as an array.
* It then returns the name of the acp file related to this authentication
* provider.
* @param array $new_config Contains the new configuration values that
* have been set in acp_board.
* @return string|null Returns null if not implemented or a string
* containing the name of the acp tempalte file for
* the authentication provider.
*/
public function get_acp_template($new_config);
/**
* Performs additional actions during logout.
*

View file

@ -30,8 +30,9 @@ class phpbb_auth_provider_ldap extends phpbb_auth_provider_base
* @param phpbb_db_driver $db
* @param phpbb_config $config
* @param phpbb_user $user
* @param phpbb_template $template
*/
public function __construct(phpbb_db_driver $db, phpbb_config $config, phpbb_user $user)
public function __construct(phpbb_db_driver $db, phpbb_config $config, phpbb_user $user, phpbb_template $template)
{
$this->db = $db;
$this->config = $config;
@ -331,6 +332,23 @@ class phpbb_auth_provider_ldap extends phpbb_auth_provider_base
);
}
/**
* {@inheritdoc}
*/
public function get_acp_template($new_config)
{
$this->template->assign_vars(array(
'AUTH_LDAP_DN' => $new_config['ldap_base_dn'],
'AUTH_LDAP_EMAIL' => $new_config['ldap_email'],
'AUTH_LDAP_PASSORD' => $new_config['ldap_password'],
'AUTH_LDAP_PORT' => $new_config['ldap_port'],
'AUTH_LDAP_SERVER' => $new_config['ldap_server'],
'AUTH_LDAP_UID' => $new_config['ldap_uid'],
'AUTH_LDAP_USER' => $new_config['ldap_user'],
'AUTH_LDAP_USER_FILTER' => $new_config['ldap_user_filter'],
));
}
/**
* Generates a filter string for ldap_search to find a user
*