]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/BookController.php
Added migration file.
[bookstack] / app / Http / Controllers / BookController.php
index b64841220b01f8122f3f2cc505e543defafcf579..b6175d8591e5ec6ee1a586c21b2e2517f9c19755 100644 (file)
@@ -8,7 +8,6 @@ use BookStack\Services\ExportService;
 use Illuminate\Http\Request;
 use Illuminate\Http\Response;
 use Views;
-use File;
 
 class BookController extends Controller
 {
@@ -37,12 +36,19 @@ class BookController extends Controller
      */
     public function index()
     {
-        $books = $this->entityRepo->getAllPaginated('book', 16);
+        $books = $this->entityRepo->getAllPaginated('book', 20);
         $recents = $this->signedIn ? $this->entityRepo->getRecentlyViewed('book', 4, 0) : false;
-        $popular = $this->entityRepo->getPopular('book', 3, 0);
-        $books_display = $this->currentUser->books_display;
+        $popular = $this->entityRepo->getPopular('book', 4, 0);
+        $new = $this->entityRepo->getRecentlyCreated('book', 4, 0);
+        $booksViewType = $this->currentUser->books_view_type;
         $this->setPageTitle('Books');
-        return view('books/index', ['books' => $books, 'recents' => $recents, 'popular' => $popular, 'books_display' => $books_display] );
+        return view('books/index', [
+            'books' => $books,
+            'recents' => $recents,
+            'popular' => $popular,
+            'new' => $new, 
+            'booksViewType' => $booksViewType
+        ]);
     }
 
     /**
@@ -69,11 +75,7 @@ class BookController extends Controller
             'name' => 'required|string|max:255',
             'description' => 'string|max:1000'
         ]);
-        $image = $request->file('image');
-        $path = $this->getBookCoverURL($image);
         $book = $this->entityRepo->createFromInput('book', $request->all());
-        $book->image = $path; 
-        $book->save();
         Activity::add($book, 'book_create', $book->id);
         return redirect($book->getUrl());
     }
@@ -90,7 +92,12 @@ class BookController extends Controller
         $bookChildren = $this->entityRepo->getBookChildren($book);
         Views::add($book);
         $this->setPageTitle($book->getShortName());
-        return view('books/show', ['book' => $book, 'current' => $book, 'bookChildren' => $bookChildren]);
+        return view('books/show', [
+            'book' => $book,
+            'current' => $book,
+            'bookChildren' => $bookChildren,
+            'activity' => Activity::entityActivity($book, 20, 0)
+        ]);
     }
 
     /**
@@ -120,36 +127,11 @@ class BookController extends Controller
             'name' => 'required|string|max:255',
             'description' => 'string|max:1000'
         ]);
-         $image = $request->file('image');
-         $path = $this->getBookCoverURL($image);
          $book = $this->entityRepo->updateFromInput('book', $book, $request->all());
-         $book->image = $path; 
-         $book->save();
          Activity::add($book, 'book_update', $book->id);
          return redirect($book->getUrl());
     }
 
-    /**
-     * Generate URL for book cover image
-     * @param  $image
-     * @return $path
-     */
-    private function getBookCoverURL($image)
-    {
-        if(is_null($image))
-        {
-            return;
-        }
-        else
-        {
-            $input = time().'-'.$image->getClientOriginalName();
-            $destinationPath = public_path('uploads/book/');
-            $image->move($destinationPath, $input);
-            $path = baseUrl('/uploads/book/').'/'.$input;
-            return $path;
-        }
-    }
-
     /**
      * Shows the page to confirm deletion
      * @param $bookSlug
@@ -258,8 +240,6 @@ class BookController extends Controller
         $book = $this->entityRepo->getBySlug('book', $bookSlug);
         $this->checkOwnablePermission('book-delete', $book);
         Activity::addMessage('book_delete', 0, $book->name);
-        $file = basename($book->image);
-        File::delete('uploads/book/'.$file);
         $this->entityRepo->destroyBook($book);
         return redirect('/books');
     }