/**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($idE, Request $request, Guard $auth)
 {
     $user = $auth->user();
     $enfant = Enfant::findOrFail($idE);
     if ($user->enfants()->where('enfants.id', $idE)->count() == 0 && $user->niveau == 0) {
         return redirect(route('reguliere.index'));
     }
     $data = $request->all();
     $data['jour'] = date('Y-m-d', strtotime($data['jour']));
     $data['enfant_id'] = $idE;
     $data['modificate_by'] = $user->niveau;
     $days = Exceptionnelle::where('jour', $data['jour'])->where('enfant_id', $idE)->get();
     $error = 0;
     $heure = date("H:i:s");
     $jour = date("Y-m-d");
     if ($data['type'] == 'bus') {
         foreach ($days as $day) {
             if ($day->type == 'bus') {
                 $error = 1;
             }
         }
         if ($error == 0) {
             if (isset($data['soir'])) {
                 if ($heure > '15:30:00' && $jour == $data['jour']) {
                     $error = 2;
                 } else {
                     $data['type'] = 'bus_soir';
                     $creation = Exceptionnelle::create($data);
                 }
             }
             if (isset($data['matin'])) {
                 if ($jour == $data['jour'] && $heure > '07:15:00') {
                     $error = 3;
                 } else {
                     $data['type'] = 'bus_matin';
                     $creation = Exceptionnelle::create($data);
                 }
             }
         } else {
             return view('calendrier.exceptionnelle', compact('idE', 'error'));
         }
     } else {
         foreach ($days as $day) {
             if ($day->type == 'cantine') {
                 $error = 1;
             }
         }
         if ($error == 0) {
             $creation = Exceptionnelle::create($data);
         } else {
             return view('calendrier.exceptionnelle', compact('idE', 'error'));
         }
     }
     return redirect(route('inscription.show', $idE, $request));
 }
 public function testInscription(Request $request)
 {
     if (!$request->ajax()) {
         abort(404);
     }
     $data = $request->all();
     $dates = $data['date'];
     if (date('N', strtotime($dates)) >= 6) {
         return response()->json(['response' => 'week_end']);
     }
     if (Feries::est_ferie($dates) == true) {
         return response()->json(['response' => 'ferie']);
     }
     $xmlurl = 'http://telechargement.index-education.com/vacances.xml';
     $xml = simplexml_load_file($xmlurl);
     $calendrier = $xml->calendrier;
     $json = json_encode($calendrier->zone[2]);
     $tab = json_decode($json, true);
     foreach ($tab['vacances'] as $vac) {
         $debut = date('Y-m-d', strtotime($vac['@attributes']['debut']));
         $fin = date('Y-m-d', strtotime($vac['@attributes']['fin']));
         if ($dates > $debut && $dates < $fin) {
             return response()->json(['response' => 'vacances']);
         }
     }
     $type = $data['type'];
     $id = $data['id'];
     $exep = Exceptionnelle::where('enfant_id', $id)->where('type', $type)->where('jour', $dates)->get()->count();
     if ($exep == 1) {
         return response()->json(['response' => 'fail']);
     }
     $reg = Reguliere::where('enfant_id', $id)->where('type', $type)->first();
     if ($reg != null && $reg->count() != 0) {
         $jours = str_split($reg->jours);
         $day = date('w', strtotime($dates));
         if (in_array($day, $jours)) {
             return response()->json(['ok' => 'Desinscription']);
         }
     }
     return response()->json(['ok' => 'Inscription']);
 }