Commit
This commit is contained in:
parent
800551f0a9
commit
1b83f16213
@ -23,7 +23,6 @@ class AccessControl
|
||||
// routes that need power level 1 and up
|
||||
[
|
||||
"routes" => [
|
||||
"race/simulator.php",
|
||||
"race/configure/*"
|
||||
],
|
||||
"catcher" => [
|
||||
|
@ -8,7 +8,7 @@ namespace App\Core;
|
||||
*/
|
||||
class ErrorHandler
|
||||
{
|
||||
public array $error_messages;
|
||||
public array $error_messages = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@ -17,7 +17,7 @@ class ErrorHandler
|
||||
|
||||
set_error_handler([$this, 'error']);
|
||||
set_exception_handler([$this, 'exception']);
|
||||
$this->error_messages = [];
|
||||
register_shutdown_function([$this, 'shutdown']);
|
||||
}
|
||||
|
||||
public function error($errno, $errstr, $errfile, $errline): void
|
||||
@ -31,7 +31,7 @@ class ErrorHandler
|
||||
$this->error_messages[] = "<b>Uncaught Exception:</b> " . $exception;
|
||||
}
|
||||
|
||||
public function __destruct()
|
||||
private function shutdown(): void
|
||||
{
|
||||
if (!$this->error_messages) {
|
||||
return;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<h1>Endre lagtabell</h1>
|
||||
<h1>Konfigurer</h1>
|
||||
<span class="float-right">[ <a class="success" href="update.php">Opprett lag</a> ]</span>
|
||||
<span class="float-right">[ <a class="danger" href="../reset.php">Nullstill runder</a> ] </span>
|
||||
<span class="float-right">[ <a class="danger" href="reset.php">Nullstill runder</a> ] </span>
|
||||
<br>
|
||||
<table>
|
||||
<tr>
|
@ -1,7 +1,7 @@
|
||||
<h1>Simulator</h1>
|
||||
<p>Skriv inn et kortnummer:</p>
|
||||
<form method="post" autocomplete="off">
|
||||
<input type="text" name="cardnumber" maxlength="32">
|
||||
<input type="text" name="cardnumber" maxlength="32" autofocus>
|
||||
<br>
|
||||
<br>
|
||||
<input type="submit" value="Send">
|
@ -1,14 +0,0 @@
|
||||
<div id="alert" class="alert danger hidden" role="alert"></div>
|
||||
|
||||
<h1>Resultat service</h1>
|
||||
<br>
|
||||
|
||||
<noscript>
|
||||
Denne siden krever JavaScript
|
||||
</noscript>
|
||||
|
||||
<div id="ranking-table">
|
||||
Laster inn...
|
||||
</div>
|
||||
|
||||
<script src="../static/js/resultservice.js"></script>
|
19
app/view/pages/race/resultservice.php
Normal file
19
app/view/pages/race/resultservice.php
Normal file
@ -0,0 +1,19 @@
|
||||
<div id="alertBox" class="alert danger hidden" role="alert"></div>
|
||||
|
||||
<h1>Resultatservice</h1>
|
||||
<br>
|
||||
|
||||
<noscript>
|
||||
Denne siden krever JavaScript
|
||||
</noscript>
|
||||
|
||||
<div id="rankingTable">
|
||||
Laster inn...
|
||||
</div>
|
||||
|
||||
<script src="../static/js/ResultService.js"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
new ResultService(alertBox, rankingTable, '../api/v1/race/sync.php?h=');
|
||||
});
|
||||
</script>
|
@ -38,15 +38,15 @@
|
||||
<h4>Felles</h4>
|
||||
<ul>
|
||||
<li><a href="<?=$this->config['root_url']?>index.php">Forside</a></li>
|
||||
<li><a href="<?=$this->config['root_url']?>race/live.php">Resultater</a></li>
|
||||
<li><a href="<?=$this->config['root_url']?>race/resultservice.php">Resultater</a></li>
|
||||
</ul>
|
||||
|
||||
<?php if ($this->user->logged_in): ?>
|
||||
<?php if ($this->user->power_level > 0): ?>
|
||||
<h4>Tillatelser</h4>
|
||||
<h4>Admin</h4>
|
||||
<ul>
|
||||
<li><a href="<?=$this->config['root_url']?>race/simulator.php">Simulator</a></li>
|
||||
<li><a href="<?=$this->config['root_url']?>race/configure/index.php">Konfigurer</a></li>
|
||||
<li><a href="<?=$this->config['root_url']?>race/configure/simulator.php">Simulator</a></li>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
@ -32,7 +32,7 @@ foreach ($time_mapper->getAll() as $time)
|
||||
|
||||
if (!isset($name_map[$team->id]))
|
||||
{
|
||||
$name_map[$team->id] = $team->name;
|
||||
$name_map[$team->id] = htmlspecialchars($team->name);
|
||||
}
|
||||
|
||||
if ($time_ref === NULL)
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php $app = require '../../../../app/inc.php';
|
||||
<?php $app = require '../../../app/inc.php';
|
||||
/**
|
||||
* Deletes both team and related times
|
||||
*/
|
||||
@ -32,7 +32,7 @@ if (!$team)
|
||||
if (!$confirm)
|
||||
{
|
||||
$app->view('template/header', ['title' => 'Bekreft sletting']);
|
||||
$app->view('pages/race/configure/teams/delete', ['team' => $team]);
|
||||
$app->view('pages/race/configure/delete', ['team' => $team]);
|
||||
$app->view('template/footer');
|
||||
die();
|
||||
}
|
@ -1,4 +1,11 @@
|
||||
<?php $app = require '../../../app/inc.php';
|
||||
|
||||
// redirect
|
||||
$app->redirect('teams/');
|
||||
use App\Teamtable\TeamMapper;
|
||||
|
||||
$team_mapper = new TeamMapper($app->database->conn);
|
||||
|
||||
$teams = $team_mapper->getAll();
|
||||
|
||||
$app->view('template/header', ['title' => 'Konfigurer']);
|
||||
$app->view('pages/race/configure/index', ["teams" => $teams]);
|
||||
$app->view('template/footer');
|
@ -1,4 +1,4 @@
|
||||
<?php $app = require '../../app/inc.php';
|
||||
<?php $app = require '../../../app/inc.php';
|
||||
|
||||
// uh oh.. stinky
|
||||
|
||||
@ -11,7 +11,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
||||
$cardnumber = (string)$_POST['cardnumber'];
|
||||
|
||||
try {
|
||||
$code = $baton_reader->receive($cardnumber, 0);
|
||||
$code = $baton_reader->receive($cardnumber, -1);
|
||||
switch ($code) {
|
||||
case 0:
|
||||
$app->session->flash('Opprettet nytt lag', 'success');
|
||||
@ -46,5 +46,5 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
||||
}
|
||||
|
||||
$app->view('template/header', ['title' => 'Simulator']);
|
||||
$app->view('pages/race/simulator');
|
||||
$app->view('pages/race/configure/simulator');
|
||||
$app->view('template/footer');
|
@ -1,11 +0,0 @@
|
||||
<?php $app = require '../../../../app/inc.php';
|
||||
|
||||
use App\Teamtable\TeamMapper;
|
||||
|
||||
$team_mapper = new TeamMapper($app->database->conn);
|
||||
|
||||
$teams = $team_mapper->getAll();
|
||||
|
||||
$app->view('template/header', ['title' => 'Endre lagtabell']);
|
||||
$app->view('pages/race/configure/teams/index', ["teams" => $teams]);
|
||||
$app->view('template/footer');
|
@ -1,4 +1,4 @@
|
||||
<?php $app = require '../../../../app/inc.php';
|
||||
<?php $app = require '../../../app/inc.php';
|
||||
/**
|
||||
* Creates and updates team in teamtable
|
||||
*/
|
||||
@ -68,7 +68,7 @@ if ($item !== NULL)
|
||||
$app->view('template/header', [
|
||||
'title' => $title
|
||||
]);
|
||||
$app->view('pages/race/configure/teams/update', [
|
||||
$app->view('pages/race/configure/update', [
|
||||
"team" => $team,
|
||||
"title" => $title
|
||||
]);
|
||||
@ -81,7 +81,7 @@ $title = "Legg til lag";
|
||||
$app->view('template/header', [
|
||||
'title' => $title
|
||||
]);
|
||||
$app->view('pages/race/configure/teams/update', [
|
||||
$app->view('pages/race/configure/update', [
|
||||
"team" => new Team,
|
||||
"title" => $title
|
||||
]);
|
@ -1,5 +0,0 @@
|
||||
<?php $app = require '../../app/inc.php';
|
||||
|
||||
$app->view('template/header', ["title" => "Live resultater"]);
|
||||
$app->view('pages/race/live');
|
||||
$app->view('template/footer');
|
5
public/race/resultservice.php
Normal file
5
public/race/resultservice.php
Normal file
@ -0,0 +1,5 @@
|
||||
<?php $app = require '../../app/inc.php';
|
||||
|
||||
$app->view('template/header', ["title" => "Resultatservice"]);
|
||||
$app->view('pages/race/resultservice');
|
||||
$app->view('template/footer');
|
@ -1,16 +1,11 @@
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
new ResultService();
|
||||
});
|
||||
|
||||
class ResultService
|
||||
{
|
||||
hash = 0;
|
||||
alertbox = document.getElementById("alert");
|
||||
table = document.getElementById("ranking-table");
|
||||
endpoint = "../api/v1/race/sync.php?h=";
|
||||
|
||||
constructor()
|
||||
constructor(alertBox, rankingTable, endpoint)
|
||||
{
|
||||
this.alertBox = alertBox;
|
||||
this.rankingTable = rankingTable;
|
||||
this.endpoint = endpoint;
|
||||
this.hash = 0;
|
||||
this.loop();
|
||||
}
|
||||
|
||||
@ -18,11 +13,11 @@ class ResultService
|
||||
{
|
||||
try {
|
||||
await this.updateTable();
|
||||
this.alertbox.classList.add("hidden");
|
||||
this.alertBox.classList.add("hidden");
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.alertbox.innerHTML = "<b>Noe gikk galt: </b>" + error;
|
||||
this.alertbox.classList.remove("hidden");
|
||||
this.alertBox.innerHTML = "<b>Noe gikk galt: </b>" + error;
|
||||
this.alertBox.classList.remove("hidden");
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
@ -48,12 +43,16 @@ class ResultService
|
||||
let tableHTML = "";
|
||||
tableHTML += "<table>";
|
||||
tableHTML += "<tr>";
|
||||
tableHTML += "<th>#</th>";
|
||||
tableHTML += "<th>Lag</th>";
|
||||
tableHTML += "<th>Tid</th>";
|
||||
tableHTML += "</tr>";
|
||||
|
||||
let iterator = 0;
|
||||
data.times.reverse().forEach(element => {
|
||||
iterator++;
|
||||
tableHTML += "<tr>";
|
||||
tableHTML += "<td>" + iterator + "</td>";
|
||||
tableHTML += "<td>" + data.map.team.name[element.id] + "</td>";
|
||||
tableHTML += "<td>" + element.time + "</td>";
|
||||
tableHTML += "</tr>";
|
||||
@ -61,6 +60,6 @@ class ResultService
|
||||
|
||||
tableHTML += "<table>";
|
||||
|
||||
this.table.innerHTML = tableHTML;
|
||||
this.rankingTable.innerHTML = tableHTML;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user