[ticket/13276] Support PHPBB_USE_BOARD_URL_PATH in web root path

PHPBB3-13276
This commit is contained in:
Marc Alexander 2023-06-30 16:42:27 +02:00
parent 22d6b035d6
commit a686a2f057
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
7 changed files with 15 additions and 17 deletions

View file

@ -3695,15 +3695,11 @@ function phpbb_get_avatar($row, $alt, $ignore_config = false, $lazy = false)
{
if ($lazy)
{
// Determine board url - we may need it later
$board_url = generate_board_url() . '/';
// This path is sent with the base template paths in the assign_vars()
// call below. We need to correct it in case we are accessing from a
// controller because the web paths will be incorrect otherwise.
$phpbb_path_helper = $phpbb_container->get('path_helper');
$corrected_path = $phpbb_path_helper->get_web_root_path();
$web_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? $board_url : $corrected_path;
$web_path = $phpbb_path_helper->get_web_root_path();
$theme = "{$web_path}styles/" . rawurlencode($user->style['style_path']) . '/theme';
@ -3891,15 +3887,12 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
$db->sql_freeresult($result);
}
// Determine board url - we may need it later
$board_url = generate_board_url() . '/';
// This path is sent with the base template paths in the assign_vars()
// call below. We need to correct it in case we are accessing from a
// controller because the web paths will be incorrect otherwise.
/* @var $phpbb_path_helper \phpbb\path_helper */
$phpbb_path_helper = $phpbb_container->get('path_helper');
$corrected_path = $phpbb_path_helper->get_web_root_path();
$web_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? $board_url : $corrected_path;
$web_path = $phpbb_path_helper->get_web_root_path();
// Send a proper content-language to the output
$user_lang = $user->lang['USER_LANG'];
@ -4002,7 +3995,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'_SID' => $_SID,
'SESSION_ID' => $user->session_id,
'ROOT_PATH' => $web_path,
'BOARD_URL' => $board_url,
'BOARD_URL' => generate_board_url() . '/',
'L_LOGIN_LOGOUT' => $l_login_logout,
'L_INDEX' => ($config['board_index_text'] !== '') ? $config['board_index_text'] : $user->lang['FORUM_INDEX'],

View file

@ -1088,7 +1088,7 @@ function smiley_text($text, $force_option = false)
}
else
{
$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_path_helper->get_web_root_path();
$root_path = $phpbb_path_helper->get_web_root_path();
/**
* Event to override the root_path for smilies

View file

@ -189,7 +189,7 @@ function generate_smilies($mode, $forum_id)
if (count($smilies))
{
$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_path_helper->get_web_root_path();
$root_path = $phpbb_path_helper->get_web_root_path();
foreach ($smilies as $row)
{
@ -420,7 +420,7 @@ function update_post_information($type, $ids, $return_update_sql = false)
*/
function posting_gen_topic_icons($mode, $icon_id)
{
global $phpbb_root_path, $config, $template, $cache;
global $phpbb_root_path, $phpbb_path_helper, $config, $template, $cache;
// Grab icons
$icons = $cache->obtain_icons();
@ -432,7 +432,7 @@ function posting_gen_topic_icons($mode, $icon_id)
if (count($icons))
{
$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_root_path;
$root_path = $phpbb_path_helper->get_web_root_path();
foreach ($icons as $id => $data)
{

View file

@ -23,7 +23,7 @@ class local extends \phpbb\avatar\driver\driver
*/
public function get_data($row)
{
$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $this->path_helper->get_web_root_path();
$root_path = $this->path_helper->get_web_root_path();
return array(
'src' => $root_path . $this->config['avatar_gallery_path'] . '/' . $row['avatar'],

View file

@ -62,7 +62,7 @@ class upload extends \phpbb\avatar\driver\driver
*/
public function get_data($row)
{
$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $this->path_helper->get_web_root_path();
$root_path = $this->path_helper->get_web_root_path();
return array(
'src' => $root_path . 'download/file.' . $this->php_ext . '?avatar=' . $row['avatar'],

View file

@ -156,6 +156,11 @@ class path_helper
return $this->web_root_path;
}
if (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH)
{
return $this->web_root_path = generate_board_url() . '/';
}
// We do not need to escape $path_info, $request_uri and $script_name because we can not find their content in the result.
// Path info (e.g. /foo/bar)
$path_info = $this->filesystem->clean_path($this->symfony_request->getPathInfo());

View file

@ -139,7 +139,7 @@ class renderer implements \phpbb\textformatter\renderer_interface
/**
* @see smiley_text()
*/
$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $path_helper->get_web_root_path();
$root_path = $path_helper->get_web_root_path();
$this->set_smilies_path($root_path . $config['smilies_path']);
}