Jacek Kowalski
2019-06-22 51c6b4f563d195a634039cf5b4d9ba83004e1a52
Add table of vehicles by type
2 files modified
40 ■■■■ changed files
lib/output.php 8 ●●●● patch | view | raw | blame | history
templates/vehicles.html 32 ●●●● patch | view | raw | blame | history
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)) {
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") }}