aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions.php
diff options
context:
space:
mode:
authorTristan Darricau <github@nicofuma.fr>2015-01-19 17:52:37 +0100
committerTristan Darricau <github@nicofuma.fr>2015-01-19 17:52:37 +0100
commita537bf9619b5b34f20e5a862910ef5680facd865 (patch)
tree67c92387aa1730de00bc96cbfb5fea40f35a32ad /phpBB/includes/functions.php
parent52ab23626f8cc037d0b857bd987686b3229517f6 (diff)
parentadd3d3e76001c6f0355da37355b0ff89cc8b8f04 (diff)
downloadforums-a537bf9619b5b34f20e5a862910ef5680facd865.tar
forums-a537bf9619b5b34f20e5a862910ef5680facd865.tar.gz
forums-a537bf9619b5b34f20e5a862910ef5680facd865.tar.bz2
forums-a537bf9619b5b34f20e5a862910ef5680facd865.tar.xz
forums-a537bf9619b5b34f20e5a862910ef5680facd865.zip
Merge branch 'develop-ascraeus' into develop
* develop-ascraeus: [ticket/13192] Add test for app.php in external subfolder [ticket/13192] Use ltrim() instead of preg_replace() [ticket/13192] Order test cases consistently [ticket/13192] Remove app.php on mod rewrite even if app.php is outside root [ticket/13192] Pass correct parameters and rename method to get_valid_page [ticket/13192] Use get_valid_user_page in confirm_box() and cleanup globals [ticket/13192] Use get_valid_user_page method in build_url function [ticket/13192] Add method for generating valid user page links
Diffstat (limited to 'phpBB/includes/functions.php')
-rw-r--r--phpBB/includes/functions.php27
1 files changed, 4 insertions, 23 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 0390f3dacb..6a6ec9c84d 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -2398,26 +2398,7 @@ function build_url($strip_vars = false)
{
global $config, $user, $phpbb_path_helper;
- $php_ext = $phpbb_path_helper->get_php_ext();
- $page = $user->page['page'];
-
- // We need to be cautious here.
- // On some situations, the redirect path is an absolute URL, sometimes a relative path
- // For a relative path, let's prefix it with $phpbb_root_path to point to the correct location,
- // else we use the URL directly.
- $url_parts = parse_url($page);
-
- // URL
- if ($url_parts === false || empty($url_parts['scheme']) || empty($url_parts['host']))
- {
- // Remove 'app.php/' from the page, when rewrite is enabled
- if ($config['enable_mod_rewrite'] && strpos($page, 'app.' . $php_ext . '/') === 0)
- {
- $page = substr($page, strlen('app.' . $php_ext . '/'));
- }
-
- $page = $phpbb_path_helper->get_phpbb_root_path() . $page;
- }
+ $page = $phpbb_path_helper->get_valid_page($user->page['page'], $config['enable_mod_rewrite']);
// Append SID
$redirect = append_sid($page, false, false);
@@ -2659,7 +2640,7 @@ function check_form_key($form_name, $timespan = false)
function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_body.html', $u_action = '')
{
global $user, $template, $db, $request;
- global $phpEx, $phpbb_root_path, $request;
+ global $config, $phpbb_path_helper;
if (isset($_POST['cancel']))
{
@@ -2721,8 +2702,8 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
}
// re-add sid / transform & to &amp; for user->page (user->page is always using &)
- $use_page = ($u_action) ? $phpbb_root_path . $u_action : $phpbb_root_path . str_replace('&', '&amp;', $user->page['page']);
- $u_action = reapply_sid($use_page);
+ $use_page = ($u_action) ? $u_action : str_replace('&', '&amp;', $user->page['page']);
+ $u_action = reapply_sid($phpbb_path_helper->get_valid_page($use_page, $config['enable_mod_rewrite']));
$u_action .= ((strpos($u_action, '?') === false) ? '?' : '&amp;') . 'confirm_key=' . $confirm_key;
$template->assign_vars(array(