Compare commits
No commits in common. "5fba83a8299e95453ac5fc985085406da25cca41" and "7f182932a7bcf4c2d1ab4f50dca5f3e082ee35c1" have entirely different histories.
5fba83a829
...
7f182932a7
@ -1,77 +0,0 @@
|
|||||||
<?php
|
|
||||||
date_default_timezone_set('UTC');
|
|
||||||
$GLOBALS['start_time'] = DateTime::createFromFormat(DateTime::ISO8601, "2024-02-12T15:07:32+01");
|
|
||||||
$GLOBALS['number_of_controls'] = 3;
|
|
||||||
|
|
||||||
//declare(strict_types=1);
|
|
||||||
class Runner {
|
|
||||||
public int $id;
|
|
||||||
public string $name;
|
|
||||||
public array $splits;
|
|
||||||
|
|
||||||
function __construct($id, $name) {
|
|
||||||
echo($id);
|
|
||||||
echo($name);
|
|
||||||
if ($id == null) {$id = 0; $name = "";}
|
|
||||||
$this->id = $id;
|
|
||||||
$this->name = $name;
|
|
||||||
for($i = 0; $i<$$GLOBALS['number_of_controls']; $i++) {
|
|
||||||
array_push($this->splits, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function set_split($control, $timestamp) {
|
|
||||||
$this->splits[$control] = $timestamp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//find runner by id in list of Runner objects
|
|
||||||
function get_runner($runnner_list, int $id) {
|
|
||||||
for ($i = 0; $i < count($runnner_list); $i++) {
|
|
||||||
if ($runnner_list[$i] == $id) {
|
|
||||||
return $runnner_list[$i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$runners = [];
|
|
||||||
$csv_runners = file_get_contents("db.csv");
|
|
||||||
$csv_runners = str_getcsv($csv_runners, "\n");
|
|
||||||
print_r($csv_runners);
|
|
||||||
for ($i=0; $i < count($csv_runners); $i++) {
|
|
||||||
$line = str_getcsv($csv_runners[$i]);
|
|
||||||
array_push($runners, new Runner($line[0], $line[1]));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$timings = file_get_contents("passering.csv");
|
|
||||||
$timings = str_getcsv($timings, "\n");
|
|
||||||
for ($i=0; $i < count($timings); $i++) {
|
|
||||||
$line = str_getcsv($timings[$i]);
|
|
||||||
|
|
||||||
$time = DateTime::createFromFormat("Y-m-d\TH:i:sp", $line[2]);
|
|
||||||
if (!$time) {
|
|
||||||
//error
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$runner = get_runner($runners, (int)$line[1]);
|
|
||||||
if (!$runner) {
|
|
||||||
//error
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$runner->set_split($line[0], $time);
|
|
||||||
}
|
|
||||||
|
|
||||||
print_r($runners);
|
|
||||||
for ($i=0; $i < count($runners); $i++) {
|
|
||||||
$runner = $runners[$i];
|
|
||||||
$times = "";
|
|
||||||
//for ($i= 0; $i < count($runner[2]); $i++) {
|
|
||||||
//echo("". $runner[2][$i][1] ."\n");
|
|
||||||
//}
|
|
||||||
|
|
||||||
echo("<tr><td>$runner->id</td><td>$runner->name</td></tr>");
|
|
||||||
}
|
|
65
index.php
65
index.php
@ -1,12 +1,67 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="no">
|
<html lang="no">
|
||||||
|
<head>
|
||||||
|
<style>
|
||||||
|
.passed {
|
||||||
|
background-color: #8ff0a4;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody id="runners">
|
||||||
<?php
|
|
||||||
include("get_table.php")
|
|
||||||
?>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
<script>
|
||||||
|
function register_runner(id, name) {
|
||||||
|
update_row(id, name, true)
|
||||||
|
let formData = new FormData();
|
||||||
|
formData.append(name= 'id', value=id);
|
||||||
|
time = new Date(Date.now()).toISOString()
|
||||||
|
formData.append('time', time);
|
||||||
|
fetch("upload.php", {
|
||||||
|
method: "POST",
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
function read_db() {
|
||||||
|
let xmlHttp = new XMLHttpRequest();
|
||||||
|
xmlHttp.open("GET", "db.csv", false);
|
||||||
|
xmlHttp.send(null);
|
||||||
|
return xmlHttp.responseText;
|
||||||
|
}
|
||||||
|
|
||||||
|
function create_row(id, name, passed) {
|
||||||
|
if (!passed) {
|
||||||
|
button = `<button onclick="register_runner(${id}, '${name}')">✓</button>`
|
||||||
|
return `<tr id="${id}"><td>${id}</td><td>${name}</td><td>${button}</td></tr>`
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
button = `<button onclick="register_runner(${id}, '${name}')">Angre</button>`
|
||||||
|
return `<tr id="${id}" class="passed"><td>${id}</td><td>${name}</td><td>${button}</td></tr>`
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function create_rows(csv) {
|
||||||
|
csv = csv.split('\n')
|
||||||
|
rows = ""
|
||||||
|
for (i in csv) {
|
||||||
|
data = csv[i].split(",")
|
||||||
|
rows += create_row(data[0], data[1], false)
|
||||||
|
}
|
||||||
|
return rows
|
||||||
|
}
|
||||||
|
|
||||||
|
function update_row(id, name, passed) {
|
||||||
|
row = document.getElementById(id)
|
||||||
|
row.innerHTML = create_row(id, name, passed)
|
||||||
|
row.classList.add("passed");
|
||||||
|
}
|
||||||
|
table = document.getElementById("runners")
|
||||||
|
table.innerHTML = create_rows(read_db())
|
||||||
|
</script>
|
||||||
|
<html>
|
@ -1,74 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="no">
|
|
||||||
<head>
|
|
||||||
<style>
|
|
||||||
.passed {
|
|
||||||
background-color: #8ff0a4;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<table>
|
|
||||||
<tbody id="runners">
|
|
||||||
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</body>
|
|
||||||
<script>
|
|
||||||
// Hvilken matpost vi er på:
|
|
||||||
var control = 1;
|
|
||||||
|
|
||||||
function register_runner(id) {
|
|
||||||
let formData = new FormData();
|
|
||||||
formData.append(name= 'control', value=control);
|
|
||||||
formData.append(name= 'id', value=id);
|
|
||||||
time = new Date(Date.now()).toISOString().split('.')[0]+"Z"
|
|
||||||
formData.append('time', time);
|
|
||||||
fetch("upload.php", {
|
|
||||||
method: "POST",
|
|
||||||
body: formData,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
function update_runner_status(id, name) {
|
|
||||||
update_row(id, name, true);
|
|
||||||
register_runner(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
function read_db() {
|
|
||||||
let xmlHttp = new XMLHttpRequest();
|
|
||||||
xmlHttp.open("GET", "db.csv", false);
|
|
||||||
xmlHttp.send(null);
|
|
||||||
return xmlHttp.responseText;
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_row(id, name, passed) {
|
|
||||||
if (!passed) {
|
|
||||||
button = `<button onclick="update_runner_status(${id}, '${name}')">✓</button>`
|
|
||||||
return `<tr id="${id}"><td>${id}</td><td>${name}</td><td>${button}</td></tr>`
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
button = `<button onclick="update_runner_status(${id}, '${name}')">Angre</button>`
|
|
||||||
return `<tr id="${id}" class="passed"><td>${id}</td><td>${name}</td><td>${button}</td></tr>`
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_rows(csv) {
|
|
||||||
csv = csv.split('\n')
|
|
||||||
rows = ""
|
|
||||||
for (i in csv) {
|
|
||||||
data = csv[i].split(",")
|
|
||||||
rows += create_row(data[0], data[1], false)
|
|
||||||
}
|
|
||||||
return rows
|
|
||||||
}
|
|
||||||
|
|
||||||
function update_row(id, name, passed) {
|
|
||||||
row = document.getElementById(id)
|
|
||||||
row.innerHTML = create_row(id, name, passed)
|
|
||||||
row.classList.add("passed");
|
|
||||||
}
|
|
||||||
table = document.getElementById("runners")
|
|
||||||
table.innerHTML = create_rows(read_db())
|
|
||||||
</script>
|
|
||||||
<html>
|
|
@ -1,8 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
$control = $_POST['control'];
|
|
||||||
$runner_id = $_POST['id'];
|
$runner_id = $_POST['id'];
|
||||||
$time = $_POST['time'];
|
$time = $_POST['time'];
|
||||||
$file = 'passering.csv';
|
$file = 'passering.csv';
|
||||||
$current = file_get_contents($file);
|
$current = file_get_contents($file);
|
||||||
$current .= $control . "," . $runner_id . "," . $time . "\n";
|
$current .= $runner_id . ", " . $time . "\n";
|
||||||
file_put_contents($file, $current);
|
file_put_contents($file, $current);
|
Loading…
Reference in New Issue
Block a user