예제 #1
0
 /**
  * Retourne un JSON contenant les horaires aller et retour
  * En fonction des paramètres idLigne, date et heureMin
  */
 public function getHoraires($idLigne, $date, $heureMin)
 {
     $heure = explode(':', $heureMin)[0];
     $minute = explode(':', $heureMin)[1];
     $horaires = Horaire::getHorairesByLigne($idLigne, $date, $heure, $minute);
     return Response::json($horaires);
 }
예제 #2
0
 public function updateHoraire()
 {
     $data = Input::all();
     extract($data);
     // $nomArret, $course, $idTypeSemaine, $idLigne, $sens
     $idArret = Arret::findIdByName($nomArret);
     dd(Horaire::changeHoraire($idArret, $course, $idTypeSemaine, $idLigne, $sens));
 }
예제 #3
0
 /**
  * Infos pop-up clic marqueur bus
  */
 public function getInfos()
 {
     $infoBus = Service::find(Input::get('service'));
     $ligne = $infoBus->ligne;
     $service = $infoBus->service;
     $heure = date('H:i:s');
     $arretSuivant = Horaire::getNextArret($heure, $service);
     return Response::json($arretSuivant);
 }
예제 #4
0
 public static function getNextArret($heure, $service)
 {
     $query = Horaire::where('service', '=', $service)->where('heure', '>', $heure)->orderBy('heure')->take(1)->lists('idArret', 'sens');
     foreach ($query as $Rsens => $RidArret) {
         $sens = $Rsens;
         $idArret = $RidArret;
     }
     if (isset($idArret)) {
         $ligne = $service[0];
         $nomArret = trim(ucfirst(strtolower(Arret::findNameById($idArret))));
         $nomSens = Ligne::findLibelleSens($service[0], $sens);
     } else {
         return false;
     }
     return [$nomSens, $nomArret];
 }
예제 #5
0
 public function horaireGeneratePDF($idLigne)
 {
     $largeurNomArret = 35;
     $maxCourses = 15;
     $couleurPair = [236, 240, 241];
     $couleurImpair = [255, 255, 255];
     $couleurActuelle = 0;
     require public_path() . '/lib/fpdf/fpdf.php';
     $date = date('d-m-Y');
     $horaires = Horaire::getHorairesByLigne($idLigne, $date, '00', '00');
     $idSemaine = array_keys($horaires)[0];
     $arret = array_keys($horaires[$idSemaine]['aller'])[0];
     $courses = count($horaires[$idSemaine]['aller'][$arret]);
     $largeurCol = (277 - $largeurNomArret) / $courses;
     $count = 0;
     $pdf = new FPDF('L');
     $pdf->SetTopMargin(5);
     $pdf->AddPage();
     $pdf->SetFont('Arial', 'B', 7);
     $pdf->SetFillColor($couleurImpair[0], $couleurImpair[1], $couleurImpair[2]);
     if ($courses <= $maxCourses) {
         foreach ($horaires[$idSemaine]['aller'] as $nomArret => $horaires) {
             $pdf->Cell($largeurNomArret, 6, $nomArret, 0, 0);
             foreach ($horaires as $horaire) {
                 if ($horaire == '00:00:00') {
                     $pdf->Cell($largeurCol, 6, str_limit('', 5, $end = ''), 0, 0, 'C', true);
                 } else {
                     $pdf->Cell($largeurCol, 6, str_limit($horaire, 5, $end = ''), 0, 0, 'C', true);
                 }
             }
             $pdf->Ln();
             if ($couleurActuelle) {
                 $pdf->SetFillColor($couleurImpair[0], $couleurImpair[1], $couleurImpair[2]);
                 $couleurActuelle = 0;
             } else {
                 $pdf->SetFillColor($couleurPair[0], $couleurPair[1], $couleurPair[2]);
                 $couleurActuelle = 1;
             }
         }
     } else {
         $largeurCol = (277 - $largeurNomArret) / round($courses / 2);
         foreach ($horaires[$idSemaine]['aller'] as $nomArret => $horairesArret) {
             $pdf->Cell($largeurNomArret, 5, $nomArret, 0, 0);
             for ($i = 0; $i < $courses / 2; $i++) {
                 if ($horairesArret[$i] == '00:00:00') {
                     $pdf->Cell($largeurCol, 5, str_limit('', 5, $end = ''), 0, 0, 'C', true);
                 } else {
                     $pdf->Cell($largeurCol, 5, str_limit($horairesArret[$i], 5, $end = ''), 0, 0, 'C', true);
                 }
             }
             $pdf->Ln();
             if ($couleurActuelle) {
                 $pdf->SetFillColor($couleurImpair[0], $couleurImpair[1], $couleurImpair[2]);
                 $couleurActuelle = 0;
             } else {
                 $pdf->SetFillColor($couleurPair[0], $couleurPair[1], $couleurPair[2]);
                 $couleurActuelle = 1;
             }
         }
         $pdf->AddPage();
         foreach ($horaires[$idSemaine]['aller'] as $nomArret => $horairesArret) {
             $pdf->Cell($largeurNomArret, 5, $nomArret, 0, 0);
             for ($i = $courses / 2 + 1; $i < $courses; $i++) {
                 if ($horairesArret[$i] == '00:00:00') {
                     $pdf->Cell($largeurCol, 5, str_limit('', 5, $end = ''), 0, 0, 'C', true);
                 } else {
                     $pdf->Cell($largeurCol, 5, str_limit($horairesArret[$i], 5, $end = ''), 0, 0, 'C', true);
                 }
             }
             $pdf->Ln();
             if ($couleurActuelle) {
                 $pdf->SetFillColor($couleurImpair[0], $couleurImpair[1], $couleurImpair[2]);
                 $couleurActuelle = 0;
             } else {
                 $pdf->SetFillColor($couleurPair[0], $couleurPair[1], $couleurPair[2]);
                 $couleurActuelle = 1;
             }
         }
     }
     // dd($largeurCol);
     // dd($courses);
     return Response::make($pdf->Output())->header('Content-Type', 'application/pdf');
 }