<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Gallery;
use Input;
use File;
use App\FileData;

class GalleryController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function getIndex()
    {
        return view('Admin.Gallery');
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function getdelimage(Request $req)
    {
        $file= $req->index;
        $filename = public_path().'/img/Gallery/'.$file;
        File::delete($filename);
        FileData::where('file_name','=',$file)->delete();
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
         $this->validate($request, [
            'title'=>'unique:galleries',
            'image' => 'required',
             'description' => 'required',
]);
                 // get the files
            $files = Input::file('image');
            // counting of uploaded images
            $file_count = count($files);
  // start count how many uploaded
            $i = 0;

        $save =new Gallery;
        $save->title=$request->title;
        $save->title_nepali=$request->title_nepali;
        $save->image_number=$file_count;
        $save->description=$request->description;
        $save->description_nepali=$request->description_nepali;
        $save->token=AdminlogController::getToken('Gallery');
        $save->save();
        AdminlogController::FileSaver( $request,'Gallery',800,500);

           
        return redirect('admin_gallery')->with('info', 'Data Saved Successfully!');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
       $last=Gallery::where('id',$id)->first();
               // get the files
        $files = Input::file('image');
            // counting of uploaded images
        $file_count = count($files);
         $new_count=0;
         $new_count=AdminLogController::FileUpdater($request,'Gallery',800,500,$last->image_number,$last->token);

        

        $data=array(

        'title'=>$request->title,
        'description'=>$request->description,
        'image_number'=>$last->image_number+$file_count,
        
        'title_nepali'=>$request->title_nepali,
        'description_nepali'=>$request->description_nepali,
        
          
);


        Gallery::where('id',$id)->update($data);
        return redirect('admin_gallery')->with('info', 'Data updated Successfully!');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}
