mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
[ticket/15351] Makes confirm_works in a router context (app.php)
PHPBB3-15351
This commit is contained in:
@@ -496,4 +496,17 @@ class path_helper
|
||||
|
||||
return $page;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells if the router is currently in use (if the current page is a route or not)
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function is_router_used()
|
||||
{
|
||||
// Script name URI (e.g. phpBB/app.php)
|
||||
$script_name = $this->symfony_request->getScriptName();
|
||||
|
||||
return basename($script_name) === 'app.' . $this->php_ext;
|
||||
}
|
||||
}
|
||||
|
@@ -91,9 +91,18 @@ class session
|
||||
$page_name .= str_replace('%2F', '/', urlencode($symfony_request_path));
|
||||
}
|
||||
|
||||
// current directory within the phpBB root (for example: adm)
|
||||
$root_dirs = explode('/', str_replace('\\', '/', $phpbb_filesystem->realpath($root_path)));
|
||||
$page_dirs = explode('/', str_replace('\\', '/', $phpbb_filesystem->realpath('./')));
|
||||
if (substr($root_path, 0, 2) === './' && strpos($root_path, '..') === false)
|
||||
{
|
||||
$root_dirs = explode('/', str_replace('\\', '/', rtrim($root_path, '/')));
|
||||
$page_dirs = explode('/', str_replace('\\', '/', '.'));
|
||||
}
|
||||
else
|
||||
{
|
||||
// current directory within the phpBB root (for example: adm)
|
||||
$root_dirs = explode('/', str_replace('\\', '/', $phpbb_filesystem->realpath($root_path)));
|
||||
$page_dirs = explode('/', str_replace('\\', '/', $phpbb_filesystem->realpath('./')));
|
||||
}
|
||||
|
||||
$intersection = array_intersect_assoc($root_dirs, $page_dirs);
|
||||
|
||||
$root_dirs = array_diff_assoc($root_dirs, $intersection);
|
||||
|
Reference in New Issue
Block a user