- square date

- fixed typos
- missed mCss inits
This commit is contained in:
marko
2023-01-28 13:03:59 +01:00
parent cd8f15fe25
commit 4ff0659f90
10 changed files with 109 additions and 97 deletions

View File

@@ -1,34 +1,3 @@
function initSelects() {
var selectElements = document.querySelectorAll('select');
var selectInstances = M.FormSelect.init(selectElements, {});
}
function initSidenav() {
var sidenavElements = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElements, {});
};
function initModals() {
var modalElements = document.querySelectorAll('.modal');
var modalInstances = M.Modal.init(modalElements, {
'onOpenEnd': initSelects
});
};
function openEventModal(eventId) {
openModal(`#event-modal-${eventId}`);
}
function openModal(modalId) {
var modalElement = document.querySelector(modalId);
if (modalElement === null) {
return;
}
var modalInstance = M.Modal.getInstance(modalElement);
modalInstance.open();
}
// What to do when the document is loaded.
document.addEventListener('DOMContentLoaded', function () {
// init materialize elements
@@ -42,3 +11,43 @@ document.addEventListener('DOMContentLoaded', function () {
openEventModal(eventId);
}
});
// Inits for MaterializeCss (mCss) elements
// Init select forms
function initSelects() {
var selectElements = document.querySelectorAll('select');
// var selectInstances =
M.FormSelect.init(selectElements, {});
}
// Init SideNav menu
function initSidenav() {
var sidenavElements = document.querySelectorAll('.sidenav');
// var sidenavInstances =
M.Sidenav.init(sidenavElements, {});
};
// Init Modals
function initModals() {
var modalElements = document.querySelectorAll('.modal');
// var modalInstances =
M.Modal.init(modalElements, {
'onOpenEnd': initSelects
});
};
// Open the modal of an event by event Id
function openEventModal(eventId) {
openModal(`#event-modal-${eventId}`);
}
// Open a modal by html-Id
function openModal(modalId) {
var modalElement = document.querySelector(modalId);
if (modalElement === null) {
return;
}
var modalInstance = M.Modal.getInstance(modalElement);
modalInstance.open();
}

View File

@@ -12,42 +12,7 @@ include_once 'events.inc.php';
<?php readfile('./shared/imports.php'); ?>
<!-- inits for the materializeCss -->
<script>
function initSidenav() {
var sidenavElements = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElements, {
});
};
function initModals() {
var modalElements = document.querySelectorAll('.modal');
var modalInstances = M.Modal.init(modalElements, {
});
};
function openEventModal(eventId){
openModal(`#event-modal-${eventId}`);
}
function openModal(modalId){
var modalElement = document.querySelector(modalId);
if( modalElement === null ){
return;
}
var modalInstance = M.Modal.getInstance(modalElement);
modalInstance.open();
}
// What to do when the document is loaded.
document.addEventListener('DOMContentLoaded', function() {
// init materialize elements
initModals();
initSidenav();
// opening event modal if given
var eventId = parseInt( window.location.hash.substr(1) );
if( !isNaN(eventId) ){
openEventModal(eventId);
}
});
</script>
<script src="events.js"></script>
<title><?php echo($meta['title']); ?></title>
<meta name="description" content="<?php echo($meta['description']); ?>" />
@@ -73,10 +38,11 @@ include_once 'events.inc.php';
. '<thead><tr><th>Datum</th><th>Veranstaltung</th><th>Starter</th></tr></thead>'
. '<tbody>';
foreach ($eventList as $event) {
$htmlTable .= '<tr><td>' . $event['eventDate'] . '</td><td>' . $event['eventName'] . '</td><td>' . $event['userName'] . ', ' . $event['userFirstname'] . '</td></tr>';
$eventDate = DateTime::createFromFormat('Y-m-d', $event['eventDate']);
$htmlTable .= '<tr><td>' . getHtmlSquareDate($eventDate) . '</td><td>' . $event['eventName'] . '</td><td>' . $event['userName'] . ', ' . $event['userFirstname'] . '</td></tr>';
}
$htmlTable .= '</tbody></table>';
echo('<h2 id="commingStarts">Aktuelle Einschreibungen</h2>');
echo('<h2 id="comingStarts">Aktuelle Einschreibungen</h2>');
echo($htmlTable);
} else {
echo($eventList ? $htmlTable : '<div>Keine Meldungen zu bevorstehenden Events');
@@ -84,10 +50,10 @@ include_once 'events.inc.php';
?>
<h2 id="eventList">Übersicht anstehender Events</h2>
<!-- Table with events-->
<?php echo(eventPlaner::getHtmlEventTable(eventPlaner::getCommingWkEvents())); ?>
<?php echo(eventPlaner::getHtmlEventTable(eventPlaner::getComingWkEvents())); ?>
<h2 id="detailedEventList">Detailansicht kommender Wettkämpfe</h2>
<?php foreach (eventPlaner::getCommingWkEvents() as $event) {
<?php foreach (eventPlaner::getComingWkEvents() as $event) {
echo($event->asHtmlCard());
}?>
</main>

View File

@@ -21,7 +21,6 @@ dbConnector::connect(
$cwsvJudoConfig['db']['password']
);
eventPlaner::setDbConnection(dbConnector::getDbConnection());
participo::authentificate();
$userData = getUserData(dbConnector::getDbConnection(), $_SESSION['user']['userId']);
?>
@@ -36,23 +35,34 @@ $userData = getUserData(dbConnector::getDbConnection(), $_SESSION['user']['userI
<!-- inits for the materializeCss -->
<script>
function initSidenav() {
var sidenavElements = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElements, {
});
};
function initModals() {
var modalElements = document.querySelectorAll('.modal');
var modalInstances = M.Modal.init(modalElements, {
});
};
// What to do when the document is loaded.
document.addEventListener('DOMContentLoaded', function() {
document . addEventListener('DOMContentLoaded', function () {
// init materialize elements
initModals();
initSidenav();
initSelects();
});
function initSidenav() {
var sidenavElements = document.querySelectorAll('.sidenav');
// var sidenavInstances =
M.Sidenav.init(sidenavElements, {
});
};
// Init Modals
function initModals() {
var modalElements = document.querySelectorAll('.modal');
// var modalInstances =
M.Modal.init(modalElements, {
'onOpenEnd': initSelects
});
};
// Init select forms
function initSelects() {
var selectElements = document.querySelectorAll('select');
// var selectInstances =
M.FormSelect.init(selectElements, {});
}
</script>
<style>h1{ font-size: 2.00rem;}h2{ font-size: 1.50rem;}h3{ font-size: 1.25rem;}h3{ font-size: 1.20rem;}h3{ font-size: 1.15rem;}h6{ font-size: 1.10rem;}</style>
@@ -120,7 +130,7 @@ echo(
AppCard::fromArray([
'link' => 'events',
'title' => 'Event-Planer',
'description' => 'Organisieren der Teilnahmen (und nicht-Teilnahmen) an Wettkämpfen, Sondertrainingseinheiten, Feiern etc.' . eventPlaner::getHtmlEventTable(eventPlaner::getCommingWkEvents()),
'description' => 'Organisieren der Teilnahmen (und nicht-Teilnahmen) an Wettkämpfen, Sondertrainingseinheiten, Feiern etc.' . eventPlaner::getHtmlEventTable(eventPlaner::getComingWkEvents()),
'imgUrl' => '/ressourcen/graphiken/icons/terminKalender.svg',
'actions' => [
AppCardAction::fromArray(['caption' => 'Planer', 'link' => 'events']),

View File

@@ -59,7 +59,7 @@ class Event
'<dl>' .
'<dt>Datum</dt>' .
'<dd>' . $this->date->format('Y-m-d') . '</dd>' .
'<dt>Meldefrist</dt>' .
'<dt>Einschreibefrist</dt>' .
'<dd>' . $this->deadline->format('Y-m-d') . '</dd>' .
'<dt>Altersklassen</dt>' .
'<dd>' . $this->shiai->getAgeClasses() . '</dd>' .
@@ -72,7 +72,7 @@ class Event
return
'<tr>' .
'<td>' . $this->date->format('Y-m-d') . '</td>' .
'<td><a href="/pages/desktop/wkParticipo/showWkEvent.php?eventId=' . $this->id . '" >' . $this->shiai->getHtmlName() . '</a></td>' .
'<td><a href="/participo/events#' . $this->id . '" >' . $this->shiai->getHtmlName() . '</a></td>' .
'<td>' . $this->shiai->getAgeClasses() . '</td>' .
'<td><a class="waves-effect waves-light btn modal-trigger" href="#event-modal-' . $this->id . '"><i class="material-icons">zoom_in</i></a></td>' .
'</tr>';
@@ -111,7 +111,7 @@ class Event
$starterList .= 'Bereits eingetragen: <div class="row">';
foreach ($listOfStarter as $s) {
$u = $s->getUser();
$starterList .= '<div class="col s6 m3">' . $u->getName() . ', ' . $u->getFirstname() . $this->getHtmlRemoveStarterForm($s->getEventId(), $s->getUserId()) . '</div>';
$starterList .= '<div class="col s12 m6">' . $u->getName() . ', ' . $u->getFirstname() . $this->getHtmlRemoveStarterForm($s->getEventId(), $s->getUserId()) . '</div>';
}
$starterList .= '</div>';
return $starterList;
@@ -189,7 +189,7 @@ class Event
{
$key = isset($_SESSION['apiKey']) ? $_SESSION['apiKey'] : null;
$form =
'<form class="card col s6 m4" action="api.starter.add.php" method="post">'
'<form class="card col s12 m6" action="api.starter.add.php" method="post">'
. '<input type="hidden" name="eventId" id="eventId" value="' . $this->id . '">'
. '<input type="hidden" name="userId" id="userId" value="' . $user->getId() . '">'
. '<input type="hidden" name="returnToUrl" id="returnToUrl" value="' . urlencode(getCurPagesUrl()) . '" >'

View File

@@ -43,7 +43,7 @@ class participo
return
'<div style="border: 1px solid black">' .
'Datum: ' . date('Y-m-d') . '<br />' .
'Angemeldet als <strong>' . htmlspecialchars($_SESSION['user']['username']) . '</strong>.<br />' .
'Eingeloggt als <strong>' . htmlspecialchars($_SESSION['user']['username']) . '</strong>.<br />' .
'<a href="logout.php">Sitzung beenden</a>' .
'</div>';
}
@@ -517,3 +517,27 @@ function getCurPagesUrl()
}
return $pageURL;
}
/**
* space saving way to put a date
*
* @param [DateTime] $date
* @return string html tag containing the date
*/
function getHtmlSquareDate($date = null)
{
$date = $date ?? new DateTime;
$year = $date->format('Y');
$month = $date->format('M');
$day = $date->format('d');
return
'<div>'
. '<div>'
. '<span style="font-size:large">' . $day . '</span>'
. '<span style="writing-mode: sideways-lr">' . $month . '</span>'
. '</div>'
. '<div style="font-size: small">' . $year . '</div>'
. '</div>';
}

View File

@@ -1,5 +1,6 @@
<?php
require_once 'participoLib/participo.php';
require_once 'participoLib/dbConnector.php';
require_once 'participoLib/apiKey.php';
require_once 'participoLib/shiai.php';
@@ -124,12 +125,14 @@ class eventPlaner
. '<tbody>';
foreach ($comingStarts as $s) {
$eventDeadline = DateTime::createFromFormat('Y-m-d', $s['deadline']);
$eventDate = DateTime::createFromFormat('Y-m-d', $s['eventDate']);
$today = new DateTime();
$htmlTable .= '<tr>'
. '<td>' . $s['eventDate'] . '</td>'
. '<td>' . getHtmlSquareDate($eventDate) . '</td>'
. '<td>' . $s['eventName'] . '</td>'
. '<td>' . $s['userName'] . ', ' . $s['userFirstname'] . '</td>'
. '<td>' . ($eventDeadline <= $today ? Event::getHtmlRemoveStarterForm($s['eventId'], $s['userId']) : '') . '</td>'
. '<td>' . ($eventDeadline >= $today ? Event::getHtmlRemoveStarterForm($s['eventId'], $s['userId']) : '') . '</td>'
// . '<td>' . $eventDeadline->format('Y-m-d') . ' <= ' . $today->format('Y-m-d') . ': ' . ($eventDeadline <= $today ? 'true' : 'false') . '</td>'
. '</tr>';
}
$htmlTable .= '</tbody></table>';

View File

@@ -37,7 +37,7 @@ class Shiai
{
$name = ($this->name != null ? $this->name : 'Wettkampf ohne Namen');
foreach (['meisterschaft', 'turnier', 'randori'] as $fragment) {
str_replace($fragment, '&shy;', $name);
$name = str_replace($fragment, '&shy;' . $fragment, $name);
}
return $name;
}

View File

@@ -82,7 +82,7 @@ else {
</fieldset>
<fieldset>
<div>
<button type="submit" name="submit" value="Anmelden">Anmelden</button>
<button type="submit" name="submit" value="Anmelden">Einloggen</button>
</div>
</fieldset>
<fieldset class="notice"><legend>Hinweise</legend>

View File

@@ -1,5 +1,5 @@
<li>
Angemeldet als <?php echo($_SESSION['user']['username']); ?>
Eingeloggt als <?php echo($_SESSION['user']['username']); ?>
</li>
<li>
<a href="./logout.php">Logout</a>

View File

@@ -47,7 +47,7 @@ except Exception as e:
print(repr(e), file=sys.stderr)
print(driver.page_source)
loginText = "Angemeldet als " + username
loginText = "Eingeloggt als " + username
divList = driver.find_elements(By.TAG_NAME, 'li')
if not any(loginText in d.text for d in divList):
@@ -56,7 +56,7 @@ if not any(loginText in d.text for d in divList):
driver.quit()
exit(-1)
for pageName in ["events", "attendance", "kyu", "user"]: # missing: "infoZettel"
for pageName in ["events", "attendance", "kyu", "user"]: # missing: "infoZettel"
driver.get("http://cwsvjudo.bplaced.net/participo/"+pageName)
try: