MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 8.0.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/.trash/app.2/Http/Controllers/Admin/LiveEventsController.php
<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Requests\StoreConsultancyRequest;
use App\Http\Requests\UpdateConsultancyRequest;
use App\Role;
use App\User;
use App\Partner;
use App\Volunteer;
use App\Country;
use App\Organization;
use App\Opportunity;
use App\OpportunityVolunteer;
use App\LiveEvent;
use App\Artist;
use Validator;
use Gate;
use URL;
use Auth;
use File;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Notifications\NewUserEmailNotification;
use App\Notifications\NewUser;
use App\Notifications\NewVolunteerApplyEmailNotification;


class LiveEventsController extends Controller
{
    public function index()
    {

        
        //abort_if(Gate::denies('opportunity_access'), Response::HTTP_FORBIDDEN, '403 Forbidden');

        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();
        
        if(in_array('Admin',$role)){
            $user_type = 'Admin';
            $events = LiveEvent::orderBy('created_at','DESC')->get();

            
            
            return view('admin.events.index', compact('events'));
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!');
        }
        
        
    }

    public function create()
    {
        //abort_if(Gate::denies('opportunity_create'), Response::HTTP_FORBIDDEN, '403 Forbidden');

        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        if(in_array('Admin',$role)){
        	$user_type = 'Admin';
            $artists = Artist::where('live_status',1)->get();
            return view('admin.events.create', compact('artists'));
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!');
        }
        
        
    }

