This commit is contained in:
2024-03-29 15:47:35 +01:00
parent 85d2cf4be2
commit 7619856ef2
27 changed files with 2255 additions and 193 deletions

10
views/default.twig Normal file
View File

@ -0,0 +1,10 @@
{% extends layout.twig %}
{% block title %}Willkommen auf fwtrash.de!{% endblock %}
{% block content %}
<p>Wir sind stolz darauf, Ihnen eine Vielzahl von nützlichen Tools und Ressourcen für das Onlinespiel Freewar zur Verfügung zu stellen. Unser Ziel ist es, Ihnen das Spielen von Freewar zu erleichtern und Ihnen zu helfen, das Beste aus dem Spiel herauszuholen.</p>
<p>Auf unserer Webseite finden Sie alles, von praktischen Rechnern und Simulatoren bis hin zu umfassenden Anleitungen und Strategieguides. Wir sind ständig bemüht, unser Angebot zu erweitern und zu verbessern, um Ihnen die bestmögliche Unterstützung zu bieten.</p>
<p>Schauen Sie sich um und entdecken Sie alles, was fwtrash.de zu bieten hat. Wir hoffen, dass Sie viel Freude beim Stöbern und Nutzen unserer Tools haben werden.</p>
<strong>Viel Spaß beim Erkunden und Happy Gaming!</strong>
{% endblock %}

40
views/doppelklinge.twig Normal file
View File

@ -0,0 +1,40 @@
{% extends layout.twig %}
{% block title %}irgendwas mit Doppelklinge{% endblock %}
{% block content %}
<form action="/doppelklinge" method="post">
<p>Gesamten Mainframe von Position X: 80 Y: 126 einfügen (strg-a, strg-c):</p>
<textarea name="progress" rows="4" cols="60">{{ $progress }}</textarea>
<br />
<input type="submit" value="abschnalzen" />
</form>
{% if(isset($list)): %}
<hr />
<table class="table table-sm table-striped">
<thead>
<tr>
<th>Aufgabe</th>
<th>Fortschritt</th>
<th>Ziel</th>
<th>&uuml;brig</th>
<th>Prozent</th>
</tr>
</thead>
<tbody>
{% for($i = 0; $i < count($list); $i++): %}
<tr style="background-color: {{ $i >= 5 ? 'red' : 'white' }}">
<td>{{ $list[$i]->task }}</td>
<td>{{ number_format($list[$i]->act, 0, '', '.') }}</td>
<td>{{ number_format($list[$i]->max, 0, '', '.') }}</td>
<td>{{ number_format($list[$i]->left, 0, '', '.') }}</td>
<td>{{ $list[$i]->percent }}</td>
</tr>
{% endfor; %}
</tbody>
</table>
<p>insgesamt {{ $percent }}% erledigt (&oslash; {{ $avg }}%).</p>
<p>Stand: {{ $dt }}</p>
{% endif; %}
{% endblock %}

29
views/knochen.twig Normal file
View File

@ -0,0 +1,29 @@
{% extends layout.twig %}
{% block title %}KnochenDB{% endblock %}
{% block content %}
<p>von <a href="https://welt11.freewar.de/freewar/internal/fight.php?action=watchuser&act_user_id=6895" target="_blank">Phloks</a></p>
{% foreach($data['knochen'] as $key => $arr): %}
<h2 class="h4">{{ $data['types'][$key] }}:</h2>
{% foreach($arr as $row): %}
<div class="NavFrame">
<div class="NavHead">{{ $row->title }}</div>
<div class="NavContent">
<p><img class="img-fluid" src="/img/knochen/{{ $row->solution }}" alt="{{ $row->solution }}"></p>
<div class="NavFrame">
<div class="NavHead">Anfangsstellung</div>
<div class="NavContent">
{% if($row->origin): %}
<p><img class="img-fluid" src="/img/knochen/{{ $row->origin }}" alt="{{ $row->origin }}"></p>
{% else: %}
<p>Nicht verfügbar</p>
{% endif %}
</div>
</div>
</div>
</div>
{% endforeach %}
{% endforeach %}
{% endblock %}

53
views/layout.twig Normal file
View File

@ -0,0 +1,53 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="https://fwtrash.de/">
<title>{% yield title %}</title>
<link rel="stylesheet" type="text/css" href="./css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="./css/style.css">
</head>
<body>
<header class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 shadow">
<a class="navbar-brand col-md-3 col-lg-2 me-0 px-3 fs-6" href="./">
<img src="./img/logo-big.png" style="height: 38px">&nbsp;&nbsp;fwtrash.de
</a>
<button class="navbar-toggler position-absolute d-md-none collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#sidebarMenu" aria-controls="sidebarMenu" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-nav">
<div class="nav-item text-nowrap">&nbsp;</div>
</div>
</header>
<div class="container">
<div class="row">
<nav id="sidebarMenu" class="col-md-3 col-lg-2 d-md-block bg-light sidebar collapse">
<div class="position-sticky pt-3 sidebar-sticky">
<ul class="nav flex-column">
<li class="nav-item"><a class="nav-link{% if(empty($page)): %} active{% endif; %}" href="/">Home</a></li>
<li class="nav-item"><a class="nav-link{% if($page == 'doppelklinge'): %} active{% endif; %}" href="/doppelklinge">Doppelklinge</a></li>
<li class="nav-item"><a class="nav-link{% if($page == 'vermessung'): %} active{% endif; %}" href="/vermessung">Vermessungen</a></li>
<li class="nav-item"><a class="nav-link{% if($page == 'knochen'): %} active{% endif; %}" href="/knochen">KnochenDB</a></li>
</ul>
</div>
</nav>
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
<h1 class="h2">{% yield title %}</h1>
<hr>
{% yield content %}
<br>
</main>
</div>
</div>
<footer>
<div class="container text-end">
Made with <span style="color: #b92201;">&#9829;</span> by DALL·E and ChatGPT • Generated in {{ $generated }}s
</div>
</footer>
<script src="./js/bootstrap-native.min.js" async></script>
</body>
</html>

