aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/controller
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2013-09-12 23:34:34 -0500
committerNathan Guse <nathaniel.guse@gmail.com>2013-09-12 23:34:34 -0500
commitf723491527f7f50b8f85d6385696992916468511 (patch)
tree23e711d8927789dd33f7f4676286bf38c217c2de /phpBB/phpbb/controller
parent0a7508439f20b358f1e51d3f2d8105903588e430 (diff)
parentf22b959257deba0f00a4330df9103c47673032b8 (diff)
downloadforums-f723491527f7f50b8f85d6385696992916468511.tar
forums-f723491527f7f50b8f85d6385696992916468511.tar.gz
forums-f723491527f7f50b8f85d6385696992916468511.tar.bz2
forums-f723491527f7f50b8f85d6385696992916468511.tar.xz
forums-f723491527f7f50b8f85d6385696992916468511.zip
Merge branch 'develop' of github.com:phpbb/phpbb3 into ticket/11373
# By Joseph Warner (188) and others # Via Andreas Fischer (41) and others * 'develop' of github.com:phpbb/phpbb3: (435 commits) [ticket/11745] Correct language, coding guidelines [ticket/11828] Fix greedy operators in lexer [ticket/11835] Fix ucp_auth_link adding in migration [prep-release-3.0.12] Remove changelog entry for ticket that was not resolved. [ticket/develop/11832] Fix path detection [ticket/11833] Prevent Twig errors from invalid template loops using BEGINELSE [ticket/11833] Fix bad template loop [feature/oauth] Fix tabindex [ticket/11816] !$DOESNT_EXIST test [ticket/9550] Add the core.viewtopic_post_rowset_data event to viewtopic.php [ticket/11829] Use report_closed to determine status in MCP report_details [ticket/11825] Move schema_data.php into includes/ instead of phpbb/ [ticket/11215] Remove unnecessary comment [ticket/11755] MySQL upgrader out of date [prep-release-3.0.12] Update Changelog for 3.0.12-RC3 release. [prep-release-3.0.12] Bumping version number for 3.0.12-RC3. [ticket/11823] Set up nginx server to match PHP files with characters after .php [ticket/11812] Fix empty define [ticket/11818] Update Symfony dependencies to 2.3.* [feature/oauth] Fix bug on ucp_auth_link related to error display ...
Diffstat (limited to 'phpBB/phpbb/controller')
-rw-r--r--phpBB/phpbb/controller/helper.php33
-rw-r--r--phpBB/phpbb/controller/resolver.php16
2 files changed, 25 insertions, 24 deletions
diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php
index 74410ddfd1..4d240f9380 100644
--- a/phpBB/phpbb/controller/helper.php
+++ b/phpBB/phpbb/controller/helper.php
@@ -36,6 +36,12 @@ class phpbb_controller_helper
protected $user;
/**
+ * Request object
+ * @var phpbb_request
+ */
+ protected $request;
+
+ /**
* phpBB root path
* @var string
*/
@@ -55,10 +61,11 @@ class phpbb_controller_helper
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP extension
*/
- public function __construct(phpbb_template $template, phpbb_user $user, $phpbb_root_path, $php_ext)
+ public function __construct(phpbb_template $template, phpbb_user $user, phpbb_request_interface $request, $phpbb_root_path, $php_ext)
{
$this->template = $template;
$this->user = $user;
+ $this->request = $request;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
}
@@ -102,22 +109,16 @@ class phpbb_controller_helper
$route = substr($route, 0, $route_delim);
}
- if (is_array($params) && !empty($params))
- {
- $params = array_merge(array(
- 'controller' => $route,
- ), $params);
- }
- else if (is_string($params) && $params)
- {
- $params = 'controller=' . $route . (($is_amp) ? '&amp;' : '&') . $params;
- }
- else
- {
- $params = array('controller' => $route);
- }
+ $request_uri = $this->request->variable('REQUEST_URI', '', false, phpbb_request::SERVER);
+ $script_name = $this->request->variable('SCRIPT_NAME', '', false, phpbb_request::SERVER);
+
+ // If the app.php file is being used (no rewrite) keep it in the URL.
+ // Otherwise, don't include it.
+ $route_prefix = $this->phpbb_root_path;
+ $parts = explode('/', $script_name);
+ $route_prefix .= strpos($request_uri, $script_name) === 0 ? array_pop($parts) . '/' : '';
- return append_sid($this->phpbb_root_path . 'app.' . $this->php_ext . $route_params, $params, $is_amp, $session_id);
+ return append_sid($route_prefix . "$route" . $route_params, $params, $is_amp, $session_id);
}
/**
diff --git a/phpBB/phpbb/controller/resolver.php b/phpBB/phpbb/controller/resolver.php
index 95dfc8da8e..d772507261 100644
--- a/phpBB/phpbb/controller/resolver.php
+++ b/phpBB/phpbb/controller/resolver.php
@@ -38,23 +38,23 @@ class phpbb_controller_resolver implements ControllerResolverInterface
protected $container;
/**
- * phpbb_style object
- * @var phpbb_style
+ * phpbb_template object
+ * @var phpbb_template
*/
- protected $style;
+ protected $template;
/**
* Construct method
*
* @param phpbb_user $user User Object
* @param ContainerInterface $container ContainerInterface object
- * @param phpbb_style $style
+ * @param phpbb_template $template
*/
- public function __construct(phpbb_user $user, ContainerInterface $container, phpbb_style $style = null)
+ public function __construct(phpbb_user $user, ContainerInterface $container, phpbb_template $template = null)
{
$this->user = $user;
$this->container = $container;
- $this->style = $style;
+ $this->template = $template;
}
/**
@@ -96,13 +96,13 @@ class phpbb_controller_resolver implements ControllerResolverInterface
$controller_dir = explode('_', get_class($controller_object));
// 0 phpbb, 1 ext, 2 vendor, 3 extension name, ...
- if (!is_null($this->style) && isset($controller_dir[3]) && $controller_dir[1] === 'ext')
+ if (!is_null($this->template) && isset($controller_dir[3]) && $controller_dir[1] === 'ext')
{
$controller_style_dir = 'ext/' . $controller_dir[2] . '/' . $controller_dir[3] . '/styles';
if (is_dir($controller_style_dir))
{
- $this->style->set_style(array($controller_style_dir, 'styles'));
+ $this->template->set_style(array($controller_style_dir, 'styles'));
}
}