use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Views;
+use File;
class BookController extends Controller
{
*/
public function index()
{
- $books = $this->entityRepo->getAllPaginated('book', 10);
+ $books = $this->entityRepo->getAllPaginated('book', 16);
$recents = $this->signedIn ? $this->entityRepo->getRecentlyViewed('book', 4, 0) : false;
- $popular = $this->entityRepo->getPopular('book', 4, 0);
+ $popular = $this->entityRepo->getPopular('book', 3, 0);
+ $books_display = $this->currentUser->books_display;
$this->setPageTitle('Books');
- return view('books/index', ['books' => $books, 'recents' => $recents, 'popular' => $popular, 'display' => $display]); //added displaly to access user display
+ return view('books/index', ['books' => $books, 'recents' => $recents, 'popular' => $popular, 'books_display' => $books_display] );
}
/**
'description' => 'string|max:1000'
]);
$image = $request->file('image');
- $input = time().'-'.$image->getClientOriginalName();
- $destinationPath = public_path('uploads/book/');
- $image->move($destinationPath, $input);
- $path = baseUrl('/uploads/book/').'/'.$input;
+ $path = $this->getBookCoverURL($image);
$book = $this->entityRepo->createFromInput('book', $request->all());
$book->image = $path;
$book->save();
'name' => 'required|string|max:255',
'description' => 'string|max:1000'
]);
-
- $input = $request->file('image')->getClientOriginalName();
- echo $input;
- $destinationPath = public_path('uploads/book/');
- $request->file('image')->move($destinationPath, $input);
- $path = baseUrl('/uploads/book/').'/'.$input;
+ $image = $request->file('image');
+ $path = $this->getBookCoverURL($image);
$book = $this->entityRepo->updateFromInput('book', $book, $request->all());
$book->image = $path;
$book->save();
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
$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');
}