Added image name editing & deleting

This commit is contained in:
Dan Brown
2015-08-16 00:18:22 +01:00
parent b0808a1c24
commit e5a372ffbd
10 changed files with 201 additions and 64 deletions

View File

@ -10,6 +10,9 @@ use Intervention\Image\Facades\Image as ImageTool;
use Illuminate\Support\Facades\DB;
use Oxbow\Http\Requests;
use Oxbow\Image;
use RecursiveDirectoryIterator;
use RecursiveIteratorIterator;
use RegexIterator;
class ImageController extends Controller
{
@ -71,7 +74,7 @@ class ImageController extends Controller
*/
public function getAll($page = 0)
{
$pageSize = 25;
$pageSize = 30;
$images = DB::table('images')->orderBy('created_at', 'desc')
->skip($page*$pageSize)->take($pageSize)->get();
foreach($images as $image) {
@ -146,5 +149,44 @@ class ImageController extends Controller
return response()->json($this->image);
}
/**
* Update image details
* @param $imageId
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function update($imageId, Request $request)
{
$this->validate($request, [
'name' => 'required|min:2|string'
]);
$image = $this->image->findOrFail($imageId);
$image->fill($request->all());
$image->save();
return response()->json($this->image);
}
/**
* Deletes an image and all thumbnail/image files
* @param $id
* @return \Illuminate\Http\JsonResponse
*/
public function destroy($id)
{
$image = $this->image->findOrFail($id);
// Delete files
$folder = public_path() . dirname($image->url);
$pattern = '/' . preg_quote(basename($image->url)). '/';
$dir = new RecursiveDirectoryIterator($folder);
$ite = new RecursiveIteratorIterator($dir);
$files = new RegexIterator($ite, $pattern, RegexIterator::ALL_MATCHES);
foreach($files as $path => $file) {
unlink($path);
}
$image->delete();
return response()->json('Image Deleted');
}
}