2012-04-12, 02:17 PM
Ah, I missed the curly bracket. try this instead:
/**
* Redirect the user to a given URL with a given message
*
* @param string The URL to redirect the user to
* @param string The redirection message to be shown
*/
function redirect($url, $message="", $title="")
{
global $header, $footer, $mybb, $theme, $headerinclude, $templates, $lang, $plugins;
$redirect_args = array('url' => &$url, 'message' => &$message, 'title' => &$title);
$plugins->run_hooks("redirect", $redirect_args);
if($mybb->input['ajax'])
{
// Send our headers.
@header("Content-type: text/html; charset={$lang->settings['charset']}");
echo "<script type=\"text/javascript\">\n";
if($message != "")
{
echo 'alert("'.addslashes($message).'");';
}
$url = str_replace("#", "&#", $url);
$url = htmlspecialchars_decode($url);
$url = str_replace(array("\n","\r",";"), "", $url);
echo 'window.location = "'.addslashes($url).'";'."\n";
echo "</script>\n";
exit;
}
if(!$message)
{
$message = $lang->redirect;
}
$time = TIME_NOW;
$timenow = my_date($mybb->settings['dateformat'], $time) . " " . my_date($mybb->settings['timeformat'], $time);
if(!$title)
{
$title = $mybb->settings['bbname'];
}
// Show redirects only if both ACP and UCP settings are enabled, or ACP is enabled, and user is a guest.
if($mybb->settings['redirects'] == 1 && ($mybb->user['showredirect'] != 0 || !$mybb->user['uid']) && (THIS_SCRIPT != 'search.php'))
{
$url = htmlspecialchars($url);
eval("\$redirectpage = \"".$templates->get("redirect")."\";");
output_page($redirectpage);
}
else
{
$url = htmlspecialchars_decode($url);
$url = str_replace(array("\n","\r",";"), "", $url);
run_shutdown();
if(my_substr($url, 0, 7) !== 'http://' && my_substr($url, 0, 8) !== 'https://')
{
header("Location: {$mybb->settings['bburl']}/{$url}");
}
else
{
header("Location: {$url}");
}
}
exit;
}