<?php /* * todo * the middleware auth.admin is from another dependent package. * the javascript and layouts.master-admin is also from another dependent package. */ Route::bind('n1n7a_gallery_category', function ($value) { return \N1n7aXIII\Gallery\Models\GalleryCategory::where('alias', $value)->orWhere('id', $value)->first(); }); /* For Admin */ Route::group(['prefix' => config('gallery.admin_path'), 'namespace' => 'N1n7aXIII\\Gallery', 'middleware' => 'auth.admin'], function () { Route::get('/gallery', ['as' => 'admin.gallery.index', 'uses' => 'GalleryAdminCategoryController@index']); Route::get('/gallery/category/create', ['as' => 'admin.gallery.category.create', 'uses' => 'GalleryAdminCategoryController@create']); Route::post('/gallery/category/store/{n1n7a_gallery_category}', ['as' => 'admin.gallery.category.store', 'uses' => 'GalleryAdminCategoryController@store']); Route::get('/gallery/category/show/{n1n7a_gallery_category}', ['as' => 'admin.gallery.category.show', 'uses' => 'GalleryAdminCategoryController@show']); Route::get('/gallery/category/edit/{n1n7a_gallery_category}', ['as' => 'admin.gallery.category.edit', 'uses' => 'GalleryAdminCategoryController@edit']); Route::put('/gallery/category/update/{n1n7a_gallery_category}', ['as' => 'admin.gallery.category.update', 'uses' => 'GalleryAdminCategoryController@update']); Route::delete('/gallery/category/destroy/{n1n7a_gallery_category}', ['as' => 'admin.gallery.category.destroy', 'uses' => 'GalleryAdminCategoryController@destroy']); Route::get('/gallery/{n1n7a_gallery_category}/item', ['as' => 'admin.gallery.item.create', 'uses' => 'GalleryAdminItemController@create']); Route::post('/gallery/{n1n7a_gallery_category}/item', ['as' => 'admin.gallery.item.store', 'uses' => 'GalleryAdminItemController@store']); Route::get('/gallery/{n1n7a_gallery_category}/item/{id}', ['as' => 'admin.gallery.item.edit', 'uses' => 'GalleryAdminItemController@edit']); Route::put('/gallery/{n1n7a_gallery_category}/item/{id}', ['as' => 'admin.gallery.item.update', 'uses' => 'GalleryAdminItemController@update']); Route::delete('/gallery/{n1n7a_gallery_category}/item/{id}', ['as' => 'admin.gallery.item.destroy', 'uses' => 'GalleryAdminItemController@destroy']); });
protected function storeOrUpdateCategory(GalleryCategory $category, $request) { $category->name = $request->get('name'); $category->alias = str_replace(' ', '-', strtolower($request->get('alias'))) ?: str_replace(' ', '-', strtolower($request->get('name'))); if (!$category->position) { $category->position = GalleryCategory::all()->count() + 1; } $category->save(); $img_dir = config('gallery.gallery_path') . '/' . $category->id . '/'; if (!file_exists($img_dir)) { mkdir($img_dir, 0777, true); } if ($request->hasFile('thumbnail')) { $thumb = $request->file('thumbnail'); if ($thumb->isValid()) { $img_name = 'cat-thumb.' . $thumb->getExtension(); $img = \Image::make($thumb)->fit(config('gallery.category_thumb_width'), config('gallery.category_thumb_height')); if (file_exists($img_dir . $category->thumbnail)) { unlink($img_dir . $category->thumbnail); } $category->thumbnail = $img_name; $img->save($img_dir . $img_name, 80); } } if ($request->has('description')) { $category->description = $request->get('description'); } $category->save(); return true; }