diff options
author | Marc Alexander <admin@m-a-styles.de> | 2013-09-22 22:53:10 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2013-09-22 22:53:10 +0200 |
commit | 01512104b5823d15eed64d362b41b9594f870f0c (patch) | |
tree | 0214f8bb0b271409bdee56960da10b6298bfb35e | |
parent | f5eb0d744e46a2931aa667dbc7a8a4d9ea0229e6 (diff) | |
download | forums-01512104b5823d15eed64d362b41b9594f870f0c.tar forums-01512104b5823d15eed64d362b41b9594f870f0c.tar.gz forums-01512104b5823d15eed64d362b41b9594f870f0c.tar.bz2 forums-01512104b5823d15eed64d362b41b9594f870f0c.tar.xz forums-01512104b5823d15eed64d362b41b9594f870f0c.zip |
[feature/passwords] Use dependency injection for passwords driver helper
The passwords driver helper is now injected into the driver base instead
of being manually loaded.
PHPBB3-11610
-rw-r--r-- | phpBB/config/passwords.yml | 7 | ||||
-rw-r--r-- | phpBB/phpbb/passwords/driver/base.php | 4 | ||||
-rw-r--r-- | phpBB/phpbb/passwords/driver/helper.php | 11 | ||||
-rw-r--r-- | tests/passwords/manager_test.php | 9 |
4 files changed, 14 insertions, 17 deletions
diff --git a/phpBB/config/passwords.yml b/phpBB/config/passwords.yml index efd23d814c..41373fc83f 100644 --- a/phpBB/config/passwords.yml +++ b/phpBB/config/passwords.yml @@ -6,6 +6,7 @@ services: class: phpbb_passwords_driver_bcrypt arguments: - @config + - @passwords.driver_helper calls: - [set_name, [passwords.driver.bcrypt]] tags: @@ -15,6 +16,7 @@ services: class: phpbb_passwords_driver_bcrypt_2y arguments: - @config + - @passwords.driver_helper calls: - [set_name, [passwords.driver.bcrypt_2y]] tags: @@ -24,6 +26,7 @@ services: class: phpbb_passwords_driver_salted_md5 arguments: - @config + - @passwords.driver_helper calls: - [set_name, [passwords.driver.salted_md5]] tags: @@ -33,6 +36,7 @@ services: class: phpbb_passwords_driver_phpass arguments: - @config + - @passwords.driver_helper calls: - [set_name, [passwords.driver.phpass]] tags: @@ -45,6 +49,9 @@ services: tags: - { name: service_collection, tag: passwords.driver } + passwords.driver_helper: + class: phpbb_passwords_driver_helper + passwords.manager: class: phpbb_passwords_manager arguments: diff --git a/phpBB/phpbb/passwords/driver/base.php b/phpBB/phpbb/passwords/driver/base.php index 67cbe4decf..2984dafef7 100644 --- a/phpBB/phpbb/passwords/driver/base.php +++ b/phpBB/phpbb/passwords/driver/base.php @@ -34,10 +34,10 @@ abstract class phpbb_passwords_driver_base implements phpbb_passwords_driver_int * * @return string Hash prefix */ - public function __construct(phpbb_config $config) + public function __construct(phpbb_config $config, phpbb_passwords_driver_helper $helper) { $this->config = $config; - $this->helper = new phpbb_passwords_driver_helper($this); + $this->helper = $helper; } /** diff --git a/phpBB/phpbb/passwords/driver/helper.php b/phpBB/phpbb/passwords/driver/helper.php index dcd07263d5..a50ac8819e 100644 --- a/phpBB/phpbb/passwords/driver/helper.php +++ b/phpBB/phpbb/passwords/driver/helper.php @@ -20,9 +20,6 @@ if (!defined('IN_PHPBB')) */ class phpbb_passwords_driver_helper { - /** @var phpbb_config */ - protected $driver; - /** * base64 alphabet * @var string @@ -30,14 +27,6 @@ class phpbb_passwords_driver_helper public $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; /** - * Constructor of passwords driver helper object - */ - public function __construct($driver) - { - $this->driver = $driver; - } - - /** * Base64 encode hash * * @param string $input Input string diff --git a/tests/passwords/manager_test.php b/tests/passwords/manager_test.php index c695735aa6..d06e09a014 100644 --- a/tests/passwords/manager_test.php +++ b/tests/passwords/manager_test.php @@ -26,12 +26,13 @@ class phpbb_passwords_manager_test extends PHPUnit_Framework_TestCase // Prepare dependencies for manager and driver $config = new phpbb_config(array()); + $driver_helper = new phpbb_passwords_driver_helper; $this->passwords_drivers = array( - 'passwords.driver.bcrypt' => new phpbb_passwords_driver_bcrypt($config), - 'passwords.driver.bcrypt_2y' => new phpbb_passwords_driver_bcrypt_2y($config), - 'passwords.driver.salted_md5' => new phpbb_passwords_driver_salted_md5($config), - 'passwords.driver.phpass' => new phpbb_passwords_driver_phpass($config), + 'passwords.driver.bcrypt' => new phpbb_passwords_driver_bcrypt($config, $driver_helper), + 'passwords.driver.bcrypt_2y' => new phpbb_passwords_driver_bcrypt_2y($config, $driver_helper), + 'passwords.driver.salted_md5' => new phpbb_passwords_driver_salted_md5($config, $driver_helper), + 'passwords.driver.phpass' => new phpbb_passwords_driver_phpass($config, $driver_helper), ); foreach ($this->passwords_drivers as $key => $driver) |