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