306 lines
13 KiB
PHP
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();
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|