mirror of
				https://github.com/phpbb/phpbb.git
				synced 2025-10-27 13:40:28 +01:00 
			
		
		
		
	Moving report.php's content into different services and controllers to better comply with the MVC model. Also implementing: * Replacement for reasons_display() * Adding assign_meta_refresh_var() to \controller\helper * Adding separate routes for easy configuration * Updating unit tests to expect to correct results * Add BC tests PHPBB3-13654
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  *
 | |
|  * This file is part of the phpBB Forum Software package.
 | |
|  *
 | |
|  * @copyright (c) phpBB Limited <https://www.phpbb.com>
 | |
|  * @license GNU General Public License, version 2 (GPL-2.0)
 | |
|  *
 | |
|  * For full copyright and license information, please see
 | |
|  * the docs/CREDITS.txt file.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| namespace phpbb\report;
 | |
| 
 | |
| use phpbb\report\exception\factory_invalid_argument_exception;
 | |
| 
 | |
| class handler_factory
 | |
| {
 | |
| 	/**
 | |
| 	 * @var \Symfony\Component\DependencyInjection\ContainerInterface
 | |
| 	 */
 | |
| 	protected $container;
 | |
| 
 | |
| 	/**
 | |
| 	 * Constructor
 | |
| 	 *
 | |
| 	 * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
 | |
| 	 */
 | |
| 	public function __construct(\Symfony\Component\DependencyInjection\ContainerInterface $container)
 | |
| 	{
 | |
| 		$this->container = $container;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Return a new instance of an appropriate report handler
 | |
| 	 *
 | |
| 	 * @param string	$type
 | |
| 	 * @return \phpbb\report\report_handler_interface
 | |
| 	 * @throws \phpbb\report\exception\factory_invalid_argument_exception if $type is not valid
 | |
| 	 */
 | |
| 	public function get_instance($type)
 | |
| 	{
 | |
| 		switch ($type)
 | |
| 		{
 | |
| 			case 'pm':
 | |
| 				return $this->container->get('phpbb.report.handlers.report_handler_pm');
 | |
| 			break;
 | |
| 			case 'post':
 | |
| 				return $this->container->get('phpbb.report.handlers.report_handler_post');
 | |
| 			break;
 | |
| 		}
 | |
| 
 | |
| 		throw new factory_invalid_argument_exception();
 | |
| 	}
 | |
| }
 |