/** * 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 findByLigne($ligne = 2, $idTypeSemaine = 3) { if (!isset($ligne)) { $ligne = (int) Input::get('ligne')[0]; } else { $ligne = (int) $ligne; } $date = date('d-m-Y'); $horaires = Horaire::getHorairesByLigne($ligne, $date, null, null, $idTypeSemaine); $nomLigne = Ligne::findNameById($ligne); $nomTypeSemaine = TypeSemaine::getLibelleTypeSemaine($ligne); return View::make('private.forms.updateHoraire')->with('idLigne', $ligne)->with('nomLigne', $nomLigne)->with('idTypeSemaine', $idTypeSemaine)->with('nomTypeSemaine', $nomTypeSemaine)->with('horaires', $horaires); }
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'); }