/** * Allows a redirection URL respecting the HTTP status code for search engines friendly. * * @static * @param string $sUrl Default NULL, so it's the current URL. * @param string $sMessage Default NULL, so no message. * @param string $sType Type of message: "success", "info", "warning" or "error". Default: "success". * @param integer $iRedirectCode Default NULL, so the redirect code will be "301". * @return void */ public static function redirect($sUrl = null, $sMessage = null, $sType = 'success', $iRedirectCode = null) { if (!Http::getStatusCodes($iRedirectCode)) { $iRedirectCode = 301; } Http::setHeadersByCode(Http::getStatusCodes($iRedirectCode)); $oHttpRequest = new HttpRequest(); $sUrl = !empty($sUrl) ? $sUrl : $oHttpRequest->currentUrl(); $sUrl = $oHttpRequest->pH7Url($sUrl); unset($oHttpRequest); if (!empty($sMessage)) { (new \PH7\Framework\Layout\Html\Design())->setFlashMsg($sMessage, $sType); } header('Location: ' . $sUrl); exit; }