    public function store(Request $request)
    {
        //abort_if(Gate::denies('opportunity_create'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        
        $validator = Validator::make($request->all(), 
	        [
	            'event_title'    => [
	                'required',
	                'unique:live_events',
	            ],
	            'start_date' => [
	                'required',
                    
	            ]
	        ]
        );

        if ($validator->fails()) {
            return redirect()->route('admin.events.create')
                        ->withErrors($validator)
                        ->withInput();
        }

        
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){
            //$add_array['opportubity_status'] = 1;
            //$request->merge($add_array);
            $event = LiveEvent::create($request->all());
            
            return redirect()->route('admin.events.edit',$event->id)->with('success','Event Created successfully! Please and remaining details');
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!');
        }
    }

    public function edit(LiveEvent $event)
    {
        $id =  $event->id;
        
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){

        //abort_if(Gate::denies('opportunity_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        
            if(LiveEvent::where('id',$id)->count()){

                $artists = Artist::where('live_status',1)->get();

                return view('admin.events.edit', compact('artists','event'));
            }else{
                return redirect()->route('admin.events.index')->with('error','Event not found!');
            }
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!');
        }
    }

    public function update(Request $request, $id)
    {
        
        //abort_if(Gate::denies('opportunity_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){
            $validator = Validator::make($request->all(), 
                [
                    'event_title'    => [
                        'required',
                        'unique:live_events,event_title,'.$id,
                    ],
                    'event_desc' => [
                        'required',
                    ],
                    'no_of_tickets' => [
                        'required',
                        'integer',
                    ],
                    'event_hours' => [
                        'required',
                    ],
                    'start_date' => [
                        'required',
                    ],
                    'ticket_price' => [
                        'required',
                    ],
                    'address_location' => [
                        'required',
                    ]
                    ,
                    'address_lat' => [
                        'required',
                    ],
                    'address_long' => [
                        'required',
                    ]
                ]
            );
            
            
            if ($validator->fails()) {
                return redirect()->route('admin.events.edit',$id)
                            ->withErrors($validator)
                            ->withInput();
            }
            

            if(LiveEvent::where('id',$id)->count()){
                $event = LiveEvent::find($id);
                
                $add_array = array();
                $artist_ids = $request->event_artist;
                $artist_string = '';
                if(!empty($artist_ids)){$artist_string = implode(',',$artist_ids);}
                $add_array['event_artist'] = $artist_string;
                $request->merge($add_array);

                $event->update($request->all());
                return redirect()->route('admin.events.index')->with('success','Event updated successfully!');
                
            }else{
                return redirect()->route('admin.events.index')->with('error','Event not found!')->withInput();
            }

        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!')->withInput();
        }
    }

    public function show(Request $request,$id)
    {
        //abort_if(Gate::denies('opportunity_show'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){
            if(LiveEvent::where('id',$id)->count()){

                $event = LiveEvent::find($id);
                
                $artists = Artist::where('live_status',1)->pluck('artist_title','id')->toArray();
                
                return view('admin.events.show', compact('event','artists'));
            }else{
                return redirect()->route('admin.events.index')->with('error','Event not found!');
            }
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!')->withInput();
        }

        
    }

    public function destroy(Request $request,$id)
    {
        //abort_if(Gate::denies('opportunity_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden');
        $user = Auth::user();
        $role = $user->roles->pluck('title','id')->toArray();

        $add_array = array();
        if(in_array('Admin',$role)){

            if(LiveEvent::where('id',$id)->count()){

                $event = LiveEvent::find($id);
                $event->delete();
                

                $old_dir = public_path().'/Event/'.$event->id;
                if(File::exists($old_dir)){

                    File::deleteDirectory($old_dir);
                }
                
               return redirect()->route('admin.events.index')->with('success','Event deleted successfully!');
            }else{
                return redirect()->route('admin.events.index')->with('error','Event not found!');
            }
        }else{
            return redirect()->route('admin.home')->with('error','Wrong access!')->withInput();
        }

    }

    public function upload_feature_image(Request $request)
    { 
        if($request->ajax()){
            $field_value = $request->field_value;
            $field_name = $request->field_name;
            $event_id = $request->event_id;


            $user = Auth::user();
            $role = $user->roles->pluck('title','id')->toArray();
            
            if(empty($field_name)){
                return json_encode(array('success' => 'error','msg'=>'Please add Field Name!'));
            }
            
            if(empty($event_id) || !LiveEvent::where('id',$event_id)->get()->count()){
                return json_encode(array('success' => 'error','msg'=>'Please add Event!'));
            }

            if(in_array('Admin',$role)) {

                $folder= public_path().'/Event/'.$event_id;
                if(!is_dir($folder))
                {
                    //File::makeDirectory($folder);
                    File::makeDirectory($folder,0777,true);
                }

                if($request->hasFile('field_value')) {
                    
                    $event = LiveEvent::find($event_id);
                    if(!empty($event->feature_image)){
                        $old_feature_image = public_path().'/Event/'.$event_id.'/'.$event->feature_image;
                        if(File::exists($old_feature_image)){
                            File::delete($old_feature_image);
                            $event->feature_image = '';
                            $event->save();
                        }
                    }
                    
                    $file = $request->file('field_value');
                    $ext = $file->getClientOriginalExtension();
                    $filename = 'feature_image_'.$event_id.'_'.time().'.' . $ext;
                    $destinationPath = $folder;
                    
                    $upload_success = $file->move($destinationPath, $filename);
                    if($upload_success){
                        
                        $event->feature_image = $filename;
                        $event->save();

                        $doc_url = URL::asset('Event').'/'.$event_id.'/'.$filename;
                        $ddd = array('success' => 'done','doc_url'=>$doc_url,'msg'=>'Feature image uploaded successfully!');
                        return json_encode($ddd);
                    }else{
                        return json_encode(array('success' => 'error','doc_name'=>'kk'));
                    }
                }
                return json_encode(array('success' => 'error','doc_name'=>'kk'));
            }

            
        }
    }

    public function delete_feature_image(Request $request)
    { 
        if($request->ajax()){
            $data_col = $request->data_col;
            $event_id = $request->event_id;
            $user = Auth::user();
            $role = $user->roles->pluck('title','id')->toArray();

            if(empty($event_id) || !LiveEvent::where('id',$event_id)->get()->count()){
                return json_encode(array('success' => 'error','msg'=>'Event not Found!'));
            }
            
            if(in_array('Admin',$role)) {
                $event = LiveEvent::find($event_id);
                
                $folder= public_path().'/Event/'.$event_id;
                
                if(isset($event->$data_col) && !empty($event->$data_col)){
                    $old_feature_image = public_path().('/Event').'/'.$event_id.'/'.$event->$data_col;
                    if(File::exists($old_feature_image)){
                        File::delete($old_feature_image);
                    }
                    $event->$data_col = '';
                    $event->save();
                    $doc_url = URL::asset('images/feature_image.png');
                    $ddd = array('success' => 'done','doc_url'=>$doc_url,'msg'=>'Feature Image deleted Successfully!');
                    return json_encode($ddd);
                }else{
                    return json_encode(array('success' => 'error','msg'=>'Field Value Null!'));
                }
            }else{
                return json_encode(array('success' => 'error','msg'=>'Event not Found!'));
            }
        }
        return json_encode(array('success' => 'error','msg'=>'Wrong access'));
    }

  

}