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;
 }