120
views/vermessung.twig Normal file
View File

@ -0,0 +1,120 @@
{% extends layout.twig %}
{% block title %}irgendwas mit Vermessungen{% endblock %}
{% block content %}
<form action="/vermessung" method="post">
<p>Gesamtes Clanprotokoll einfügen (strg-a, strg-c):</p>
<textarea name="protocol" rows="4" cols="60">{{ $protocol }}</textarea>
<br />
<input type="submit" value="abschnalzen" />
</form>
{% if(isset($newest)): %}
<hr />
<span id="wao">wao, {{ number_format($newest['gm'], 0, '', '.') }} Goldm&uuml;nzen durch {{ count($newest['list']) }} Vermessungen erwirtschaftet!</span>
<select id="dtswitch">
{% foreach($vms as $vm): %}
<option>{{ $vm['dtact'] }}</option>
{% endforeach; %}
</select>
<hr />
<div class="container-fluid">
<div class="row justify-content-md-center">
<div class="col-sm-4">
<div class="card">
<h5 class="card-header">Topliste:</h5>
<div class="card-body">
<table class="table table-sm table-striped" style="width: 100%">
<thead>
<th>#</th>
<th>Spieler</th>
<th>Vermessungen</th>
<th>Gold</th>
</thead>
<tbody id="toplist">
{% $i = 0; %}
{% foreach($newest['user'] as $name => $player): %}
<tr>
<td>{{ ++$i }}</td>
<td>{{ $name }}</td>
<td>{{ $player['count'] }}</td>
<td>{{ number_format($player['gold'], 0, '', '.') }}</td>
</tr>
{% endforeach; %}
</tbody>
</table>
</div>
</div>
</div>
<div class="col">
<div class="card">
<h5 class="card-header">ber&uuml;cksichtigte Messungen:</h5>
<div class="card-body">
<table class="table table-sm table-striped" style="width: 100%">
<thead>
<tr>
<th>Datum</th>
<th>Summe</th>
<th>à</th>
<th>Amtsteher</th>
<th>L&auml;ufer</th>
</tr>
</thead>
<tbody id="vmlist">
{% foreach($newest['list'] as $tmp): %}
<tr>
<td style="vertical-align: top">{{ $tmp['datum'] }}</td>
<td style="vertical-align: top">{{ number_format($tmp['gold'], 0, '', '.') }} gm</td>
<td style="vertical-align: top">{{ number_format($tmp['a'], 0, '', '.') }} gm</td>
<td style="vertical-align: top">{{ $tmp['amt'] }}</td>
<td style="vertical-align: top">{{ implode(', ', $tmp['laeufer']) }}</td>
</tr>
{% endforeach; %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script>const vms = {{ json_encode($vms) }};
(() => {
const toplist = document.querySelector('#toplist');
const vmlist = document.querySelector('#vmlist');
const wao = document.querySelector('#wao');
const dtswitch = document.querySelector('#dtswitch');
dtswitch.addEventListener('change', e => {
const vm = vms[dtswitch.value];
toplist.innerHTML = '';
vmlist.innerHTML = '';
let gm = 0;
let cvm = 0;
let i = 1;
for(let [ name, player ] of Object.entries(vm.user)) {
console.log(player);
// fill toplist
const tr = document.createElement('tr');
tr.innerHTML = `<td>${i}</td><td>${name}</td><td>${player.count}</td><td>${player.gold.toLocaleString('de-DE')}</td>`;
toplist.insertAdjacentElement('beforeend', tr);
i++;
}
for(let entry of vm.list) {
// fill vmlist
const tr = document.createElement('tr');
tr.innerHTML = `<td>${entry.datum}</td><td>${entry.gold.toLocaleString('de-DE')} gm</td><td>${entry.a.toLocaleString('de-DE')} gm</td><td>${entry.amt}</td><td>${entry.laeufer.join(', ')}</td>`;
vmlist.insertAdjacentElement('beforeend', tr);
}
wao.innerHTML = `wao, ${vm.gm.toLocaleString('de-DE')} Goldm&uuml;nzen durch ${vm.list.length} Vermessungen erwirtschaftet!`;
});
})();
</script>
{% endif; %}
{% endblock %}