mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 10:49:10 -04:00
176 lines
4.8 KiB
PHP
176 lines
4.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use \App\Schedule;
|
|
use function GuzzleHttp\json_encode;
|
|
|
|
class ScheduleController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
return view('admin.configs.schedule',['configs' => \App\Config::all()]);
|
|
}
|
|
|
|
public function update()
|
|
{
|
|
$configs = ['admin_periode_nb'];
|
|
|
|
foreach ($configs as $config) {
|
|
$c = \App\Config::all()->where('name',$config)->first();
|
|
$c->data = [request($config)];
|
|
$c->save();
|
|
}
|
|
|
|
$new_admin_periode_begin = [];
|
|
$new_admin_periode_end = [];
|
|
for ($i=1; $i <= request('admin_periode_nb'); $i++) {
|
|
if(request('admin_periode_begin_'.$i))
|
|
{
|
|
$new_admin_periode_begin[$i] = request('admin_periode_begin_'.$i);
|
|
}
|
|
else
|
|
{
|
|
$new_admin_periode_begin[$i] = "00:00";
|
|
}
|
|
if(request('admin_periode_end_'.$i))
|
|
{
|
|
$new_admin_periode_end[$i] = request('admin_periode_end_'.$i);
|
|
}
|
|
else
|
|
{
|
|
$new_admin_periode_end[$i] = "00:00";
|
|
}
|
|
}
|
|
|
|
$temp = \App\Config::all()->where('name','admin_periode_begin')->first();
|
|
$temp->data = $new_admin_periode_begin;
|
|
$temp->save();
|
|
|
|
$temp = \App\Config::all()->where('name','admin_periode_end')->first();
|
|
$temp->data = $new_admin_periode_end;
|
|
$temp->save();
|
|
|
|
return redirect('/admin/config/schedule')->with('success','Modification sauvegarder avec succes !');
|
|
}
|
|
|
|
public function apiIndex()
|
|
{
|
|
$start = substr(request()->start,0,10);
|
|
$end = substr(request()->end,0,10);
|
|
$allschedules = Schedule::all();
|
|
|
|
$allevents = \App\Event::all();
|
|
$events = [];
|
|
$jsonevents = [];
|
|
$schedules = [];
|
|
|
|
foreach ($allschedules as $schedule) {
|
|
if($schedule->date >= $start && $schedule->date <= $end) {
|
|
array_push($schedules,$schedule);
|
|
}
|
|
}
|
|
|
|
foreach ($allevents as $event) {
|
|
if($event->date_begin >= $start && $event->date_begin <= $end) {
|
|
array_push($events,$event);
|
|
}
|
|
if($event->date_end >= $start && $event->date_end <= $end) {
|
|
array_push($events,$event);
|
|
}
|
|
}
|
|
|
|
|
|
foreach ($schedules as $schedule) {
|
|
|
|
$color = $this->getColor($schedule->type);
|
|
|
|
$event = [
|
|
'title' => $schedule->data['event_name'],
|
|
'start' => $schedule->date.'T'.$schedule->data['event_begin_time'],
|
|
'end' => $schedule->date.'T'.$schedule->data['event_end_time'],
|
|
'color' => $color,
|
|
'id' => $schedule->id
|
|
];
|
|
array_push($jsonevents,$event);
|
|
}
|
|
|
|
foreach ($events as $event) {
|
|
|
|
$color = $this->getColor($event->type);
|
|
|
|
$myevent = [
|
|
'title' => $event->name,
|
|
'start' => $event->date_begin,
|
|
'end' => $event->date_end,
|
|
'color' => $color,
|
|
'id' => $event->id
|
|
];
|
|
array_push($jsonevents,$myevent);
|
|
}
|
|
|
|
return json_encode($jsonevents);
|
|
}
|
|
|
|
public function loadModal($id)
|
|
{
|
|
return view('public.modal.schedule',['event' => \App\Schedule::find($id)]);
|
|
}
|
|
|
|
public function loadModalFull($id)
|
|
{
|
|
return view('admin.schedule.modal.show',['event' => \App\Schedule::find($id)]);
|
|
}
|
|
|
|
public function getColor($type)
|
|
{
|
|
$activity = \App\ComplementaryActivity::all();
|
|
$color = 'blue';
|
|
switch ($type) {
|
|
case 'regular':
|
|
$color = 'orange';
|
|
break;
|
|
|
|
case 'pilotage':
|
|
$color = '#58D3F7';
|
|
break;
|
|
|
|
case 'drill':
|
|
$color = 'blue';
|
|
break;
|
|
|
|
case 'music':
|
|
$color = 'green';
|
|
break;
|
|
|
|
case 'biathlon':
|
|
$color = 'red';
|
|
break;
|
|
|
|
case 'marksmanship':
|
|
$color = 'grey';
|
|
break;
|
|
|
|
case 'founding':
|
|
$color = '#00FF40';
|
|
break;
|
|
|
|
case 'volunteer':
|
|
$color = '#DF0174';
|
|
break;
|
|
|
|
case 'other':
|
|
$color = '#DF0174';
|
|
break;
|
|
|
|
default:
|
|
if ($activity->find($type)) {
|
|
$color = $activity->find($type)->calendar_color;
|
|
}
|
|
break;
|
|
};
|
|
return $color;
|
|
}
|
|
}
|