/** * 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); }
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)); }
/** * 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); }
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]; }
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'); }