From 4c47793828ce42cb04b59229b5d0bf76692ba377 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Mon, 27 May 2024 01:47:29 +0900 Subject: [PATCH] Add Context::redirect() method --- classes/context/Context.class.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 22b474895..6b37e4bd4 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -252,9 +252,8 @@ class Context // Redirect to SSL if the current domain requires SSL. if (!RX_SSL && PHP_SAPI !== 'cli' && $site_module_info->security !== 'none' && !$site_module_info->is_default_replaced) { - $ssl_url = self::getDefaultUrl($site_module_info, true) . RX_REQUEST_URL; - self::setCacheControl(0); - header('Location: ' . $ssl_url, true, 301); + $url = self::getDefaultUrl($site_module_info, true) . RX_REQUEST_URL; + self::redirect($url, 301); exit; } @@ -502,6 +501,20 @@ class Context } } + /** + * Redirect + * + * @param string $url + * @param int $status_code + * @param int $ttl + * @return void + */ + public static function redirect(string $url, int $status_code = 302, int $ttl = 0): void + { + header("Location: $url", true, $status_code); + self::setCacheControl($ttl); + } + /** * Load the database information *