mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[feature/passwords] Use dependency injection for helper
This will now be used instead of manually loading the passwords helper instance in the passwords manager. PHPBB3-11610
This commit is contained in:
parent
1970c69c8c
commit
f5eb0d744e
4 changed files with 21 additions and 9 deletions
|
@ -50,4 +50,8 @@ services:
|
|||
arguments:
|
||||
- @config
|
||||
- @passwords.driver_collection
|
||||
- @passwords.helper
|
||||
- %passwords.algorithm%
|
||||
|
||||
passwords.helper:
|
||||
class: phpbb_passwords_helper
|
||||
|
|
|
@ -26,13 +26,16 @@ class phpbb_passwords_helper
|
|||
protected $manager;
|
||||
|
||||
/**
|
||||
* Construct a phpbb_passwords_helper object
|
||||
* Set the passwords manager instance
|
||||
*
|
||||
* @param phpbb_passwords_manager $manager Crypto manager object
|
||||
*/
|
||||
public function __construct($manager)
|
||||
public function set_manager(phpbb_passwords_manager $manager)
|
||||
{
|
||||
$this->manager = $manager;
|
||||
if ($this->manager === null)
|
||||
{
|
||||
$this->manager = $manager;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -60,15 +60,16 @@ class phpbb_passwords_manager
|
|||
* @param phpbb_config $config phpBB configuration
|
||||
* @param phpbb_di_service_collection $hashing_algorithms Hashing driver
|
||||
* service collection
|
||||
* @param phpbb_passwords_helper $helper Passwords helper object
|
||||
* @param string $default Default driver name
|
||||
*/
|
||||
public function __construct($config, $hashing_algorithms, $default)
|
||||
public function __construct($config, $hashing_algorithms, $helper, $default)
|
||||
{
|
||||
$this->config = $config;
|
||||
$this->type = $default;
|
||||
|
||||
$this->fill_type_map($hashing_algorithms);
|
||||
$this->load_passwords_helper();
|
||||
$this->load_passwords_helper($helper);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -94,12 +95,15 @@ class phpbb_passwords_manager
|
|||
|
||||
/**
|
||||
* Load passwords helper class
|
||||
*
|
||||
* @param phpbb_passwords_helper $helper Passwords helper object
|
||||
*/
|
||||
protected function load_passwords_helper()
|
||||
protected function load_passwords_helper($helper)
|
||||
{
|
||||
if ($this->helper === null)
|
||||
{
|
||||
$this->helper = new phpbb_passwords_helper($this);
|
||||
$this->helper = $helper;
|
||||
$this->helper->set_manager($this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -40,8 +40,9 @@ class phpbb_passwords_manager_test extends PHPUnit_Framework_TestCase
|
|||
$this->phpbb_container->set($key, $driver);
|
||||
}
|
||||
|
||||
// Set up avatar manager
|
||||
$this->manager = new phpbb_passwords_manager($config, $this->passwords_drivers, 'passwords.driver.bcrypt_2y');
|
||||
$this->helper = new phpbb_passwords_helper;
|
||||
// Set up passwords manager
|
||||
$this->manager = new phpbb_passwords_manager($config, $this->passwords_drivers, $this->helper, 'passwords.driver.bcrypt_2y');
|
||||
}
|
||||
|
||||
public function hash_password_data()
|
||||
|
|
Loading…
Add table
Reference in a new issue