From 51c6b4f563d195a634039cf5b4d9ba83004e1a52 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 22 Jun 2019 20:31:10 +0000
Subject: [PATCH] Add table of vehicles by type

---
 templates/vehicles.html |   32 ++++++++++++++++++++++++++++----
 lib/output.php          |    8 +++++++-
 2 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/lib/output.php b/lib/output.php
index 4d05b40..0743017 100644
--- a/lib/output.php
+++ b/lib/output.php
@@ -18,11 +18,15 @@
 
 function createVehiclesList($trips, $mapping, $saveConfig = FALSE) {
 	$lines = [];
+	$vehicles = [];
 	foreach($trips as $trip) {
+		$vehicle = $mapping[$trip['id']] ?? [];
+		$vehicle += ['trip' => $trip['id']];
 		$lines[$trip['line']][] = [
 			'trip' => $trip,
-			'vehicle' => $mapping[$trip['id']] ?? [],
+			'vehicle' => $vehicle,
 		];
+		$vehicles[$vehicle['type'] ?? '?'][] = $vehicle;
 	}
 	foreach($lines as &$line) {
 		usort($line, function($a, $b) {
@@ -31,6 +35,7 @@
 	}
 	unset($line);
 	ksort($lines);
+	ksort($vehicles);
 	
 	if($saveConfig) {
 		$twigLoader = new \Twig\Loader\FilesystemLoader(__DIR__.'/../templates');
@@ -38,6 +43,7 @@
 		
 		$vehiclesHtml = $twig->render('vehicles.html', [
 			'lines' => $lines,
+			'vehicles' => $vehicles,
 			'prefix' => $saveConfig['prefix'],
 		]);
 		if(!file_put_contents($saveConfig['result_vehicles_temp'], $vehiclesHtml)) {
diff --git a/templates/vehicles.html b/templates/vehicles.html
index 3f04e0d..9c9d4e7 100644
--- a/templates/vehicles.html
+++ b/templates/vehicles.html
@@ -6,6 +6,11 @@
 table {
 	border-collapse: collapse;
 	border-spacing: 0;
+	margin: 10px 0;
+}
+caption {
+	text-align: left;
+	font-size: 120%;
 }
 th, td {
 	border: 1px solid black;
@@ -13,6 +18,8 @@
 }
 td {
 	vertical-align: top;
+}
+table.center td {
 	text-align: center;
 }
 a {
@@ -32,8 +39,8 @@
 }
 </style>
 
-<table>
-
+<table class="center">
+<caption>Vehicles by line</caption>
 <thead>
 <tr>
 {% for line in lines|keys %}
@@ -41,13 +48,12 @@
 {% endfor %}
 </tr>
 </thead>
-
 <tbody>
 <tr>
 {% for trips in lines %}
 <td>
 {% for trip in trips %}
-<a href="https://mpk.jacekk.net/map.html#!{{ prefix }}{{ trip.trip.id | e }}" class="low{{ trip.vehicle.low | default }}">
+<a href="https://mpk.jacekk.net/map.html#!{{ prefix }}{{ trip.vehicle.trip | e }}" class="low{{ trip.vehicle.low | default }}">
 {{ trip.vehicle.num | default('<?>') | e }}<br />
 </a>
 {% endfor %}
@@ -55,6 +61,24 @@
 {% endfor %}
 </tr>
 </tbody>
+</table>
+
+<table>
+<caption>Vehicles by type</caption>
+{% for type, vhcls in vehicles %}
+<tr>
+<th>{{ type }}</th>
+<td>{{ vhcls | length }}</td>
+<td>
+{% for vehicle in vhcls %}
+<a href="https://mpk.jacekk.net/map.html#!{{ prefix }}{{ vehicle.trip | e }}" class="low{{ vehicle.low | default }}">
+{{ vehicle.num | default('<?>') | e }}
+</a>
+{% endfor %}
+</td>
+</tr>
+{% endfor %}
+</table>
 
 Generated at {{ "now" | date("Y-m-d H:i:s P") }}
 

--
Gitblit v1.9.1