Bug tracker
build_url() in functions.php return value has phpbb_path hardcoded (fix completed in vcs)
return $phpbb_root_path . str_replace('&', '&', $redirect);
I was wandering if this could not just be:
return str_replace('&', '&', $redirect);
This removes the hardcoding, and still seems to work fine. This way it allows the bridge to function properly.
Comments / History
I discussed this with nils on the #phpbb-coding irc channel and he suggested I submit this as a bug. I've been working with Nils and David for a couple of years, and pretty much these two bugs are the only ones that are holding us back from having a completely hack-free solution.
You can download the bridge to have a look at how it works here:
http://www.rocekttheme.com/extensions-joomla/rokbridge
or you can see it in action here:
http://www.rockettheme.com/forum
and the phpbb3 url is actually:
http://www.rockettheme.com/distribution
This particular issue with the phpbb3 path being prepended causes certain urls to get the phpbb3 path inserted in like this
http://yoursite.com/bridge_path/phpbb_path/url...
when the bridge is located:
http://yoursite.com/bridge_path/
and phpbb3 is located:
http://yoursite.com/phpbb_path/
Removing that $phpbb_root_path var fixes the problem and we've not noticed any side affects. I'm not sure why it was inserted there. Obviously its your call and you know better than us it's purpose, but right now we have a patching function that removes this reference and that has resolved the issues we were seeing regarding it.
From this bridged page:
http://home.rhuk.net/joomla/rokbridge/forum/index.php
Clicking "Mark forums read" causes:
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 2059: parse_url(/http://home.rhuk.net/joomla/rokbridge/forum/index.php) [function.parse-url]: Unable to parse URL
Then the redirect sends you to:
http://home.rhuk.net/joomla/rokbridge/p ... ark=forums
The removal of that $phpbb_root_path fixes it.
Find :
- Code: Select all
function build_url($strip_vars = false)
Replace with :
- Code: Select all
function build_url($strip_vars = false, $bridge = false)
Find :
- Code: Select all
return ($bridge ? $phpbb_root_path : '') . str_replace('&', '&', $redirect);
Replace with :
- Code: Select all
return ($bridge ? '' : $phpbb_root_path) . str_replace('&', '&', $redirect);
You can use this way in your bridge code
- Code: Select all
build_url( false, true)