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

306 lines
13 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 ActivityDaysController extends Controller {
// public function show($id){
//
// $manage_activity_day = ActivityDay::where('activity_schedule_id', $id)->with('scheduleData','activityData')
//// ->where('start_date', '<=',$current_day)
//// ->where('end_date', '>=',$current_day)
//// ->where()
// ->get()
// ->toArray();
//// echo "<pre>"; print_r($manage_activity_day);exit;
// return view('Admin.Pages.manage_activities.activity_days.activity_days')->with(['manage_activity_day' => $manage_activity_day]);
// }
public function show($id) {
$current_day = now()->format('Y-m-d'); // Get the current date in the format "YYYY-MM-DD"
$manage_activity_day = ActivityDay::where('activity_schedule_id', $id)
->with('scheduleData', 'activityData')
->where('date', 'LIKE', "%$current_day%") // Check if the current date is present in the "days" column
->get()
->toArray();
return view('Admin.Pages.manage_activities.activity_days.activity_days')->with(['manage_activity_day' => $manage_activity_day]);
}
public function add($id) {
// dd($id);
$get_single_schedule = ActivitySchedule::find($id)->toArray();
// echo '<pre>';print_r($get_single_schedule);exit;
// dd($get_single_schedule);
$subcription = SubscriptionMaster::all()->toArray();
return view('Admin.Pages.manage_activities.activity_days.add_activity_days')->with(['get_schedule_data' => $get_single_schedule, 'subcriptions' => $subcription]);
}
public function add_upcoming($id) {
$get_single_schedule = ActivitySchedule::find($id)->toArray();
// echo '<pre>';print_r($get_single_schedule);exit;
$subcription = SubscriptionMaster::all()->toArray();
return view('Admin.Pages.manage_activities.activity_days.add_upcoming_activity_day')->with(['get_schedule_data' => $get_single_schedule, 'subcriptions' => $subcription]);
}
public function add_data(Request $request) {
// 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/activity_day';
$file->move($path, $file_name);
}
$activity_day = new ActivityDay;
$activity_day->activity_master_id = $request->input('activity_id');
$activity_day->activity_schedule_id = $request->input('schedule_id');
$activity_day->activity_name = $request->input('main_activity_name');
$activity_day->activity_teaser = url('/public/uploads/activity_banner_images/activity_day/' . $file_name);
$activity_day->activity_duration = $request->input('activity_duration');
$activity_day->description = $request->input('description');
$activity_day->date = $request->input('date');
$activity_day->day = $request->input('day');
$activity_day->time = $request->input('time');
$activity_day->zoom_link = $request->input('zoom_link');
$activity_day->subscription_id = $request->input('subscription_id');
$date = strtotime($request->input('date'));
// Retrieve the ActivityMaster record
$activity_schedule = ActivitySchedule::find($request->input('schedule_id'));
$activity_shedule_start_date = strtotime($activity_schedule->start_date);
$activity_shedule_end_date = strtotime($activity_schedule->end_date);
if ($date >= $activity_shedule_start_date && $date <= $activity_shedule_end_date) {
$activity_day->save();
return response()->json([
'schedule_data' => $activity_day->activity_schedule_id,
'success' => true,
'status' => 200,
]);
} else {
return response()->json([
'error_msg' => 'Start date or end date is not within the activity master range.',
'success' => false,
'status' => 400,
]);
}
}
public function add_upcoming_data(Request $request) {
// 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/activity_day';
$file->move($path, $file_name);
}
$activity_day = new ActivityDay;
$activity_day->activity_master_id = $request->input('activity_id');
$activity_day->activity_schedule_id = $request->input('schedule_id');
$activity_day->activity_name = $request->input('main_activity_name');
$activity_day->activity_teaser = url('/public/uploads/activity_banner_images/activity_day/' . $file_name);
$activity_day->activity_duration = $request->input('activity_duration');
$activity_day->description = $request->input('description');
$activity_day->date = $request->input('date');
$activity_day->day = $request->input('day');
$activity_day->time = $request->input('time');
$activity_day->subscription_id = $request->input('subscription_id');
$activity_day->zoom_link = $request->input('zoom_link');
$date = strtotime($request->input('date'));
// Retrieve the ActivityMaster record
$activity_schedule = ActivitySchedule::find($request->input('schedule_id'));
$activity_shedule_start_date = strtotime($activity_schedule->start_date);
$activity_shedule_end_date = strtotime($activity_schedule->end_date);
if ($date >= $activity_shedule_start_date && $date <= $activity_shedule_end_date) {
$activity_day->save();
return response()->json([
'schedule_data' => $activity_day->activity_schedule_id,
'success' => true,
'status' => 200,
]);
} else {
return response()->json([
'error_msg' => 'Start date or end date is not within the activity master range.',
'success' => false,
'status' => 400,
]);
}
}
public function edit_activity_day($id) {
$manage_activity_day = ActivityDay::where('id', $id)->with('scheduleData', 'activityData')
->get()
->toArray();
// echo "<pre>"; print_r($manage_activity_day);exit;
// return view('Admin.Pages.manage_activities.activity_days.activity_days')->with(['manage_activity_day' => $manage_activity_day]);
// }
$subcription = SubscriptionMaster::all()->toArray();
return view('Admin.Pages.manage_activities.activity_days.edit_activity_days')->with(['manage_activity_day' => $manage_activity_day, 'subcriptions' => $subcription]);
}
//upcoming edit
public function edit_upcoming_activity_day($id) {
$manage_activity_day = ActivityDay::where('id', $id)->with('scheduleData', 'activityData')
->get()
->toArray();
$subcription = SubscriptionMaster::all()->toArray();
return view('Admin.Pages.manage_activities.activity_days.edit_upcoming_activity_day')->with(['manage_activity_day' => $manage_activity_day, 'subcriptions' => $subcription]);
}
public function edit_activity_day_data(Request $request) {
// echo '<pre>';
// print_r($request->all());
// exit;
$activity_day = ActivityDay::find($request->edit_main_activity_id);
$activity_day->activity_name = $request->input('activity_name');
if ($request->file('activity_teaser')) {
$rules = [
'activity_teaser' => '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('activity_teaser');
$ext = $file->extension();
$file_name = time() . '.' . $ext;
$path = public_path() . '/uploads/activity_banner_images/activity_day/';
$file->move($path, $file_name);
$file_name_store = url('/public/uploads/activity_banner_images/activity_day/' . $file_name);
$activity_day->activity_teaser = url('/public/uploads/activity_banner_images/activity_day/' . $file_name);
}
// print_r($file_name_store);exit;
}
$activity_day->activity_duration = $request->input('activity_duration');
$activity_day->description = $request->input('description');
$activity_day->date = $request->input('date');
$activity_day->day = $request->input('day');
$activity_day->time = $request->input('time');
$activity_day->zoom_link = $request->input('zoom_link');
$activity_day->subscription_id = $request->input('subscription_id');
$activity_day->save();
return response()->json(['success' => true, 'status' => 200,'day_data'=>$request->activity_schedule_master_id]);
}
public function edit_upcoming_activity_day_data(Request $request) {
// echo '<pre>';
// print_r($request->all());
// exit;
$activity_day = ActivityDay::find($request->edit_main_activity_id);
$activity_day->activity_name = $request->input('activity_name');
if ($request->activity_teaser) {
$rules = [
'activity_teaser' => '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('activity_teaser');
$ext = $file->extension();
$file_name = time() . '.' . $ext;
$path = public_path() . '/uploads/activity_banner_images/activity_day/';
$file->move($path, $file_name);
$file_name_store = url('/public/uploads/activity_banner_images/activity_day/' . $file_name);
$activity_day->activity_teaser = url('/public/uploads/activity_banner_images/activity_day/' . $file_name);
}
// print_r($file_name_store);exit;
}
$activity_day->activity_duration = $request->input('activity_duration');
$activity_day->description = $request->input('description');
$activity_day->date = $request->input('date');
$activity_day->day = $request->input('day');
$activity_day->time = $request->input('time');
$activity_day->zoom_link = $request->input('zoom_link');
$activity_day->subscription_id = $request->input('subscription_id');
$activity_day->save();
return response()->json(['success' => true, 'status' => 200,'day_data'=>$request->activity_schedule_master_id]);
}
public function upcomimg_days_show($id) {
$current_day = now()->format('Y-m-d'); // Get the current date in the format "YYYY-MM-DD"
$manage_activity_day = ActivityDay::where('activity_schedule_id', $id)
->with('scheduleData', 'activityData')
->where('date', '>', "$current_day") // Check if the current date is present in the "days" column
->get()
->toArray();
return view('Admin.Pages.manage_activities.activity_days.upcoming_activity_days')->with(['manage_activity_day' => $manage_activity_day]);
}
public function delete_activity_days($id) {
// print_r($id);
// exit;
$manage_activity_days = ActivityDay::find($id)->delete();
}
}