mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-05-23 07:10:00 +08:00
Updated cover image upload and delete function.
This commit is contained in:
@ -8,7 +8,6 @@ use BookStack\Services\ExportService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Views;
|
||||
use File;
|
||||
|
||||
class BookController extends Controller
|
||||
{
|
||||
@ -69,11 +68,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());
|
||||
}
|
||||
@ -120,36 +115,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 +228,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');
|
||||
}
|
||||
|
Reference in New Issue
Block a user