diff options
| author | Joas Schilling <nickvergessen@gmx.de> | 2013-07-14 11:57:53 -0400 | 
|---|---|---|
| committer | Joas Schilling <nickvergessen@gmx.de> | 2013-07-14 11:57:53 -0400 | 
| commit | d7a85ebc245e76038b8ccd56524f045cc92a6c13 (patch) | |
| tree | 66aa645c4d86636f0bce04a7125a7757a466b224 /phpBB/includes/controller/resolver.php | |
| parent | fa3cdb6bf2cfdca9c26168bd258752718bc8a43f (diff) | |
| parent | f6865dc33a8cedb7d21a64401ed80d2edbac36bd (diff) | |
| download | forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.gz forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.bz2 forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.xz forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.zip | |
Merge remote-tracking branch 'igorw/ticket/11574' into ticket/11574
* igorw/ticket/11574: (575 commits)
  [ticket/11702] Fix forum_posts left over for link-click counts in viewforum.php
  [ticket/11696] Move file to new directory
  [ticket/11696] Rename constructor to __construct()
  [ticket/11696] Remove manual loading of db_tools in extension controller test
  [ticket/11696] Rename db_tools.php so it can be autoloaded
  [ticket/11698] Moving all autoloadable files to phpbb/
  [ticket/11694] Do not locate assets with root path
  [ticket/11692] Don't update search_type in dev migration if already appended
  [ticket/11675] Fix template loop
  [ticket/11690] Old module class names may get autoloaded by class_exists
  [ticket/9649] Display information on index for moderators on unapproved posts
  [ticket/10999] Fix assets_version in ACP
  [prep-release-3.0.12] More changelog items for the 3.0.12 release.
  [ticket/11687] Add assets_version to phpbb_config
  [ticket/11686] Not checking for phpBB Debug errors on functional tests
  [ticket/11670] Consistency with logo: Replace "phpBB(tm)" with "phpBB(R)".
  [ticket/11674] Do not include vendor folder if there are no dependencies.
  [ticket/11685] Remove logout confirmation page
  [ticket/11684] Remove useless confirmation page after login and admin login
  [ticket/9657] Define user before injecting
  ...
Diffstat (limited to 'phpBB/includes/controller/resolver.php')
| -rw-r--r-- | phpBB/includes/controller/resolver.php | 128 | 
1 files changed, 0 insertions, 128 deletions
| diff --git a/phpBB/includes/controller/resolver.php b/phpBB/includes/controller/resolver.php deleted file mode 100644 index ee469aa9c8..0000000000 --- a/phpBB/includes/controller/resolver.php +++ /dev/null @@ -1,128 +0,0 @@ -<?php -/** -* -* @package controller -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ -	exit; -} - -use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface; -use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\HttpFoundation\Request; - -/** -* Controller manager class -* @package phpBB3 -*/ -class phpbb_controller_resolver implements ControllerResolverInterface -{ -	/** -	* User object -	* @var phpbb_user -	*/ -	protected $user; - -	/** -	* ContainerInterface object -	* @var ContainerInterface -	*/ -	protected $container; - -	/** -	* Construct method -	* -	* @param phpbb_user $user User Object -	* @param ContainerInterface $container ContainerInterface object -	*/ -	public function __construct(phpbb_user $user, ContainerInterface $container) -	{ -		$this->user = $user; -		$this->container = $container; -	} - -	/** -	* Load a controller callable -	* -	* @param Symfony\Component\HttpFoundation\Request $request Symfony Request object -	* @return bool|Callable Callable or false -	* @throws phpbb_controller_exception -	*/ -	public function getController(Request $request) -	{ -		$controller = $request->attributes->get('_controller'); - -		if (!$controller) -		{ -			throw new phpbb_controller_exception($this->user->lang['CONTROLLER_NOT_SPECIFIED']); -		} - -		// Require a method name along with the service name -		if (stripos($controller, ':') === false) -		{ -			throw new phpbb_controller_exception($this->user->lang['CONTROLLER_METHOD_NOT_SPECIFIED']); -		} - -		list($service, $method) = explode(':', $controller); - -		if (!$this->container->has($service)) -		{ -			throw new phpbb_controller_exception($this->user->lang('CONTROLLER_SERVICE_UNDEFINED', $service)); -		} - -		$controller_object = $this->container->get($service); - -		return array($controller_object, $method); -	} - -	/** -	* Dependencies should be specified in the service definition and can be -	* then accessed in __construct(). Arguments are sent through the URL path -	* and should match the parameters of the method you are using as your -	* controller. -	* -	* @param Symfony\Component\HttpFoundation\Request $request Symfony Request object -	* @param mixed $controller A callable (controller class, method) -	* @return bool False -	* @throws phpbb_controller_exception -	*/ -	public function getArguments(Request $request, $controller) -	{ -		// At this point, $controller contains the object and method name -		list($object, $method) = $controller; -		$mirror = new ReflectionMethod($object, $method); - -		$arguments = array(); -		$parameters = $mirror->getParameters(); -		$attributes = $request->attributes->all(); -		foreach ($parameters as $param) -		{ -			if (array_key_exists($param->name, $attributes)) -			{ -				$arguments[] = $attributes[$param->name]; -			} -			else if ($param->getClass() && $param->getClass()->isInstance($request)) -			{ -				$arguments[] = $request; -			} -			else if ($param->isDefaultValueAvailable()) -			{ -				$arguments[] = $param->getDefaultValue(); -			} -			else -			{ -				throw new phpbb_controller_exception($this->user->lang('CONTROLLER_ARGUMENT_VALUE_MISSING', $param->getPosition() + 1, get_class($object) . ':' . $method, $param->name)); -			} -		} - -		return $arguments; -	} -} | 
