]> BookStack Code Mirror - bookstack/blobdiff - app/helpers.php
switch spaces to tabs
[bookstack] / app / helpers.php
index d801edb1a451878d06bd1a6e76a22c0e79ecd26e..9f2f74c18a82c944f0ff01ccfe2a310fd956c5f9 100644 (file)
@@ -30,11 +30,11 @@ function versioned_asset($file = '')
 /**
  * Helper method to get the current User.
  * Defaults to public 'Guest' user if not logged in.
- * @return \BookStack\User
+ * @return \BookStack\Auth\User
  */
 function user()
 {
-    return auth()->user() ?: \BookStack\User::getDefault();
+    return auth()->user() ?: \BookStack\Auth\User::getDefault();
 }
 
 /**
@@ -61,7 +61,7 @@ function userCan($permission, Ownable $ownable = null)
     }
 
     // Check permission on ownable item
-    $permissionService = app(\BookStack\Services\PermissionService::class);
+    $permissionService = app(\BookStack\Auth\Permissions\PermissionService::class);
     return $permissionService->checkOwnableUserAccess($ownable, $permission);
 }
 
@@ -69,11 +69,11 @@ function userCan($permission, Ownable $ownable = null)
  * Helper to access system settings.
  * @param $key
  * @param bool $default
- * @return bool|string|\BookStack\Services\SettingService
+ * @return bool|string|\BookStack\Settings\SettingService
  */
 function setting($key = null, $default = false)
 {
-    $settingService = resolve(\BookStack\Services\SettingService::class);
+    $settingService = resolve(\BookStack\Settings\SettingService::class);
     if (is_null($key)) {
         return $settingService;
     }
@@ -149,15 +149,18 @@ function theme_path($path = '')
  * Get fetch an SVG icon as a string.
  * Checks for icons defined within a custom theme before defaulting back
  * to the 'resources/assets/icons' folder.
+ *
+ * Returns an empty string if icon file not found.
  * @param $name
  * @param array $attrs
  * @return mixed
  */
 function icon($name, $attrs = [])
 {
-    $attrs = array_merge($attrs, [
-        'class' => 'svg-icon'
-    ]);
+    $attrs = array_merge([
+        'class' => 'svg-icon',
+        'data-icon' => $name
+    ], $attrs);
     $attrString = ' ';
     foreach ($attrs as $attrName => $attr) {
         $attrString .=  $attrName . '="' . $attr . '" ';
@@ -167,6 +170,8 @@ function icon($name, $attrs = [])
     $themeIconPath = theme_path('icons/' . $name . '.svg');
     if ($themeIconPath && file_exists($themeIconPath)) {
         $iconPath = $themeIconPath;
+    } else if (!file_exists($iconPath)) {
+        return '';
     }
 
     $fileContents = file_get_contents($iconPath);