diff options
-rw-r--r-- | phpBB/phpbb/path_helper.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/phpBB/phpbb/path_helper.php b/phpBB/phpbb/path_helper.php index 71252ac05b..f6587fa101 100644 --- a/phpBB/phpbb/path_helper.php +++ b/phpBB/phpbb/path_helper.php @@ -183,4 +183,28 @@ class path_helper */ return $this->web_root_path = $this->phpbb_root_path . str_repeat('../', $corrections - 1); } + + /** + * Get the redirect URL for controllers + * + * @param string $url URL to the controller + * + * @param string Redirect URL for controller + */ + public function get_controller_redirect_url($url) + { + // Remove predecing dots + $url = ltrim($this->remove_web_root_path($url), '.'); + + // Get position of URL delimiter + $delimiter_position = strpos($url, '/'); + + // Add URL delimiter in front of path if it doesn't exist + if ($delimiter_position === false || $delimiter_position > 1) + { + $url = '/' . $url; + } + + return generate_board_url() . $url; + } } |