]> BookStack Code Mirror - bookstack/blobdiff - app/helpers.php
Applied baseUrl to login redirect
[bookstack] / app / helpers.php
index 0b9a6afc6347a420185e917d6a7547921bd0fd84..541f23fbe046b4842e8c5df780e7ace8cbc0032d 100644 (file)
@@ -69,10 +69,33 @@ function setting($key, $default = false)
  */
 function baseUrl($path)
 {
+    if (strpos($path, 'http') === 0) return $path;
     $path = trim($path, '/');
     return rtrim(config('app.url'), '/') . '/' . $path;
 }
 
+/**
+ * Get an instance of the redirector.
+ * Overrides the default laravel redirect helper.
+ * Ensures it redirects even when the app is in a subdirectory.
+ *
+ * @param  string|null  $to
+ * @param  int     $status
+ * @param  array   $headers
+ * @param  bool    $secure
+ * @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
+ */
+function redirect($to = null, $status = 302, $headers = [], $secure = null)
+{
+    if (is_null($to)) {
+        return app('redirect');
+    }
+
+    $to = baseUrl($to);
+
+    return app('redirect')->to($to, $status, $headers, $secure);
+}
+
 /**
  * Generate a url with multiple parameters for sorting purposes.
  * Works out the logic to set the correct sorting direction
@@ -102,5 +125,5 @@ function sortUrl($path, $data, $overrideData = [])
 
     if (count($queryStringSections) === 0) return $path;
 
-    return $path . '?' . implode('&', $queryStringSections);
+    return baseUrl($path . '?' . implode('&', $queryStringSections));
 }
\ No newline at end of file