]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/System.php
Merge pull request #7255 from annando/issue-7223
[friendica.git] / src / Core / System.php
index e2966a9b0e8df7d69b96fb765a76da40503aad19..42587577dae573105a9f6ce462a0556fb7d8d5d2 100644 (file)
@@ -223,15 +223,30 @@ class System extends BaseObject
         * Redirects to an external URL (fully qualified URL)
         * If you want to route relative to the current Friendica base, use App->internalRedirect()
         *
-        * @param string $url The new Location to redirect
+        * @param string $url  The new Location to redirect
+        * @param int    $code The redirection code, which is used (Default is 302)
+        *
         * @throws InternalServerErrorException If the URL is not fully qualified
         */
-       public static function externalRedirect($url)
+       public static function externalRedirect($url, $code = 302)
        {
                if (empty(parse_url($url, PHP_URL_SCHEME))) {
                        throw new InternalServerErrorException("'$url' is not a fully qualified URL, please use App->internalRedirect() instead");
                }
 
+               switch ($code) {
+                       case 302:
+                               // this is the default code for a REDIRECT
+                               // We don't need a extra header here
+                               break;
+                       case 301:
+                               header('HTTP/1.1 301 Moved Permanently');
+                               break;
+                       case 307:
+                               header('HTTP/1.1 307 Temporary Redirect');
+                               break;
+               }
+
                header("Location: $url");
                exit();
        }