- square date
- fixed typos - missed mCss inits
This commit is contained in:
@@ -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.
|
// What to do when the document is loaded.
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
// init materialize elements
|
// init materialize elements
|
||||||
@@ -42,3 +11,43 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
openEventModal(eventId);
|
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();
|
||||||
|
}
|
||||||
|
|||||||
@@ -12,42 +12,7 @@ include_once 'events.inc.php';
|
|||||||
<?php readfile('./shared/imports.php'); ?>
|
<?php readfile('./shared/imports.php'); ?>
|
||||||
|
|
||||||
<!-- inits for the materializeCss -->
|
<!-- inits for the materializeCss -->
|
||||||
<script>
|
<script src="events.js"></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>
|
|
||||||
|
|
||||||
<title><?php echo($meta['title']); ?></title>
|
<title><?php echo($meta['title']); ?></title>
|
||||||
<meta name="description" content="<?php echo($meta['description']); ?>" />
|
<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>'
|
. '<thead><tr><th>Datum</th><th>Veranstaltung</th><th>Starter</th></tr></thead>'
|
||||||
. '<tbody>';
|
. '<tbody>';
|
||||||
foreach ($eventList as $event) {
|
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>';
|
$htmlTable .= '</tbody></table>';
|
||||||
echo('<h2 id="commingStarts">Aktuelle Einschreibungen</h2>');
|
echo('<h2 id="comingStarts">Aktuelle Einschreibungen</h2>');
|
||||||
echo($htmlTable);
|
echo($htmlTable);
|
||||||
} else {
|
} else {
|
||||||
echo($eventList ? $htmlTable : '<div>Keine Meldungen zu bevorstehenden Events');
|
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>
|
<h2 id="eventList">Übersicht anstehender Events</h2>
|
||||||
<!-- Table with events-->
|
<!-- Table with events-->
|
||||||
<?php echo(eventPlaner::getHtmlEventTable(eventPlaner::getCommingWkEvents())); ?>
|
<?php echo(eventPlaner::getHtmlEventTable(eventPlaner::getComingWkEvents())); ?>
|
||||||
|
|
||||||
<h2 id="detailedEventList">Detailansicht kommender Wettkämpfe</h2>
|
<h2 id="detailedEventList">Detailansicht kommender Wettkämpfe</h2>
|
||||||
<?php foreach (eventPlaner::getCommingWkEvents() as $event) {
|
<?php foreach (eventPlaner::getComingWkEvents() as $event) {
|
||||||
echo($event->asHtmlCard());
|
echo($event->asHtmlCard());
|
||||||
}?>
|
}?>
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ dbConnector::connect(
|
|||||||
$cwsvJudoConfig['db']['password']
|
$cwsvJudoConfig['db']['password']
|
||||||
);
|
);
|
||||||
|
|
||||||
eventPlaner::setDbConnection(dbConnector::getDbConnection());
|
|
||||||
participo::authentificate();
|
participo::authentificate();
|
||||||
$userData = getUserData(dbConnector::getDbConnection(), $_SESSION['user']['userId']);
|
$userData = getUserData(dbConnector::getDbConnection(), $_SESSION['user']['userId']);
|
||||||
?>
|
?>
|
||||||
@@ -36,23 +35,34 @@ $userData = getUserData(dbConnector::getDbConnection(), $_SESSION['user']['userI
|
|||||||
|
|
||||||
<!-- inits for the materializeCss -->
|
<!-- inits for the materializeCss -->
|
||||||
<script>
|
<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.
|
// What to do when the document is loaded.
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document . addEventListener('DOMContentLoaded', function () {
|
||||||
// init materialize elements
|
// init materialize elements
|
||||||
initModals();
|
initModals();
|
||||||
initSidenav();
|
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>
|
</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>
|
<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([
|
AppCard::fromArray([
|
||||||
'link' => 'events',
|
'link' => 'events',
|
||||||
'title' => 'Event-Planer',
|
'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',
|
'imgUrl' => '/ressourcen/graphiken/icons/terminKalender.svg',
|
||||||
'actions' => [
|
'actions' => [
|
||||||
AppCardAction::fromArray(['caption' => 'Planer', 'link' => 'events']),
|
AppCardAction::fromArray(['caption' => 'Planer', 'link' => 'events']),
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class Event
|
|||||||
'<dl>' .
|
'<dl>' .
|
||||||
'<dt>Datum</dt>' .
|
'<dt>Datum</dt>' .
|
||||||
'<dd>' . $this->date->format('Y-m-d') . '</dd>' .
|
'<dd>' . $this->date->format('Y-m-d') . '</dd>' .
|
||||||
'<dt>Meldefrist</dt>' .
|
'<dt>Einschreibefrist</dt>' .
|
||||||
'<dd>' . $this->deadline->format('Y-m-d') . '</dd>' .
|
'<dd>' . $this->deadline->format('Y-m-d') . '</dd>' .
|
||||||
'<dt>Altersklassen</dt>' .
|
'<dt>Altersklassen</dt>' .
|
||||||
'<dd>' . $this->shiai->getAgeClasses() . '</dd>' .
|
'<dd>' . $this->shiai->getAgeClasses() . '</dd>' .
|
||||||
@@ -72,7 +72,7 @@ class Event
|
|||||||
return
|
return
|
||||||
'<tr>' .
|
'<tr>' .
|
||||||
'<td>' . $this->date->format('Y-m-d') . '</td>' .
|
'<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>' . $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>' .
|
'<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>';
|
'</tr>';
|
||||||
@@ -111,7 +111,7 @@ class Event
|
|||||||
$starterList .= 'Bereits eingetragen: <div class="row">';
|
$starterList .= 'Bereits eingetragen: <div class="row">';
|
||||||
foreach ($listOfStarter as $s) {
|
foreach ($listOfStarter as $s) {
|
||||||
$u = $s->getUser();
|
$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>';
|
$starterList .= '</div>';
|
||||||
return $starterList;
|
return $starterList;
|
||||||
@@ -189,7 +189,7 @@ class Event
|
|||||||
{
|
{
|
||||||
$key = isset($_SESSION['apiKey']) ? $_SESSION['apiKey'] : null;
|
$key = isset($_SESSION['apiKey']) ? $_SESSION['apiKey'] : null;
|
||||||
$form =
|
$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="eventId" id="eventId" value="' . $this->id . '">'
|
||||||
. '<input type="hidden" name="userId" id="userId" value="' . $user->getId() . '">'
|
. '<input type="hidden" name="userId" id="userId" value="' . $user->getId() . '">'
|
||||||
. '<input type="hidden" name="returnToUrl" id="returnToUrl" value="' . urlencode(getCurPagesUrl()) . '" >'
|
. '<input type="hidden" name="returnToUrl" id="returnToUrl" value="' . urlencode(getCurPagesUrl()) . '" >'
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class participo
|
|||||||
return
|
return
|
||||||
'<div style="border: 1px solid black">' .
|
'<div style="border: 1px solid black">' .
|
||||||
'Datum: ' . date('Y-m-d') . '<br />' .
|
'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>' .
|
'<a href="logout.php">Sitzung beenden</a>' .
|
||||||
'</div>';
|
'</div>';
|
||||||
}
|
}
|
||||||
@@ -517,3 +517,27 @@ function getCurPagesUrl()
|
|||||||
}
|
}
|
||||||
return $pageURL;
|
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>';
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
require_once 'participoLib/participo.php';
|
||||||
require_once 'participoLib/dbConnector.php';
|
require_once 'participoLib/dbConnector.php';
|
||||||
require_once 'participoLib/apiKey.php';
|
require_once 'participoLib/apiKey.php';
|
||||||
require_once 'participoLib/shiai.php';
|
require_once 'participoLib/shiai.php';
|
||||||
@@ -124,12 +125,14 @@ class eventPlaner
|
|||||||
. '<tbody>';
|
. '<tbody>';
|
||||||
foreach ($comingStarts as $s) {
|
foreach ($comingStarts as $s) {
|
||||||
$eventDeadline = DateTime::createFromFormat('Y-m-d', $s['deadline']);
|
$eventDeadline = DateTime::createFromFormat('Y-m-d', $s['deadline']);
|
||||||
|
$eventDate = DateTime::createFromFormat('Y-m-d', $s['eventDate']);
|
||||||
$today = new DateTime();
|
$today = new DateTime();
|
||||||
$htmlTable .= '<tr>'
|
$htmlTable .= '<tr>'
|
||||||
. '<td>' . $s['eventDate'] . '</td>'
|
. '<td>' . getHtmlSquareDate($eventDate) . '</td>'
|
||||||
. '<td>' . $s['eventName'] . '</td>'
|
. '<td>' . $s['eventName'] . '</td>'
|
||||||
. '<td>' . $s['userName'] . ', ' . $s['userFirstname'] . '</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>';
|
. '</tr>';
|
||||||
}
|
}
|
||||||
$htmlTable .= '</tbody></table>';
|
$htmlTable .= '</tbody></table>';
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ class Shiai
|
|||||||
{
|
{
|
||||||
$name = ($this->name != null ? $this->name : 'Wettkampf ohne Namen');
|
$name = ($this->name != null ? $this->name : 'Wettkampf ohne Namen');
|
||||||
foreach (['meisterschaft', 'turnier', 'randori'] as $fragment) {
|
foreach (['meisterschaft', 'turnier', 'randori'] as $fragment) {
|
||||||
str_replace($fragment, '­', $name);
|
$name = str_replace($fragment, '­' . $fragment, $name);
|
||||||
}
|
}
|
||||||
return $name;
|
return $name;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ else {
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<div>
|
<div>
|
||||||
<button type="submit" name="submit" value="Anmelden">Anmelden</button>
|
<button type="submit" name="submit" value="Anmelden">Einloggen</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset class="notice"><legend>Hinweise</legend>
|
<fieldset class="notice"><legend>Hinweise</legend>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<li>
|
<li>
|
||||||
Angemeldet als <?php echo($_SESSION['user']['username']); ?>
|
Eingeloggt als <?php echo($_SESSION['user']['username']); ?>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="./logout.php">Logout</a>
|
<a href="./logout.php">Logout</a>
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ except Exception as e:
|
|||||||
print(repr(e), file=sys.stderr)
|
print(repr(e), file=sys.stderr)
|
||||||
print(driver.page_source)
|
print(driver.page_source)
|
||||||
|
|
||||||
loginText = "Angemeldet als " + username
|
loginText = "Eingeloggt als " + username
|
||||||
divList = driver.find_elements(By.TAG_NAME, 'li')
|
divList = driver.find_elements(By.TAG_NAME, 'li')
|
||||||
|
|
||||||
if not any(loginText in d.text for d in divList):
|
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()
|
driver.quit()
|
||||||
exit(-1)
|
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)
|
driver.get("http://cwsvjudo.bplaced.net/participo/"+pageName)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user