Files
vedant-chavan/app/Http/Controllers/Admin/ManageActivitiesController.php
vedant-chavan eff0228447 first commit
2024-06-12 20:29:05 +05:30

380 lines
17 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\ActivityMaster;
use App\Models\SubscriptionMaster;
use App\Models\ActivitySchedule;
use App\Models\ActivityDay;
use App\Models\Teacher;
use App\Models\ManageFaq;
use App\Models\LinkFaqActivityMasterIds;
use App\Models\PastSession;
use File;
use Carbon\Carbon;
use Illuminate\Support\Facades\Validator;
class ManageActivitiesController extends Controller {
public function show_schedule($id) {
$current_day = Carbon::now()->toDateString();
$manage_activity_schedule = ActivitySchedule::where('activity_master_id', $id)
->where('start_date', '<=',$current_day)
->where('end_date', '>=',$current_day)
->get()
->toArray();
// echo "<pre>"; print_r($manage_activity_schedule);exit;
return view('Admin.Pages.manage_activities.summer_sweats.summer_sweat')->with(['manage_activity_schedule' => $manage_activity_schedule]);
}
public function show_upcoming_schedule($id) {
$current_day = Carbon::now()->toDateString();
$manage_activity_schedule = ActivitySchedule::with('subscription')
->where('activity_master_id', $id)
->where('end_date', '>=',$current_day)
->get()
->toArray();
// echo "<pre>"; print_r($manage_activity_schedule);exit;
return view('Admin.Pages.manage_activities.summer_sweats.upcoming_summer_sweat')->with(['manage_activity_schedule' => $manage_activity_schedule]);
}
// public function index() {
// $add_past_session = PastSession::all()->toArray();
//// echo "<pre>"; print_r($add_past_session);exit;
// $manage_activity = ActivityMaster::with('subscription','schedule')->get()->toArray();
//// echo "<pre>";print_r($manage_activity);exit;
// $act_sch = array_column($manage_activity,'schedule');
//// echo "<pre>"; print_r($act_sch);exit;
// return view('Admin.Pages.manage_activities.manage_activity')->with(['data' => $manage_activity,'act_sch'=>$act_sch,'past_session'=>$add_past_session]);
// }
public function index() {
$add_past_session = PastSession::all()->toArray();
$currentDate = date('Y-m-d');
$schedule_data= [];
$manage_upcoming_activity = ActivityMaster::with('subscription', 'schedule')
// ->where('start_date', '<=', $currentDate)
->where('end_date', '>=', $currentDate)
->get()
->toArray();
$manage_live_activity = ActivityMaster::with('subscription', 'schedule')
->where('start_date', '<=', $currentDate)
->where('end_date', '>=', $currentDate)
->get()
->toArray();
// $act_sch = array_column($manage_activity, 'schedule');
// if($manage_activity){
// $activity_master_id = $manage_activity[0]['id'];
// $manage_activity_upcomimg = ActivitySchedule::with('subscription')
// ->where('activity_master_id',$activity_master_id)
// ->where('start_date', '>=' , $currentDate)
// ->get()
// ->toArray();
$manage_past_activity = ActivityMaster::with('subscription')
->where('start_date','<=',$currentDate)
->get()
->toArray();
// }
// echo "<pre>";print_r($manage_activity_past);exit;
// $past_data = [];
// foreach ($schedule_data as $value){
//
// $past_data[$value['id']] = PastSession::where('activity_schedule_id',$value['id'])->get()->toArray();
//// print_r($past_data);
//// exit;
//
// }
// echo '<pre>';print_r($past_data);exit;
// echo "<pre>";print_r($manage_activity_upcomimg);exit;
return view('Admin.Pages.manage_activities.manage_activity')
->with(['data' => $manage_upcoming_activity,'past_session' => $manage_past_activity,'live_data' => $manage_live_activity]);
}
public function insert_main_activity(Request $request) {
// echo "<pre>";print_r($request->all());die;
// for image upload start
// echo "<pre>";
// print_r($request->all());
// exit;
$rules = [
'myFile' => 'required|file|max:400', // 400 KB
];
$validator = Validator::make($request->all(),$rules);
if ($validator->fails()) {
if ($request->expectsJson()) {
return response()->json([
'success' => false,
'status' => 422]);
}
}
else {
$file = $request->file('myFile');
$ext = $file->extension();
$file_name = time() . '.' . $ext;
$path = public_path() . '/uploads/activity_banner_images';
$file->move($path, $file_name);
}
$activity_master = new ActivityMaster;
$activity_master->activity_name = $request->input('activity_name');
$activity_master->title = $request->input('activity_title');
$activity_master->main_activity_banner = url('/public/uploads/activity_banner_images/' . $file_name);
$activity_master->description = $request->input('description');
$activity_master->start_date = $request->input('start_date');
$activity_master->end_date = $request->input('end_date');
$activity_master->teacher_id = $request->input('teacher_id');
// $activity_master->teaser_url = $request->input('video_teaser_url');
$activity_master->benefits = json_encode($request->input('benefits'));
$activity_master->pre_requisites = json_encode($request->input('pre_requisites'));
$activity_master->subscription_id = $request->input('subscription_id');
$activity_master->save();
// dd($activity_master->id);
foreach ($request->input('faq_id') as $faq_id) {
$faqs_activity_Ids = new LinkFaqActivityMasterIds;
$faqs_activity_Ids->faqs_id = $faq_id;
$faqs_activity_Ids->activity_master_id = $activity_master->id;
$faqs_activity_Ids->save();
}
return response()->json([
'activity_data' => $activity_master->id,
'success' => true,
'status' => 200]);
}
public function create_main_activity() {
$subcription = SubscriptionMaster::all()->toArray();
$teacher = Teacher::all()->toArray();
$faqs = ManageFaq::all()->toArray();
return view('Admin.Pages.manage_activities.add_new_main_activities')->with(['subcriptions' => $subcription, 'teacher' => $teacher, 'faqs' => $faqs,]);
}
public function edit_main_activity($id) {
$subcription = SubscriptionMaster::all()->toArray();
$teacher_data = Teacher::all()->toArray();
$faqs_data = ManageFaq::all()->toArray();
$get_manage_activity = ActivityMaster::with('faq_activity_link')->where('id', $id)->first()->toArray();
$act_faq = array_column($get_manage_activity['faq_activity_link'], 'faqs_id');
// for benefits
$get_manage_activity['benefits_array'] = json_decode($get_manage_activity['benefits']);
// for benefits end
// for pre_requisites
$get_manage_activity['Pre_requisites_array'] = json_decode($get_manage_activity['pre_requisites']);
// for pre_requisites end
return view('Admin.Pages.manage_activities.edit_main_activities')->with(['get_manage_activity' => $get_manage_activity, 'subcriptions' => $subcription, 'teacher_datas' => $teacher_data, 'faqs_datas' => $faqs_data, 'act_faq' => $act_faq]);
}
public function edit_upcoming_main_activity($id) {
// dd($id);
$subcription = SubscriptionMaster::all()->toArray();
$teacher_data = Teacher::all()->toArray();
$faqs_data = ManageFaq::all()->toArray();
$get_manage_activity = ActivityMaster::with('faq_activity_link')->where('id', $id)->first()->toArray();
$act_faq = array_column($get_manage_activity['faq_activity_link'], 'faqs_id');
// for benefits
$get_manage_activity['benefits_array'] = json_decode($get_manage_activity['benefits']);
// for benefits end
// for pre_requisites
$get_manage_activity['Pre_requisites_array'] = json_decode($get_manage_activity['pre_requisites']);
// for pre_requisites end
return view('Admin.Pages.manage_activities.edit_upcoming_main_activities')->with(['get_manage_activity' => $get_manage_activity, 'subcriptions' => $subcription, 'teacher_datas' => $teacher_data, 'faqs_datas' => $faqs_data, 'act_faq' => $act_faq]);
}
public function update_main_activity(Request $request) {
// echo "<pre>";print_r($request->all());
$activity_master_id = $request->edit_main_activity_id;
$link_master_id = LinkFaqActivityMasterIds::where('activity_master_id', $request->edit_main_activity_id)->delete();
foreach ($request->input('faq_id') as $faq_id) {
$faqs_activity_Ids = new LinkFaqActivityMasterIds;
$faqs_activity_Ids->faqs_id = $faq_id;
$faqs_activity_Ids->activity_master_id = $request->edit_main_activity_id;
$faqs_activity_Ids->save();
}
if ($request->main_activity_banner) {
$rules = [
'main_activity_banner' => 'required|file|max:400', // 400 KB
];
$validator = Validator::make($request->all(),$rules);
if ($validator->fails()) {
if ($request->expectsJson()) {
return response()->json(['success' => false, 'status' => 422]);
}
}
else {
$file = $request->file('main_activity_banner');
$ext = $file->extension();
$file_name = time() . '.' . $ext;
$path = public_path() . '/uploads/activity_banner_images/';
$file->move($path, $file_name);
$file_name_store = url('/public/uploads/activity_banner_images/' . $file_name);
}
// print_r($file_name_store);
// exit;
} else {
$file_name_store = $request->db_image;
}
// dd($file_name_store);
$activity_master = ActivityMaster::find($request->edit_main_activity_id);
$activity_master->activity_name = $request->input('activity_name');
$activity_master->title = $request->input('activity_title');
$activity_master->description = $request->input('description');
$activity_master->start_date = $request->input('start_date');
$activity_master->end_date = $request->input('end_date');
$activity_master->teacher_id = $request->input('teacher_id');
$activity_master->subscription_id = $request->input('subscription_id');
$activity_master->benefits = $request->input('benefits');
$activity_master->pre_requisites = $request->input('pre_requisites');
$activity_master->main_activity_banner = $file_name_store;
$activity_master->save();
ActivitySchedule::where('activity_master_id',$request->edit_main_activity_id)->update(['subscription_id'=>$request->input('subscription_id')]);
ActivityDay::where('activity_master_id',$request->edit_main_activity_id)->update(['subscription_id'=>$request->input('subscription_id')]);
return response()->json(['success' => true, 'status' => 200]);
}
public function update_upcoming_main_activity(Request $request) {
// echo "<pre>";print_r($request->all());
$activity_master_id = $request->edit_main_activity_id;
$link_master_id = LinkFaqActivityMasterIds::where('activity_master_id', $request->edit_main_activity_id)->delete();
foreach ($request->input('faq_id') as $faq_id) {
$faqs_activity_Ids = new LinkFaqActivityMasterIds;
$faqs_activity_Ids->faqs_id = $faq_id;
$faqs_activity_Ids->activity_master_id = $request->edit_main_activity_id;
$faqs_activity_Ids->save();
}
if ($request->main_activity_banner) {
$file = $request->file('main_activity_banner');
$ext = $file->extension();
$file_name = time() . '.' . $ext;
$path = public_path() . '/uploads/activity_banner_images/';
$file->move($path, $file_name);
$file_name_store = url('/public/uploads/activity_banner_images/' . $file_name);
// print_r($file_name_store);
// exit;
} else {
$file_name_store = $request->db_image;
}
// dd($file_name_store);
$activity_master = ActivityMaster::find($request->edit_main_activity_id);
$activity_master->activity_name = $request->input('activity_name');
$activity_master->title = $request->input('activity_title');
$activity_master->description = $request->input('description');
$activity_master->start_date = $request->input('start_date');
$activity_master->end_date = $request->input('end_date');
$activity_master->teacher_id = $request->input('teacher_id');
$activity_master->subscription_id = $request->input('subscription_id');
$activity_master->teaser_url = $request->input('video_teaser_url');
$activity_master->benefits = $request->input('benefits');
$activity_master->pre_requisites = $request->input('pre_requisites');
$activity_master->main_activity_banner = $file_name_store;
$activity_master->save();
ActivitySchedule::where('activity_master_id',$request->edit_main_activity_id)->update(['subscription_id'=>$request->input('subscription_id')]);
ActivityDay::where('activity_master_id',$request->edit_main_activity_id)->update(['subscription_id'=>$request->input('subscription_id')]);
return response()->json(['success' => true, 'status' => 200]);
}
public function delete_main_activity($id) {
$manage_activity = ActivityMaster::find($id)->delete();
if($manage_activity){
ActivitySchedule::where('activity_master_id',$id)->delete();
ActivityDay::where('activity_master_id',$id)->delete();
}
return response()->json(['success' => true,'status' => 200]);
}
public function edit_past_session($id) {
$pass_session = PastSession::find($id)->toArray();
// echo '<pre>';print_r($pass_session);exit;
return view('Admin.Pages.manage_activities.past_session.edit_past_session')->with(['get_pass_session' => $pass_session]);
}
public function update(Request $request) {
// echo "<pre>";
// print_r($request->all());
// exit;
$currentDate = date('Y-m-d');
$past_session = $request->past_id;
$past_schedule_id = $request->schedule_id;
// print_r($past_schedule_id);
// exit;
$past_session = PastSession::find($request->past_id);
if ($request->hasFile('myFile')) {
$rules = [
'myFile' => 'required|file|max:400', // 400 KB
];
$validator = Validator::make($request->all(),$rules);
if ($validator->fails()) {
if ($request->expectsJson()) {
return response()->json([
'success' => false,
'status' => 422]);
}
}
else {
$path = public_path() . '/uploads/past_session';
File::delete($path . $past_session->image);
$file = $request->file('myFile');
$ext = $file->extension();
$file_name_main_image_old = time() . '.' . $ext;
$file_name_main_image = url('/public/uploads/past_session/' . $file_name_main_image_old);
$file->move($path, $file_name_main_image);
}
} else {
$file_name_main_image = $request->input('db_image');
}
// for image upload end
$past_session->activity_name = $request->input('activity_name');
$past_session->url = $request->input('video_teaser_url');
$past_session->image = $file_name_main_image;
$past_session->duration = $request->input('activity_duration');
$past_session->date = $request->input('date');
$past_session->day = $request->input('day');
$date = strtotime($request->input('date'));
if ($date <= $currentDate) {
$past_session->save();
return response()->json(['success' => true, 'status' => 200,'id' => $past_schedule_id]);
} else {
return response()->json([
'error_msg' => 'Date is not greter than current date.',
'success' => false,
'status' => 400,
]);
}
}
public function delete_past_session($id) {
$past_session = PastSession::find($id)->delete();
}
}