]> BookStack Code Mirror - bookstack/blobdiff - app/Book.php
Converted books view setting to user setting
[bookstack] / app / Book.php
index 67bd4f5b224f19bd63017acaf3f76872cb9e83f6..15fbbe5ff737a2f692a35552ecdf62b5669a3017 100644 (file)
@@ -3,7 +3,7 @@
 class Book extends Entity
 {
 
-    protected $fillable = ['name', 'description', 'image'];
+    protected $fillable = ['name', 'description', 'image_id'];
 
     /**
      * Get the url for this book.
@@ -17,7 +17,34 @@ class Book extends Entity
         }
         return baseUrl('/books/' . urlencode($this->slug));
     }
+    
+    /**
+     * Returns book cover image, if book cover not exists return default cover image.
+     * @param int $height - Height of the image
+     * @param int $width - Width of the image
+     * @return string
+     */
+    public function getBookCover($height = 170, $width = 300)
+    {
+        $default = baseUrl('/book_default_cover.png');
+        if (!$this->image_id) return $default;
 
+        try {
+            $cover = $this->cover ? baseUrl($this->cover->getThumb($width, $height, false)) : $default;
+        } catch (\Exception $err) {
+            $cover = $default;
+        }
+        return $cover;
+    }
+    
+    /**
+     * Get the cover image of the book
+     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
+     */
+    public function cover()
+    {
+        return $this->belongsTo(Image::class, 'image_id');
+    }
     /*
      * Get the edit url for this book.
      * @return string