cms-token/@core/app/Http/Controllers/ImageGalleryPageController.php

145 lines
5.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\ImageGallery;
use App\ImageGalleryCategory;
use App\Language;
use Illuminate\Http\Request;
class ImageGalleryPageController extends Controller
{
public function __construct()
{
$this->middleware('auth:admin');
}
public function index(){
$all_gallery_images = ImageGallery::all()->groupBy('lang');
$all_languages = Language::all();
$all_categories = ImageGalleryCategory::where(['status' => 'publish' ,'lang' => get_default_language()])->get();
return view('backend.image-gallery.image-gallery')->with(['all_gallery_images' => $all_gallery_images,'all_languages' => $all_languages,'all_categories' => $all_categories]);
}
public function store(Request $request){
$this->validate($request,[
'image' => 'required|string',
'title' => 'nullable|string',
'lang' => 'required|string',
'cat_id' => 'required|string',
]);
ImageGallery::create([
'image' => $request->image,
'title' => $request->title,
'lang' => $request->lang,
'cat_id' => $request->cat_id,
]);
return redirect()->back()->with(['msg' => __('New Image Added...'),'type' => 'success']);
}
public function update(Request $request){
$this->validate($request,[
'image' => 'required|string',
'title' => 'nullable|string',
'lang' => 'required|string',
'cat_id' => 'required|string',
]);
ImageGallery::find($request->id)->update([
'image' => $request->image,
'title' => $request->title,
'lang' => $request->lang,
'cat_id' => $request->cat_id,
]);
return redirect()->back()->with(['msg' => __('Image Updated...'),'type' => 'success']);
}
public function delete(Request $request,$id){
ImageGallery::find($id)->delete();
return redirect()->back()->with(['msg' => __('Image Delete...'),'type' => 'danger']);
}
public function bulk_action(Request $request){
$all = ImageGallery::find($request->ids);
foreach($all as $item){
$item->delete();
}
return response()->json(['status' => 'ok']);
}
public function category_index(){
$all_gallery_images = ImageGalleryCategory::all()->groupBy('lang');
$all_languages = Language::all();
return view('backend.image-gallery.image-gallery-category')->with(['all_category' => $all_gallery_images,'all_languages' => $all_languages ]);
}
public function category_store(Request $request){
$this->validate($request,[
'title' => 'required|string',
'status' => 'required|string',
'lang' => 'required|string',
]);
ImageGalleryCategory::create([
'status' => $request->status,
'lang' => $request->lang,
'title' => $request->title,
]);
return redirect()->back()->with(['msg' => __('Category Added...'),'type' => 'success']);
}
public function category_update(Request $request){
$this->validate($request,[
'title' => 'required|string',
'status' => 'required|string',
'lang' => 'required|string',
]);
ImageGalleryCategory::where('id',$request->id)->update([
'status' => $request->status,
'lang' => $request->lang,
'title' => $request->title,
]);
return redirect()->back()->with(['msg' => __('Category Updated...'),'type' => 'success']);
}
public function category_delete(Request $request,$id){
ImageGalleryCategory::find($id)->delete();
return redirect()->back()->with(['msg' => __('Category Delete...'),'type' => 'danger']);
}
public function category_bulk_action(Request $request){
$all = ImageGalleryCategory::find($request->ids);
foreach($all as $item){
if ($request->type == 'delete'){
$item->delete();
}else{
ImageGalleryCategory::find($item->id)->update(['status' => $request->type]);
}
}
return response()->json(['status' => 'ok']);
}
public function category_by_slug(Request $request)
{
$service_category = ImageGalleryCategory::where(['status' => 'publish', 'lang' => $request->lang])->get();
return response()->json($service_category);
}
public function page_settings(){
$all_languages = Language::all();
return view('backend.image-gallery.image-gallery-page-settings')->with(['all_languages' => $all_languages]);
}
public function update_page_settings(Request $request){
$this->validate($request,[
'site_image_gallery_post_items' => 'required',
'site_image_gallery_order' => 'required',
'site_image_gallery_order_by' => 'required',
]);
$all_fields = [
'site_image_gallery_post_items',
'site_image_gallery_order',
'site_image_gallery_order_by'
];
foreach ($all_fields as $field){
update_static_option($field,$request->$field);
}
return redirect()->back()->with(['msg' => __('Settings Updated...'),'type' => 'success']);
}
}