Individualisations

This commit is contained in:
Timon Ostertun
2020-09-21 21:06:16 +02:00
parent 7e8d863e26
commit 62cb4408cf
21 changed files with 1810 additions and 1632 deletions

View File

@@ -19,36 +19,12 @@
define('BOATCLASS', 'pirat');
// BOAT CLASSES
$_CLASSES = array(
'pirat' => [
'name' => [
'de' => 'Pirat',
'en' => 'Pirate'
],
'desc' => [
'de' => 'eine vom DSV geförderte Jugendmeisterschaftsklasse',
'en' => 'a DSV sponsored youth championship class'
],
'special' => [
'de' => 'Jugend',
'en' => 'Youth'
],
'youth-age' => 19,
'youth-german-name' => 'IDJM'
],
'teeny' => [
'name' => [
'de' => 'Teeny',
'en' => 'Teeny'
],
'desc' => [
'de' => 'die offizielle 2-Mann Bootsklasse des DSV für den Jüngstenbereich',
'en' => 'the official 2-man boat class of the DSV for the youngest area'
],
'special' => false,
'youth-age' => 15,
'youth-german-name' => 'IDJüM'
]
$_CLASS = array(
'name' => 'Pirat',
'desc' => 'eine vom DSV geförderte Jugendmeisterschaftsklasse',
'special' => 'Jugend',
'youth-age' => 19,
'youth-german-name' => 'IDJM'
);
?>

View File

@@ -0,0 +1,18 @@
<!-- header and footer bar go here-->
<div class="header header-fixed header-logo-center">
<a href="<?php echo LINK_PRE; ?>index" class="header-title">Regatten.net <?php echo $_CLASS['name']; ?></a>
<?php if ($sp['backbutton'] !== false) {
if ($sp['backbutton'] === true)
echo '<a href="#" class="back-button header-icon header-icon-1"><i class="fas fa-arrow-left"></i></a>';
else
echo '<a href="' . LINK_PRE . $sp['backbutton'] . '" class="header-icon header-icon-1"><i class="fas fa-arrow-left"></i></a>';
} ?>
<a href="#" data-menu="menu-settings" class="header-icon header-icon-4"><i class="fas fa-cog"></i></a>
</div>
<div id="footer-bar" class="footer-bar-1">
<a href="<?php echo LINK_PRE; ?>index"<?php if ($sp['activenav'] == 1) echo ' class="active-nav"'; ?>><i class="fa fa-home"></i><span>Start</span></a>
<a href="<?php echo LINK_PRE; ?>regattas"<?php if ($sp['activenav'] == 2) echo ' class="active-nav"'; ?>><i class="fa fa-flag-checkered"></i><span>Regatten</span></a>
<a href="<?php echo LINK_PRE; ?>rank"<?php if ($sp['activenav'] == 3) echo ' class="active-nav"'; ?>><i class="fa fa-trophy"></i><span>Ranglisten</span></a>
<a href="#" data-menu="menu-lists"<?php if ($sp['activenav'] == 4) echo ' class="active-nav"'; ?>><i class="fa fa-list"></i><span>Listen</span></a>
<a href="#" data-menu="menu-more"<?php if ($sp['activenav'] == 5) echo ' class="active-nav"'; ?>><i class="fa fa-ellipsis-h"></i><span>Mehr</span><em id="badge-footer-more" class="badge bg-highlight"></em></a>
</div>

View File

@@ -3,16 +3,16 @@
data-menu-height="350"
data-menu-effect="menu-parallax">
<div class="boxed-text-l mt-4">
<img class="rounded-l mb-3" src="app/icons/icon-128x128.png" alt="img" width="90">
<h4 class="mt-3">Add Sticky on your Home Screen</h4>
<img class="rounded-l mb-3" src="<?php echo SERVER_ADDR; ?>/client/app/icons/icon-128x128.png" alt="img" width="90">
<h4 class="mt-3">F&uuml;ge Regatten.net <?php echo $_CLASS['name']; ?> zu Deinem Startbildschirm hinzu</h4>
<p>
Install Sticky on your home screen, and access it just like a regular app. It really is that simple!
Installiere Regatten.net auf Deinem Startbildschirm und greife wie bei einer normalen App darauf zu. So einfach ist das wirklich.
</p>
<a href="#" class="pwa-install btn btn-s rounded-s shadow-l text-uppercase font-900 bg-highlight mb-2">Add to Home Screen</a><br>
<a href="#" class="pwa-dismiss close-menu color-gray2-light text-uppercase font-900 opacity-60 font-10">Maybe later</a>
<a href="#" class="pwa-install btn btn-s rounded-s shadow-l text-uppercase font-900 bg-highlight mb-2">Zum Startbildschirm hinzuf&uuml;gen</a><br>
<a href="#" class="pwa-dismiss close-menu color-gray2-light text-uppercase font-900 opacity-60 font-10">Vielleicht sp&auml;ter</a>
<div class="clear"></div>
</div>
</div>
</div>
<!-- Install instructions for iOS -->
<div id="menu-install-pwa-ios"
@@ -20,13 +20,13 @@
data-menu-height="320"
data-menu-effect="menu-parallax">
<div class="boxed-text-xl mt-4">
<img class="rounded-l mb-3" src="app/icons/icon-128x128.png" alt="img" width="90">
<h4 class="mt-3">Add Sticky on your Home Screen</h4>
<img class="rounded-l mb-3" src="<?php echo SERVER_ADDR; ?>/client/app/icons/icon-128x128.png" alt="img" width="90">
<h4 class="mt-3">F&uuml;ge Regatten.net <?php echo $_CLASS['name']; ?> zu Deinem Startbildschirm hinzu</h4>
<p class="mb-0 pb-0">
Install Sticky on your home screen, and access it just like a regular app. Open your Safari menu and tap "Add to Home Screen".
Installiere Regatten.net auf Deinem Startbildschirm und greife wie bei einer normalen App darauf zu. &Ouml;ffne Dein Safari-Men&uuml; und tippe auf &quot;Zum Startbildschirm hinzuf&uuml;gen&quot;.
</p>
<div class="clear"></div>
<a href="#" class="pwa-dismiss close-menu color-highlight uppercase ultrabold opacity-80 top-25">Maybe later</a>
<a href="#" class="pwa-dismiss close-menu color-highlight uppercase ultrabold opacity-80 top-25">Vielleicht sp&auml;ter</a>
<i class="fa-ios-arrow fa fa-caret-down font-40"></i>
</div>
</div>

132
server/page/menus.php Normal file
View File

@@ -0,0 +1,132 @@
<div id="menu-share" class="menu menu-box-bottom menu-box-detached rounded-m" data-menu-height="345" data-menu-effect="menu-over">
<div class="menu-title mt-n1"><h1>Share the Love</h1><p class="color-highlight">Just Tap the Social Icon. We'll add the Link</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
<div class="content mb-0">
<div class="divider mb-0"></div>
<div class="list-group list-custom-small list-icon-0">
<a href="#" class="shareToFacebook">
<i class="font-18 fab fa-facebook color-facebook"></i>
<span class="font-13">Facebook</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="#" class="shareToTwitter">
<i class="font-18 fab fa-twitter-square color-twitter"></i>
<span class="font-13">Twitter</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="#" class="shareToLinkedIn">
<i class="font-18 fab fa-linkedin color-linkedin"></i>
<span class="font-13">LinkedIn</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="#" class="shareToWhatsApp">
<i class="font-18 fab fa-whatsapp-square color-whatsapp"></i>
<span class="font-13">WhatsApp</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="#" class="shareToMail border-0">
<i class="font-18 fa fa-envelope-square color-mail"></i>
<span class="font-13">Email</span>
<i class="fa fa-angle-right"></i>
</a>
</div>
</div>
</div>
<!-- All Menus, Action Sheets, Modals, Notifications, Toasts get Placed outside the <div class="page-content"> -->
<div id="menu-lists" class="menu menu-box-bottom menu-box-detached rounded-m" data-menu-height="260" >
<div class="menu-title"><h1>Listen</h1><p class="color-highlight">&nbsp;</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
<div class="divider divider-margins mb-n2"></div>
<div class="content">
<div class="list-group list-custom-small">
<a href="<?php echo LINK_PRE; ?>sailors">
<i class="fa font-14 fa-users rounded-s bg-highlight color-white"></i>
<span>Segler</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>boats">
<i class="fa font-14 fa-ship rounded-s bg-highlight color-white"></i>
<span>Boote</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>clubs" class="border-0">
<i class="fa font-14 fa-home rounded-s bg-highlight color-white"></i>
<span>Vereine</span>
<i class="fa fa-angle-right"></i>
</a>
</div>
</div>
</div>
<div id="menu-more" class="menu menu-box-bottom menu-box-detached rounded-m" data-menu-height="360" >
<div class="menu-title"><h1>Mehr</h1><p class="color-highlight">&nbsp;</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
<div class="divider divider-margins mb-n2"></div>
<div class="content">
<div class="list-group list-custom-small">
<a href="<?php echo LINK_PRE; ?>news">
<i class="fa font-14 fa-newspaper rounded-s bg-highlight color-white"></i>
<span>Neuigkeiten</span>
<span id="badge-more-news" class="badge bg-highlight color-white"></span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>planning">
<i class="fa font-14 fa-calendar-alt rounded-s bg-highlight color-white"></i>
<span>Saison-Planung</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>trim_list">
<i class="fa font-14 fa-book rounded-s bg-highlight color-white"></i>
<span>Trimm-B&uuml;cher</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>calc">
<i class="fa font-14 fa-calculator rounded-s bg-highlight color-white"></i>
<span>RLP-Rechner</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>contact" class="border-0">
<i class="fa font-14 fa-phone rounded-s bg-highlight color-white"></i>
<span>Kontakt</span>
<i class="fa fa-angle-right"></i>
</a>
</div>
</div>
</div>
<div id="menu-settings" class="menu menu-box-bottom menu-box-detached rounded-m" data-menu-height="270">
<div class="menu-title"><h1>Einstellungen</h1><p class="color-highlight">&nbsp;</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
<div class="divider divider-margins mb-n2"></div>
<div class="content">
<div class="list-group list-custom-small">
<a href="#" data-toggle-theme data-trigger-switch="switch-dark" class="pb-2">
<i class="fa font-14 fa-moon rounded-s bg-dark1-dark color-white"></i>
<span>Dark Mode</span>
<div class="custom-control scale-switch ios-switch">
<input data-toggle-theme-switch type="checkbox" class="ios-input" id="switch-dark">
<label class="custom-control-label" for="switch-dark"></label>
</div>
</a>
<a href="<?php echo LINK_PRE; ?>login">
<i class="fa font-14 fa-sign-in-alt rounded-s bg-highlight color-white"></i>
<span>Login</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>signup" class="border-0">
<i class="fa font-14 fa-user-plus rounded-s bg-highlight color-white"></i>
<span>Registrieren</span>
<span class="badge bg-red2-dark color-white">FREE</span>
</a>
</div>
</div>
</div>
<div id="menu-update">
<div class="content bottom-0">
<p class="text-center mt-5"><i class="fa fa-sync-alt fa-7x color-highlight fa-spin"></i></p>
<h1 class="text-center mt-5 font-900">Update Verfügbar</h1>
<p class="text-center">
Eine neue Version unserer App ist verf&uuml;gbar. Keine Sorge, Du musst nichts machen. Wir aktuallisieren den Inhalt in wenigen Sekunden.
</p>
<a href="#" class="page-update btn btn-center-xl btn-m shadow-xl rounded-s bg-highlight font-900 text-center">Update</a>
<p class="text-center font-10 bottom-0">Die App wird neu laden und das Update ist abgeschlossen.</p>
</div>
</div>

View File

@@ -10,162 +10,27 @@
<link rel="stylesheet" type="text/css" href="<?php echo SERVER_ADDR; ?>/client/styles/bootstrap.css">
<link rel="stylesheet" type="text/css" href="<?php echo SERVER_ADDR; ?>/client/styles/style.css">
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i,900,900i|Source+Sans+Pro:300,300i,400,400i,600,600i,700,700i,900,900i&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="<?php echo SERVER_ADDR; ?>/client/fonts/css/fontawesome-all.min.css">
<link rel="stylesheet" type="text/css" href="<?php echo SERVER_ADDR; ?>/client/fonts/css/fontawesome-all.min.css">
<link rel="manifest" href="<?php echo SERVER_ADDR; ?>/manifest.json.php" data-pwa-version="<?php echo PWA_VERSION; ?>">
<link rel="icon" type="image/x-icon" href="<?php echo SERVER_ADDR; ?>/client/app/icons/favicon.ico">
<link rel="apple-touch-icon" sizes="180x180" href="<?php echo SERVER_ADDR; ?>/client/app/icons/icon-192x192.png">
</head>
<body class="detect-theme" data-background="none" data-highlight="blue2">
<div id="preloader"><div class="spinner-border color-highlight" role="status"></div></div>
<div id="page">
<!-- header and footer bar go here-->
<div class="header header-fixed header-logo-center">
<a href="<?php echo LINK_PRE; ?>index" class="header-title">Regatten.net <?php echo $_CLASSES[BOATCLASS]['name']['de']; ?></a>
<?php if ($sp['backbutton'] !== false) {
if ($sp['backbutton'] === true)
echo '<a href="#" class="back-button header-icon header-icon-1"><i class="fas fa-arrow-left"></i></a>';
else
echo '<a href="' . LINK_PRE . $sp['backbutton'] . '" class="header-icon header-icon-1"><i class="fas fa-arrow-left"></i></a>';
} ?>
<a href="#" data-menu="menu-settings" class="header-icon header-icon-4"><i class="fas fa-cog"></i></a>
</div>
<div id="footer-bar" class="footer-bar-1">
<a href="<?php echo LINK_PRE; ?>index"<?php if ($sp['activenav'] == 1) echo ' class="active-nav"'; ?>><i class="fa fa-home"></i><span>Start</span></a>
<a href="<?php echo LINK_PRE; ?>regattas"<?php if ($sp['activenav'] == 2) echo ' class="active-nav"'; ?>><i class="fa fa-flag-checkered"></i><span>Regatten</span></a>
<a href="<?php echo LINK_PRE; ?>rank"<?php if ($sp['activenav'] == 3) echo ' class="active-nav"'; ?>><i class="fa fa-trophy"></i><span>Ranglisten</span></a>
<a href="#" data-menu="menu-lists"<?php if ($sp['activenav'] == 4) echo ' class="active-nav"'; ?>><i class="fa fa-list"></i><span>Listen</span></a>
<a href="#" data-menu="menu-more"<?php if ($sp['activenav'] == 5) echo ' class="active-nav"'; ?>><i class="fa fa-ellipsis-h"></i><span>Mehr</span></a>
</div>
<?php include(__DIR__ . '/headerfooter.php'); ?>
<!--start of page content, add your stuff here-->
<div class="page-content header-clear-medium">
<?php echo $sp['output']; ?>
</div>
</div>
<!--end of page content, off canvas elements here-->
<div id="menu-share" class="menu menu-box-bottom menu-box-detached rounded-m" data-menu-height="345" data-menu-effect="menu-over">
<div class="menu-title mt-n1"><h1>Share the Love</h1><p class="color-highlight">Just Tap the Social Icon. We'll add the Link</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
<div class="content mb-0">
<div class="divider mb-0"></div>
<div class="list-group list-custom-small list-icon-0">
<a href="#" class="shareToFacebook">
<i class="font-18 fab fa-facebook color-facebook"></i>
<span class="font-13">Facebook</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="#" class="shareToTwitter">
<i class="font-18 fab fa-twitter-square color-twitter"></i>
<span class="font-13">Twitter</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="#" class="shareToLinkedIn">
<i class="font-18 fab fa-linkedin color-linkedin"></i>
<span class="font-13">LinkedIn</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="#" class="shareToWhatsApp">
<i class="font-18 fab fa-whatsapp-square color-whatsapp"></i>
<span class="font-13">WhatsApp</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="#" class="shareToMail border-0">
<i class="font-18 fa fa-envelope-square color-mail"></i>
<span class="font-13">Email</span>
<i class="fa fa-angle-right"></i>
</a>
</div>
</div>
</div>
<!-- All Menus, Action Sheets, Modals, Notifications, Toasts get Placed outside the <div class="page-content"> -->
<div id="menu-lists" class="menu menu-box-bottom menu-box-detached rounded-m" data-menu-height="260" >
<div class="menu-title"><h1>Listen</h1><p class="color-highlight">&nbsp;</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
<div class="divider divider-margins mb-n2"></div>
<div class="content">
<div class="list-group list-custom-small">
<a href="<?php echo LINK_PRE; ?>sailors">
<i class="fa font-14 fa-users rounded-s bg-highlight color-white"></i>
<span>Segler</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>boats">
<i class="fa font-14 fa-ship rounded-s bg-highlight color-white"></i>
<span>Boote</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>clubs" class="border-0">
<i class="fa font-14 fa-home rounded-s bg-highlight color-white"></i>
<span>Vereine</span>
<i class="fa fa-angle-right"></i>
</a>
</div>
</div>
</div>
<div id="menu-more" class="menu menu-box-bottom menu-box-detached rounded-m" data-menu-height="360" >
<div class="menu-title"><h1>Mehr</h1><p class="color-highlight">&nbsp;</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
<div class="divider divider-margins mb-n2"></div>
<div class="content">
<div class="list-group list-custom-small">
<a href="<?php echo LINK_PRE; ?>news">
<i class="fa font-14 fa-newspaper rounded-s bg-highlight color-white"></i>
<span>Neuigkeiten</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>planning">
<i class="fa font-14 fa-calendar-alt rounded-s bg-highlight color-white"></i>
<span>Saison-Planung</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>trim_list">
<i class="fa font-14 fa-book rounded-s bg-highlight color-white"></i>
<span>Trimm-B&uuml;cher</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>calc">
<i class="fa font-14 fa-calculator rounded-s bg-highlight color-white"></i>
<span>RLP-Rechner</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>contact" class="border-0">
<i class="fa font-14 fa-phone rounded-s bg-highlight color-white"></i>
<span>Kontakt</span>
<i class="fa fa-angle-right"></i>
</a>
</div>
</div>
</div>
<div id="menu-settings" class="menu menu-box-bottom menu-box-detached rounded-m" data-menu-height="270">
<div class="menu-title"><h1>Einstellungen</h1><p class="color-highlight">&nbsp;</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
<div class="divider divider-margins mb-n2"></div>
<div class="content">
<div class="list-group list-custom-small">
<a href="#" data-toggle-theme data-trigger-switch="switch-dark" class="pb-2">
<i class="fa font-14 fa-moon rounded-s bg-dark1-dark color-white"></i>
<span>Dark Mode</span>
<div class="custom-control scale-switch ios-switch">
<input data-toggle-theme-switch type="checkbox" class="ios-input" id="switch-dark">
<label class="custom-control-label" for="switch-dark"></label>
</div>
</a>
<a href="<?php echo LINK_PRE; ?>login">
<i class="fa font-14 fa-sign-in-alt rounded-s bg-highlight color-white"></i>
<span>Login</span>
<i class="fa fa-angle-right"></i>
</a>
<a href="<?php echo LINK_PRE; ?>signup" class="border-0">
<i class="fa font-14 fa-user-plus rounded-s bg-highlight color-white"></i>
<span>Registrieren</span>
<span class="badge bg-red2-dark color-white">FREE</span>
</a>
</div>
</div>
</div>
<?php include(__DIR__ . '/menus.php'); ?>
<?php echo $sp['menus']; ?>
@@ -176,11 +41,14 @@
?>
<!--end of div id page-->
</div>
</div>
<script type="text/javascript" src="<?php echo SERVER_ADDR; ?>/client/scripts/jquery.js"></script>
<script type="text/javascript" src="<?php echo SERVER_ADDR; ?>/client/scripts/bootstrap.min.js"></script>
<script type="text/javascript" src="<?php echo SERVER_ADDR; ?>/client/scripts/custom.js"></script>
<script type="text/javascript" src="<?php echo SERVER_ADDR; ?>/client/scripts/strings.js.php"></script>
<script type="text/javascript" src="<?php echo SERVER_ADDR; ?>/client/scripts/regatten.js.php"></script>
<script type="text/javascript" src="<?php echo SERVER_ADDR; ?>/client/scripts/custom.js.php"></script>
<script type="text/javascript" src="<?php echo SERVER_ADDR; ?>/client/scripts/pwa.js.php"></script>
</body>
</html>

37
server/templates.php Normal file
View File

@@ -0,0 +1,37 @@
<?php
class Templates {
private $path;
private $templates;
function __construct($path) {
if (substr($path, -1) != '/') $path .= '/';
$this->path = $path;
$this->templates = [];
}
function load($name, $params = []) {
if (!isset($this->templates[$name])) {
$filename = $this->path . $name . '.html';
if (file_exists($filename) and is_file($filename)) {
$this->templates[$name] = file_get_contents($filename);
} else {
return "<p>Template '$name' not found!</p>";
}
}
$template = $this->templates[$name];
while (($pos = strpos($template, '$')) !== false) {
$pos ++;
$pos2 = strpos($template, ';', $pos);
if ($pos2 === false) return "<p>Syntax error in template '$name'!</p>";
$ph = substr($template, $pos, $pos2 - $pos);
if (!isset($params[$ph])) $params[$ph] = '';
$template = str_replace('$' . $ph . ';', $params[$ph], $template);
}
return $template;
}
}
?>

View File

@@ -0,0 +1,3 @@
<a id="$html-id;" class="btn btn-full rounded-s text-uppercase font-900 shadow-m bg-highlight $css-class;" href="$1;">
$0;
</a>

View File

@@ -0,0 +1,5 @@
<div class="card card-style">
<div id="$html-id;" class="content $css-class;">
$0;
</div>
</div>

View File

@@ -0,0 +1,3 @@
<i class="fa fa-exclamation-triangle fa-8x color-red2-dark"></i>
<h1 class="fa-6x mt-5 font-900">$0;</h1>
<h4 class="mb-5 mt-3">$1;</h4>

View File

@@ -0,0 +1,10 @@
<div style="width: 100%; overflow-x: auto;">
<table id="$html-id;" class="table table-striped table-bordered $css-class;">
<thead>
$0;
</thead>
<tbody>
$1;
</tbody>
</table>
</div>