]> BookStack Code Mirror - bookstack/blobdiff - app/helpers.php
Use joint_permissions to determine is a user has an available page or chapter to...
[bookstack] / app / helpers.php
index aca832ea51656434c84079069ef35da4747051a0..383e25c1594e8eac7e5b1b3f6cb2f8d3c3fa8c6e 100644 (file)
@@ -65,6 +65,17 @@ function userCan($permission, Ownable $ownable = null)
     return $permissionService->checkOwnableUserAccess($ownable, $permission);
 }
 
+/**
+ * Check if the current user has the ability to create a page for an existing object
+ * @return bool
+ */
+function userCanCreatePage()
+{
+    // Check for create page permissions
+    $permissionService = app(\BookStack\Auth\Permissions\PermissionService::class);
+    return $permissionService->checkAvailableCreatePageAccess();
+}
+
 /**
  * Helper to access system settings.
  * @param $key
@@ -94,12 +105,12 @@ function baseUrl($path, $forceAppDomain = false)
     }
 
     $path = trim($path, '/');
-    $trimBase = rtrim(config('app.url'), '/');
+    $base = rtrim(config('app.url'), '/');
 
     // Remove non-specified domain if forced and we have a domain
     if ($isFullUrl && $forceAppDomain) {
-        if (strpos($path, $trimBase) === 0) {
-            $path = trim(substr($path, strlen($trimBase) - 1));
+        if (!empty($base) && strpos($path, $base) === 0) {
+            $path = trim(substr($path, strlen($base) - 1));
         }
         $explodedPath = explode('/', $path);
         $path = implode('/', array_splice($explodedPath, 3));
@@ -110,7 +121,7 @@ function baseUrl($path, $forceAppDomain = false)
         return url($path);
     }
 
-    return $trimBase . '/' . $path;
+    return $base . '/' . $path;
 }
 
 /**