Commit
This commit is contained in:
parent
76aca99ff0
commit
258135cd81
@ -55,18 +55,19 @@ class App
|
||||
|
||||
/**
|
||||
* Render given view
|
||||
*
|
||||
* Reason for the funky names is to avoid name conflicts
|
||||
*/
|
||||
public function view(string $view, array $data = []): void
|
||||
public function view(string $__VIEW, array $__DATA = []): void
|
||||
{
|
||||
// import variables into the current symbol table from an array
|
||||
extract($data);
|
||||
// require view file
|
||||
$path = $this->dir . '/view/' . $view . '.php';
|
||||
if (!file_exists($path))
|
||||
$__PATH = $this->dir . '/view/' . $__VIEW . '.php';
|
||||
if (!file_exists($__PATH))
|
||||
{
|
||||
throw new Exception("View does not exist");
|
||||
}
|
||||
require $path;
|
||||
// import variables into the current symbol table from an array
|
||||
extract($__DATA);
|
||||
require $__PATH;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,41 +1,76 @@
|
||||
<?php
|
||||
if (!isset($focused)) {
|
||||
$focused = FALSE;
|
||||
if (!isset($view))
|
||||
{
|
||||
$view = 'default';
|
||||
}
|
||||
?>
|
||||
<div id="alertBox" class="alert danger hidden" role="alert"></div>
|
||||
|
||||
<?php if ($focused == FALSE): ?>
|
||||
<h1>Resultater</h1>
|
||||
<span class="float-right">[ <a class="info" href="?focused=1" target="_blank">Fokusert visning</a> ]</span>
|
||||
<br>
|
||||
<?php endif; ?>
|
||||
<?php if ($view == 'default' || $view == 'focused'): ?>
|
||||
|
||||
<noscript>
|
||||
Denne siden krever JavaScript
|
||||
</noscript>
|
||||
<div id="alertBox" class="alert danger hidden" role="alert"></div>
|
||||
|
||||
<div id="rankingTable">
|
||||
Laster inn...
|
||||
</div>
|
||||
<?php if ($view == 'default'): ?>
|
||||
<h1>Resultater</h1>
|
||||
<p>Denne siden oppdateres automagisk.</p>
|
||||
<span class="float-right">[ <a class="info" href="?view=focused" target="_blank">Fokusert visning</a> ]</span>
|
||||
<span class="float-right">[ <a class="info" href="?view=summary">Sammendrag</a> ] </span>
|
||||
<br>
|
||||
<?php endif; ?>
|
||||
|
||||
<style>
|
||||
.b {
|
||||
<noscript>
|
||||
Denne siden krever JavaScript
|
||||
</noscript>
|
||||
|
||||
<div id="rankingTable">
|
||||
Laster inn...
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.b {
|
||||
animation: coolFlash 1s;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes coolFlash {
|
||||
@keyframes coolFlash {
|
||||
from { background: lightgreen; }
|
||||
}
|
||||
</style>
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="<?=$this->config['root_url']?>static/js/ResultService.js"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
<script src="<?=$this->config['root_url']?>static/js/ResultService.js"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
alertBox = document.getElementById("alertBox");
|
||||
rankingTable = document.getElementById("rankingTable");
|
||||
|
||||
new ResultService(alertBox, rankingTable, '<?=$this->config['root_url']?>api/race/results.php?h=');
|
||||
});
|
||||
</script>
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($view == 'summary'): ?>
|
||||
|
||||
<h1>Sammendrag</h1>
|
||||
<span class="float-right">[ <a class="danger" href="?">Tilbake til resultater</a> ] </span>
|
||||
<br>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Lag</th>
|
||||
<th>Bedrift</th>
|
||||
<th>Runder</th>
|
||||
<th>Bestetid</th>
|
||||
</tr>
|
||||
<?php $i = 1; foreach ($teams as $team): ?>
|
||||
<tr>
|
||||
<td><?=$i++; $i?></td>
|
||||
<td><?=htmlspecialchars($team->name)?></td>
|
||||
<td><?=htmlspecialchars($team->company)?></td>
|
||||
<td><?=htmlspecialchars($team->rounds)?></td>
|
||||
<td><?=htmlspecialchars($team->best_time)?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
|
||||
<?php endif; ?>
|
@ -1,17 +1,61 @@
|
||||
<?php $app = require '../../app/inc.php';
|
||||
|
||||
$focused = filter_input(INPUT_GET, 'focused');
|
||||
use App\Teamtable\TeamMapper;
|
||||
|
||||
if ($focused) {
|
||||
$app->view('template/header', [
|
||||
$view = filter_input(INPUT_GET, 'view');
|
||||
|
||||
switch ($view) {
|
||||
|
||||
case 'focused':
|
||||
|
||||
$app->view('template/header',
|
||||
[
|
||||
"title" => "Resultater",
|
||||
"hide_nav" => TRUE,
|
||||
"hide_menu" => TRUE
|
||||
]);
|
||||
$app->view('pages/race/results', ["focused" => TRUE]);
|
||||
]
|
||||
);
|
||||
$app->view('pages/race/results',
|
||||
[
|
||||
"view" => "focused"
|
||||
]
|
||||
);
|
||||
$app->view('template/footer');
|
||||
} else {
|
||||
|
||||
break;
|
||||
|
||||
case 'summary':
|
||||
|
||||
$team_mapper = new TeamMapper($app->database->conn);
|
||||
|
||||
$teams = $team_mapper->getAll();
|
||||
$filtered_teams = [];
|
||||
|
||||
// filter out any teams that have no rounds
|
||||
foreach ($teams as $team)
|
||||
{
|
||||
if ($team->rounds !== 0)
|
||||
{
|
||||
$filtered_teams[] = $team;
|
||||
}
|
||||
}
|
||||
|
||||
$app->view('template/header', ["title" => "Sammendrag"]);
|
||||
$app->view('pages/race/results',
|
||||
[
|
||||
"view" => "summary",
|
||||
"teams" => $filtered_teams
|
||||
]
|
||||
);
|
||||
$app->view('template/footer');
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
$app->view('template/header', ["title" => "Resultater"]);
|
||||
$app->view('pages/race/results');
|
||||
$app->view('template/footer');
|
||||
|
||||
break;
|
||||
}
|
Reference in New Issue
Block a user