[ticket/17153] Use routing helper instead of controller helper in upload avatar

The controller helper class is not needed, routing helper brings all the
needed functionality already.

PHPBB3-17153
This commit is contained in:
Marc Alexander 2023-07-01 19:31:00 +02:00
parent 4db4a5571b
commit aac7d5a99c
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
4 changed files with 12 additions and 14 deletions

View file

@ -56,11 +56,11 @@ services:
class: phpbb\avatar\driver\upload class: phpbb\avatar\driver\upload
arguments: arguments:
- '@config' - '@config'
- '@controller.helper'
- '%core.root_path%' - '%core.root_path%'
- '%core.php_ext%' - '%core.php_ext%'
- '@storage.avatar' - '@storage.avatar'
- '@path_helper' - '@path_helper'
- '@routing.helper'
- '@event_dispatcher' - '@event_dispatcher'
- '@files.factory' - '@files.factory'
- '@php_ini' - '@php_ini'

View file

@ -15,10 +15,10 @@ namespace phpbb\avatar\driver;
use bantu\IniGetWrapper\IniGetWrapper; use bantu\IniGetWrapper\IniGetWrapper;
use phpbb\config\config; use phpbb\config\config;
use phpbb\controller\helper;
use phpbb\event\dispatcher_interface; use phpbb\event\dispatcher_interface;
use phpbb\files\factory; use phpbb\files\factory;
use phpbb\path_helper; use phpbb\path_helper;
use phpbb\routing\helper;
use phpbb\storage\exception\exception as storage_exception; use phpbb\storage\exception\exception as storage_exception;
use phpbb\storage\storage; use phpbb\storage\storage;
@ -30,7 +30,7 @@ class upload extends \phpbb\avatar\driver\driver
/** /**
* @var helper * @var helper
*/ */
private $controller_helper; private $routing_helper;
/** /**
* @var storage * @var storage
@ -56,23 +56,23 @@ class upload extends \phpbb\avatar\driver\driver
* Construct a driver object * Construct a driver object
* *
* @param config $config phpBB configuration * @param config $config phpBB configuration
* @param helper $controller_helper
* @param string $phpbb_root_path Path to the phpBB root * @param string $phpbb_root_path Path to the phpBB root
* @param string $php_ext PHP file extension * @param string $php_ext PHP file extension
* @param storage $storage phpBB avatar storage * @param storage $storage phpBB avatar storage
* @param path_helper $path_helper phpBB path helper * @param path_helper $path_helper phpBB path helper
* @param helper $routing_helper phpBB routing helper
* @param dispatcher_interface $dispatcher phpBB Event dispatcher object * @param dispatcher_interface $dispatcher phpBB Event dispatcher object
* @param factory $files_factory File classes factory * @param factory $files_factory File classes factory
* @param IniGetWrapper $php_ini ini_get() wrapper * @param IniGetWrapper $php_ini ini_get() wrapper
*/ */
public function __construct(config $config, helper $controller_helper, string $phpbb_root_path, string $php_ext, storage $storage, path_helper $path_helper, dispatcher_interface $dispatcher, factory $files_factory, IniGetWrapper $php_ini) public function __construct(config $config, string $phpbb_root_path, string $php_ext, storage $storage, path_helper $path_helper, helper $routing_helper, dispatcher_interface $dispatcher, factory $files_factory, IniGetWrapper $php_ini)
{ {
$this->config = $config; $this->config = $config;
$this->controller_helper = $controller_helper;
$this->phpbb_root_path = $phpbb_root_path; $this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext; $this->php_ext = $php_ext;
$this->storage = $storage; $this->storage = $storage;
$this->path_helper = $path_helper; $this->path_helper = $path_helper;
$this->routing_helper = $routing_helper;
$this->dispatcher = $dispatcher; $this->dispatcher = $dispatcher;
$this->files_factory = $files_factory; $this->files_factory = $files_factory;
$this->php_ini = $php_ini; $this->php_ini = $php_ini;
@ -84,7 +84,7 @@ class upload extends \phpbb\avatar\driver\driver
public function get_data($row) public function get_data($row)
{ {
return array( return array(
'src' => $this->controller_helper->route('phpbb_storage_avatar', ['file' => $row['avatar']]), 'src' => $this->routing_helper->route('phpbb_storage_avatar', ['file' => $row['avatar']]),
'width' => $row['avatar_width'], 'width' => $row['avatar_width'],
'height' => $row['avatar_height'], 'height' => $row['avatar_height'],
); );

View file

@ -58,6 +58,7 @@ class phpbb_avatar_manager_test extends \phpbb_database_test_case
$phpbb_dispatcher = $dispatcher; $phpbb_dispatcher = $dispatcher;
$controller_helper = $this->createMock('\phpbb\controller\helper'); $controller_helper = $this->createMock('\phpbb\controller\helper');
$routing_helper = $this->createMock('\phpbb\routing\helper');
// $this->avatar_foobar will be needed later on // $this->avatar_foobar will be needed later on
$this->avatar_foobar = $this->getMockBuilder('\phpbb\avatar\driver\foobar') $this->avatar_foobar = $this->getMockBuilder('\phpbb\avatar\driver\foobar')
@ -96,7 +97,7 @@ class phpbb_avatar_manager_test extends \phpbb_database_test_case
{ {
$cur_avatar = $this->getMockBuilder('\phpbb\avatar\driver\\' . $driver) $cur_avatar = $this->getMockBuilder('\phpbb\avatar\driver\\' . $driver)
->setMethods(array('get_name')) ->setMethods(array('get_name'))
->setConstructorArgs(array($this->config, $controller_helper, $phpbb_root_path, $phpEx, $storage, $path_helper, $dispatcher, $files_factory, $php_ini)) ->setConstructorArgs(array($this->config, $phpbb_root_path, $phpEx, $storage, $path_helper, $routing_helper, $dispatcher, $files_factory, $php_ini))
->getMock(); ->getMock();
} }
$cur_avatar->expects($this->any()) $cur_avatar->expects($this->any())

View file

@ -11,8 +11,6 @@
* *
*/ */
use phpbb\controller\helper;
require_once __DIR__ . '/template_test_case.php'; require_once __DIR__ . '/template_test_case.php';
class phpbb_template_extension_test extends phpbb_template_template_test_case class phpbb_template_extension_test extends phpbb_template_template_test_case
@ -68,9 +66,8 @@ class phpbb_template_extension_test extends phpbb_template_template_test_case
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$controller_helper = $this->createMock(helper::class); $routing_helper = $this->createMock(\phpbb\routing\helper::class);
$controller_helper $routing_helper->method('route')
->method('route')
->willReturnCallback(function($route, $params) { ->willReturnCallback(function($route, $params) {
return 'download/avatar/' . $params['file']; return 'download/avatar/' . $params['file'];
}); });
@ -78,7 +75,7 @@ class phpbb_template_extension_test extends phpbb_template_template_test_case
$phpbb_dispatcher = new phpbb_mock_event_dispatcher(); $phpbb_dispatcher = new phpbb_mock_event_dispatcher();
$phpbb_container = new phpbb_mock_container_builder(); $phpbb_container = new phpbb_mock_container_builder();
$files = new phpbb\files\factory($phpbb_container); $files = new phpbb\files\factory($phpbb_container);
$upload_avatar_driver = new phpbb\avatar\driver\upload($config, $controller_helper, $phpbb_root_path, $phpEx, $storage, $phpbb_path_helper, $phpbb_dispatcher, $files, new \bantu\IniGetWrapper\IniGetWrapper()); $upload_avatar_driver = new phpbb\avatar\driver\upload($config, $phpbb_root_path, $phpEx, $storage, $phpbb_path_helper, $routing_helper, $phpbb_dispatcher, $files, new \bantu\IniGetWrapper\IniGetWrapper());
$upload_avatar_driver->set_name('avatar.driver.upload'); $upload_avatar_driver->set_name('avatar.driver.upload');
$phpbb_container->set('avatar.manager', new \phpbb\avatar\manager($config, $phpbb_dispatcher, [ $phpbb_container->set('avatar.manager', new \phpbb\avatar\manager($config, $phpbb_dispatcher, [
$upload_avatar_driver, $upload_avatar_driver,