/** * Redirect * * This function redirects the client. This is done by issuing * a "Location" header and exiting if wanted. If you set $rfc2616 to true * HTTP will output a hypertext note with the location of the redirect. * * @static * @access public * @return mixed Returns true on succes (or exits) or false if headers * have already been sent. * @param string $url URL where the redirect should go to. * @param bool $exit Whether to exit immediately after redirection. * @param bool $rfc2616 Wheter to output a hypertext note where we're * redirecting to (Redirecting to <a href="...">...</a>.) */ function redirect($url, $exit = true, $rfc2616 = false) { if (headers_sent()) { return false; } $url = HTTP::absoluteURI($url); CSRF::header('Location: ' . $url); if ($rfc2616 && isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'HEAD') { printf('Redirecting to: <a href="%s">%s</a>.', $url, $url); } if ($exit) { exit; } return true; }