From f5eb0d744e46a2931aa667dbc7a8a4d9ea0229e6 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 22 Sep 2013 21:17:30 +0200 Subject: [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 --- phpBB/phpbb/passwords/helper.php | 9 ++++++--- phpBB/phpbb/passwords/manager.php | 12 ++++++++---- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'phpBB/phpbb') diff --git a/phpBB/phpbb/passwords/helper.php b/phpBB/phpbb/passwords/helper.php index d91edb90a1..0ce1d3be45 100644 --- a/phpBB/phpbb/passwords/helper.php +++ b/phpBB/phpbb/passwords/helper.php @@ -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; + } } /** diff --git a/phpBB/phpbb/passwords/manager.php b/phpBB/phpbb/passwords/manager.php index cf6eddd135..6cc3510f8e 100644 --- a/phpBB/phpbb/passwords/manager.php +++ b/phpBB/phpbb/passwords/manager.php @@ -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); } } -- cgit v1.2.1