]> BookStack Code Mirror - bookstack/blobdiff - app/Book.php
replace GPL diff lib with MIT lib
[bookstack] / app / Book.php
index de1841459ae26ecc8932ecb912324813a32cd866..919af80a59e746c099aee6f5c166f7998d068575 100644 (file)
@@ -1,35 +1,55 @@
-<?php
-
-namespace BookStack;
+<?php namespace BookStack;
 
 class Book extends Entity
 {
 
     protected $fillable = ['name', 'description'];
 
+    /**
+     * Get the url for this book.
+     * @return string
+     */
     public function getUrl()
     {
         return '/books/' . $this->slug;
     }
 
+    /*
+     * Get the edit url for this book.
+     * @return string
+     */
     public function getEditUrl()
     {
         return $this->getUrl() . '/edit';
     }
 
+    /**
+     * Get all pages within this book.
+     * @return \Illuminate\Database\Eloquent\Relations\HasMany
+     */
     public function pages()
     {
-        return $this->hasMany('BookStack\Page');
+        return $this->hasMany(Page::class);
     }
 
+    /**
+     * Get all chapters within this book.
+     * @return \Illuminate\Database\Eloquent\Relations\HasMany
+     */
     public function chapters()
     {
-        return $this->hasMany('BookStack\Chapter');
+        return $this->hasMany(Chapter::class);
     }
 
+    /**
+     * Get an excerpt of this book's description to the specified length or less.
+     * @param int $length
+     * @return string
+     */
     public function getExcerpt($length = 100)
     {
-        return strlen($this->description) > $length ? substr($this->description, 0, $length-3) . '...' : $this->description;
+        $description = $this->description;
+        return strlen($description) > $length ? substr($description, 0, $length-3) . '...' : $description;
     }
 
 }