WIP on wkParticipo: 7765a9e geändert: index.php

This commit is contained in:
Marko Bunzel
2019-07-27 17:11:46 +02:00
15 changed files with 131 additions and 100 deletions

View File

@@ -3,7 +3,7 @@
require_once('../local/wkParticipoConf.php.inc');
$message = array();
if(!empty($_POST)){
if( empty($_POST['f']['wkId']) || empty($_POST['f']['meldefrist']) || empty($_POST['f']['datum']) ){
if( empty($_POST['f']['wkId']) || empty($_POST['f']['meldefrist']) ){
$message['error'] = 'Es wurden nicht alle Felder ausgefüllt.';
}
else{
@@ -12,13 +12,12 @@
$message['error'] = 'Datenbankverbindung fehlgeschlagen: ' . $mysqli->connect_error;
}
$query = sprintf(
"INSERT INTO wkParticipo_Events (wkId, datum, meldefrist)
SELECT * FROM (SELECT '%s', '%s', '%s') as new_event
"INSERT INTO wkParticipo_Events (wkId, meldefrist)
SELECT * FROM (SELECT '%s', '%s') as new_event
WHERE NOT EXISTS (
SELECT wkId FROM wkParticipo_Events WHERE wkId = '%s'
) LIMIT 1;",
$mysqli->real_escape_string($_POST['f']['wkId']),
$mysqli->real_escape_string($_POST['f']['datum']),
$mysqli->real_escape_string($_POST['f']['meldefrist']),
$mysqli->real_escape_string($_POST['f']['wkId'])
);
@@ -56,7 +55,6 @@
<fieldset>
<legend>Benutzerdaten</legend>
<div><label for="wkId">wkId</label> <input type="text" name="f[wkId]" id="wkId"<?php echo isset($_POST['f']['wkId']) ? ' value="' . htmlspecialchars($_POST['f']['wkId']) . '"' : '' ?> /></div>
<div><label for="datum">datum</label> <input type="text" name="f[datum]" id="datum" <?php echo isset($_POST['f']['datum']) ? ' value="' . htmlspecialchars($_POST['f']['datum']) . '"' : '' ?> /></div>
<div><label for="meldefrist">meldefrist</label> <input type="text" name="f[meldefrist]" id="meldefrist" <?php echo isset($_POST['f']['meldefrist']) ? ' value="' . htmlspecialchars($_POST['f']['meldefrist']) . '"' : '' ?> /></div>
</fieldset>
<fieldset>

View File

@@ -19,7 +19,7 @@
$message['error'] .= "Datenbankverbindung fehlgeschlagen: ".$mysqlConn->connect_error."<br /";
}
else{
$wkEventData = getWkEventData($mysqlConn, $_POST['f']['eventId']);
$wkEventData = getEventData($mysqlConn, $_POST['f']['eventId']);
if( date("Y-m-d") > $wkEventData['meldefrist']){
$message['error'] .= "Die Meldefrist ist bereits abgelaufen!<br />";

View File

@@ -1,18 +1,8 @@
<?php
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
require_once('../local/wkParticipoConf.php.inc');
require_once('../auth.php');
require_once('../local/db.php.inc');
require_once('../lib/wkParticipoLib.inc.php');
$basePath = "/users/cwsvjudo/www";
// require_once($basePath."/config/phpcount.config.php");
require_once($basePath."/config/cwsvJudo.config.php");
require_once($basePath."/ressourcen/phpLib/phpcount/phpcount.php");
require_once($basePath."/ressourcen/phpLib/cwsvJudo/miscAssis.php");
$pdoDbConn = getCwsvJudoDbConn();
?>
<!DOCTYPE html>
<html>

View File

@@ -15,6 +15,7 @@
"WHERE kinder IS NOT NULL AND attribute LIKE '%wantsNewsletter=true%';";
$eMailErgebnis = $mysqlConn->query( $queryForEmailAdresses );
$eMailAdresses = $eMailErgebnis->fetchAll();
// foreach($eMailAdresses as $add) echo($add[0].", ");
// print_r($eMailAdresses);die();
$queryForEinschreibefristen =

View File

@@ -23,24 +23,24 @@ $basePath = "/users/cwsvjudo/www";
}
else{
if( (string)(int)$_POST['f']['eventId'] == $_POST['f']['eventId'] ){
$mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
if ($mysqlConn->connect_error) {
$sqlMessage['error'] .= 'Datenbankverbindung fehlgeschlagen: ' . $mysqlConn->connect_error;
$mysqli = @new mysqli($db_server, $db_user, $db_password, $db_name);
if ($mysqli->connect_error) {
$sqlMessage['error'] .= 'Datenbankverbindung fehlgeschlagen: ' . $mysqli->connect_error;
}
else{
// Abfrage der Eventdaten
$eventData = getWkEventData($mysqlConn, $_POST['f']['eventId'], array('outCharset'=>"UTF-8"));
$eventData = getWkEventData($mysqli, $_POST['f']['eventId'], array('outCharset'=>"UTF-8"));
if( empty($eventData) ) $message['error'] = 'Fehler: keine Eventdaten zurückgeliefert!';
else{
// Abfrage der Starterdaten des Events
$starterData = getStarterForEvent($mysqlConn, $eventData['id']);
$starterData = getStarterForEvent($mysqli, $eventData['id']);
// Abfrage der Fahrtdaten des Events
$fahrten = getFahrtenForEvent($mysqlConn, $eventData['id']);
$fahrten = getFahrtenForEvent($mysqli, $eventData['id']);
}
}
}
//var_dump($_POST);
var_dump($_POST);
if( $_POST['action'] == "deleteStarter" ){
try{
$dbConnection = new PDO(
@@ -204,7 +204,7 @@ $basePath = "/users/cwsvjudo/www";
}
echo("<table>");
echo("<tr><th>Name</th><th>Vorname</th><th>Masse</th><th>Platz</th><th>starterId</th><th>fahrtId</th></tr>");
echo("<tr><th>Name</th><th>Vorname</th><th>Geb.Dat.</th><th>Masse</th><th>Platz</th><th>starterId</th><th>fahrtId</th></tr>");
foreach( $starterData as $starter ){
if( empty($starter) ){
@@ -217,6 +217,7 @@ $basePath = "/users/cwsvjudo/www";
$userData = getUserData($mysqli, $starter['userId']);
echo("<td>".mb_convert_encoding($userData['name'], 'UTF-8', 'ISO-8859-1')."</td>");
echo("<td>".mb_convert_encoding($userData['vorname'], 'UTF-8', 'ISO-8859-1')."</td>");
echo("<td>".mb_convert_encoding(date("d.m.Y", strtotime($userData['gebDatum'])), 'UTF-8', 'ISO-8859-1')."</td>");
echo("<td>".$starter['masse']."</td>");
echo("<td>".$starter['platz']."</td>");
echo("<td>".$starter['id']."</td>");
@@ -227,7 +228,7 @@ $basePath = "/users/cwsvjudo/www";
}
}
// $fahrtenData = array();
// $fahrtenData = getFahrtenForEvent($mysqli, $eventData['id']);
$fahrtenData = getFahrtenForEvent($mysqli, $eventData['id']);
?>
<h2>Fahrten:</h2>
<ul>

View File

@@ -1,7 +1,5 @@
<?php
session_start([
'cookie_lifetime' => 86400, // 86400s sind 24h
]);
session_start();
session_regenerate_id();
// Falls der serverseitige Logincookie nicht gesetzt ist, leite zur
if (empty($_SESSION['login'])) {
@@ -14,5 +12,6 @@
"Sie sind als <strong>".htmlspecialchars($_SESSION['user']['username'])."</strong> angemeldet.<br />".
"<a href=\"./logout.php\">Sitzung beenden</a>".
"</div>";
//<div style=\"border: 1px solid black\">".var_export($_SESSION, true)."</div>";
}
?>

View File

@@ -1,7 +1,5 @@
<?php
session_start([
'cookie_lifetime' => 86400, // 86400s sind 24h
]);
session_start();
session_regenerate_id();
// Falls der serverseitige Logincookie nicht gesetzt ist, leite zur
if (empty($_SESSION['login'])){

View File

@@ -186,7 +186,7 @@
<!--Beginn der Einbindung des Counters-->
<?php
$chCounter_page_title = "Wettkampfplaner -- Bilderauswahlübersicht";
$chCounter_page_url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . "?user=".$_SESSION['user']['username'];
$chCounter_page_url = $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI] . "?user=".$_SESSION['user']['username'];
$chCounter_visible=0;
// include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');
?>

View File

@@ -61,7 +61,7 @@
<!--Beginn der Einbindung des Counters-->
<?php
// $chCounter_page_title = "Wettkampfplaner -- Wurflexikon";
// $chCounter_page_url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . "?user=".$_SESSION['user']['username'];
// $chCounter_page_url = $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI] . "?user=".$_SESSION['user']['username'];
// $chCounter_visible=0;
// include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');
?>

View File

@@ -1,13 +1,16 @@
<?php
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
require_once('./local/wkParticipoConf.php.inc');
require_once('./auth.php');
require_once('./local/db.php.inc');
require_once('./lib/wkParticipoLib.inc.php');
$basePath = "/users/cwsvjudo/www";
require_once($basePath."/config/cwsvJudo.config.php");
require_once($basePath."/config/phpcount.config.php");
require_once($basePath."/ressourcen/phpLib/phpcount/phpcount.php");
require_once($basePath."/ressourcen/phpLib/cwsvJudo/miscAssis.php");
$sqlMessage = array();
@@ -15,6 +18,8 @@ setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
if ($mysqlConn->connect_error) {
$sqlMessage['error'] .= 'Datenbankverbindung fehlgeschlagen: ' . $mysqlConn->connect_error;
}
// var_dump($_SESSION);
?>
<!DOCTYPE html>
<html>
@@ -51,6 +56,7 @@ setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
<li>
<a href="https://www.google.com/calendar/render?cid=http://cwsvjudo.bplaced.net/pages/desktop/wkParticipo/calendar.php">alle geplanten Wettkämpfe in den Google Kalender übernehmen</a>
</li>
<?php if(isUserAdmin(getCwsvJudoDbConn(), $_SESSION['user']['userId'])) echo("<li><a href=\"./admin/\">Admin</a></li>");?>
</ul>
</nav>
@@ -121,7 +127,7 @@ setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
<h4 class="fontWeightLighter" ><?php echo( $wkEvent['Veranstaltung'] );?></h4>
<dl>
<dt>Datum</dt><dd><time datetime="<?php echo( $wkEvent['date'] );?>"><?php echo( $wkEvent['date'] );?></time></dd>
<dt>Altersklassen</dt><dd><?php echo( $wkEvent['Altersklassen'] );?></dd>
<dt>Altersklassen<a href="#hilfeAltersklassen"><sup>?</sup></a></dt><dd><?php echo( $wkEvent['Altersklassen'] );?></dd>
<dt>Eingeschrieben als</dt><dd><?php echo( $startTyp[$wkEvent['type']] );?></dd>
</dl>
</div>
@@ -167,7 +173,7 @@ setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
<div class="wkInfo"><ul>
<li>Datum: <?php echo (isset($fahrt['Datum']) ? "<time datetime=\"".mb_convert_encoding($fahrt['Datum'], 'UTF-8', 'ISO-8859-1')."\">".mb_convert_encoding($fahrt['Datum'], 'UTF-8', 'ISO-8859-1')."</time>" : "<fehlendes Datum>" );?></li>
<li>Einschreibefrist: <?php echo (isset($fahrt['meldefrist']) ? "<time datetime=\"".mb_convert_encoding($fahrt['meldefrist'], 'UTF-8', 'ISO-8859-1')."\">".mb_convert_encoding($fahrt['meldefrist'], 'UTF-8', 'ISO-8859-1')."</time>" : "<fehlende Meldefrist>" );?></li>
<li>Altersklassen: <?php echo (isset($fahrt['Altersklassen']) ? mb_convert_encoding($fahrt['Altersklassen'], 'UTF-8', 'ISO-8859-1') : "<fehlende Altersklassen>" );?></li>
<li>Altersklassen<a href="#hilfeAltersklassen"><sup>?</sup></a>: <?php echo (isset($fahrt['Altersklassen']) ? mb_convert_encoding($fahrt['Altersklassen'], 'UTF-8', 'ISO-8859-1') : "<fehlende Altersklassen>" );?></li>
<li>Ort: <a href="<?php echo (isset($fahrt['Routenplaner']) ? mb_convert_encoding($fahrt['Routenplaner'], 'UTF-8', 'ISO-8859-1') : "" );?>"><?php echo (isset($fahrt['Ort']) ? mb_convert_encoding($fahrt['Ort'], 'UTF-8', 'ISO-8859-1') : "<fehlender Ort>" );?></a></li>
<li>Anzahl Plätze: <?php echo count($mitfahrerData)."/".$fahrt['plaetze'];?><ul><?php foreach($mitfahrerData as $mitfahrer){echo "<li>".mb_convert_encoding($mitfahrer['name'], 'UTF-8', 'ISO-8859-1').", ".mb_convert_encoding($mitfahrer['vorname'], 'UTF-8', 'ISO-8859-1')."</li>";};?></ul></li>
</ul></div>
@@ -229,27 +235,28 @@ setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
?>
<h2 id="hilfe">Erklärungen</h2>
<h3>Fristen</h3>
<h3 id="hilfeFristen">Fristen</h3>
<p>
Es gibt zwei verschiedene Fristen. Zum einen die Frist vom Veranstalter, bis wann ihm alle Starter gemeldet sein müssen und zum anderen eine Frist bis wann man einen Starter für einen geplanten Wettkampf bei uns im Planer einschreiben kann. Logischerweise muss vor der Meldung bekannt sein, wer gemeldet werden kann. Deshalb ist die Einschreibefrist des Wettkampfplaners vor der Meldefrist des Veranstalters. Üblicherweise wird mit Meldeschluss die Meldung an den Veranstalter geschickt. Aber nicht immer, z. B. wenn die Teilnehmerzahl beschränkt ist. Sollte mal die Einschreibefrist verstrichen sein und man möchte trotzdem noch jemanden einschreiben, kann dies in den meisten Fällen noch erfolgen indem man mit dem Übungsleiter Rücksprache hält bevor dieser die Meldung an den Veranstalter abschickt.
</p>
<h3>Altersklassen</h3>
<h3 id="hilfeAltersklassen">Altersklassen</h3>
<p>
<p>
Im Judo werden die Kämpfer gemäß ihrem Alter, der Masse und (meistens auch) nach ihrem Geschlecht in Gruppen eingeteilt um miteinander zu kämpfen. Weder die Einteilung in <emph>Alters-</emph> noch die in <emph>Gewichtsklassen</emph> ist dabei einheitlich. Da die Wettkämpfe immer jeweils nur für bestimmte Altersklassen und manchmal auch nur für entweder männlich oder weiblich veranstaltet werden, sollte immer auf der Ausschreibung nachgesehen werden, wie der Veranstalter die Altersklassen definiert.
</p>
<p>
Bezeichnet werden die Altersklassen im Judo meistens mit Ux, wobei x eine Zahl ist. Ux steht für unter x Jahre. Man ist unter x Jahre, wenn man im laufenden Kalenderjahr nicht mehr x Jahre alt wird. Eine Altersklasse geht normalerweise über zwei (teilweise auch drei) Jahrgänge. Zur U11 z.B. würden normalerweise all diejenigen gehören, die im laufenden Jahr 10 oder 9 (bei drei Jahrgängen auch 8) Jahre alt werden. Es gibt aber auch Wettkämpfe in denen die Altersklassen mehr Jahrgänge umfassen.
Bezeichnet werden die Altersklassen im Judo meistens mit Ux, wobei x eine Zahl ist. Ux steht für unter x Jahre. Man ist unter x Jahre, wenn man im laufenden Kalenderjahr nicht mehr x Jahre alt wird. Eine Altersklasse geht normalerweise über zwei (teilweise auch drei) Jahrgänge. Zur U11 z.B. würden normalerweise all diejenigen gehören, die im laufenden Jahr 10 oder 9 (bei drei Jahrgängen auch 8) Jahre alt werden. Es gibt aber auch Wettkämpfe in denen die Altersklassen mehr Jahrgänge umfassen. Um dies im Wettkampfplaner ersichtlicher zu machen, habe ich eine eigene Schreibweise eingeführt. Am Bsp. der U11:<ul><li>Eine U11 geht über 2 Jahre.</li><li>Eine U11- geht über 3 Jahre.</li><li>Eine U11-- geht über 4 Jahre.</li><li>Eine &le;U11 ist nach unten offen.</li></ul>Diese Bezeichnung ist aber in keinster Weise offiziell!
</p>
<p>Im Zweifelsfall kann man mich auch jederzeit fragen.</p>
<p>
Für offizielle, vom Verband ausgerichtete Wettkämpfe gibt es festgelegte Alters- und Gewichtsklassen:
<ul>
<li><a href='http://cwsvjudo.bplaced.net/JudoWiki/AkGk/Jvs2018'>Alters- und Gewichtsklassen des Judoverbandes Sachsen</a></li>
<li><a href='http://cwsvjudo.bplaced.net/JudoWiki/AkGk/Djb2018'>Alters- und Gewichtsklassen im Deutschen Judo Bundes</a></li>
<li><a href='http://cwsvjudo.bplaced.net/JudoWiki/AkGk/Jvs2019'>Alters- und Gewichtsklassen des Judoverbandes Sachsen</a></li>
<li><a href='http://cwsvjudo.bplaced.net/JudoWiki/AkGk/Djb2019'>Alters- und Gewichtsklassen im Deutschen Judo Bundes</a></li>
</ul>
</p>
<p><em>Achtung</em>: Bindend ist immer die Altersklasse auf der Ausschreibung. Ich kann mich beim Abschreiben ja auch mal vertan haben.</p>
</p>
<h2 id="menue">Menü</h2>
@@ -257,7 +264,9 @@ setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
<nav class="navBar">
<ul >
<li><a href="./userInfo.php">Zur Benutzer&shy;übersichts&shy;seite</a></li>
<!-- Seit dem Umzug der Bilder auf lima-city ohne Funktion!
<li><a href="./galImgPicker.php">Bilder&shy;auswahl</a></li>
-->
<li><a href="./infoZettel.php">Infozettel</a></li>
<li><a href="./horstWolfJudosport.php">Wurflexikon</a></li>
<li><a href="./logout.php">Abmelden</a></li>

View File

@@ -60,7 +60,7 @@
<!--Beginn der Einbindung des Counters-->
<?php
// $chCounter_page_title = "Wettkampfplaner -- Infozettel";
// $chCounter_page_url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . "?user=".$_SESSION['user']['username'];
// $chCounter_page_url = $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI] . "?user=".$_SESSION['user']['username'];
// $chCounter_visible=0;
// include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');
?>

View File

@@ -9,47 +9,7 @@ $basePath = "/users/cwsvjudo/www";
require_once($basePath."/ressourcen/phpLib/cwsvJudo/miscAssis.php");
function dbQuery($aDbConnection, $aQueryString, $aBindArray = array(), $someOptions = array( "dbCharset" => "ISO-8859-1", "outCharset" => "UTF-8" ) ){
//echo("Doing ".$aQueryString);
var_dump($aBindArray);
if( empty($someOptions['dbCharset']) ) $someOptions['dbCharset'] = "ISO-8859-1";
if( empty($someOptions['outCharset']) ) $someOptions['outCharset'] = "UTF-8";
/// @toDo: Bisher wird nur die Rückgabe konvertiert. Eigentlich muss
/// doch auch die Eingabe konvertiert werden. Aber das jetzt
/// umzustellen wird schwer! Die User m Wettkampfplaner sind ja z.B.
/// als UTF8 in latin1(?) gespeichert.
try{
$pdoStatement = $aDbConnection->prepare( $aQueryString );
foreach( $aBindArray as $bindName => $bind ){
$pdoStatement->bindValue(
$bindName,
$bind['value'],
(isset($bind['data_type'])?$bind['data_type']:PDO::PARAM_STR)
);
}
$pdoStatement->execute();
$ret = $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
}
catch(PDOException $db_error){
print "Error!: " . $db_error->getMessage() . "<br/>";
return null;
}
//var_dump($ret);
// Zeichensatzkonvertierung
if( is_array($ret) ){
foreach($ret as &$entry){
array_walk(
$entry,
function (&$value, $key, $someOptions) {
$value = iconv($someOptions['dbCharset'], $someOptions['outCharset'], $value);
},
$someOptions
);
}
}
return $ret;
}
/// Ein Array als htmlTabelle darstellen
function array2htmlTableString($anArray){
$ret = "";
if( !is_array($anArray) )
@@ -67,29 +27,83 @@ $ret = "";
return $ret;
}
/// einem User ein Attribut zuordnen
///
/// @param $aDbConnection PDO-Datenbankverbindung, die benutzt werden soll
/// @param $anUserId ID des Users, der das Attribut erhalten soll
/// @param $anAttributeId ID des zu vergebenden Attributes
///
/// - Es erfolgt keine Kontrolle, ob:
/// - die AttributId überhaupt existiert,
/// - ob die UserId überhaupt existiert,
/// - ob der User das Attribut bereits hat,
function giveUserAnUserAttribute($aDbConnection, $anUserId, $anAttributeId){
echo("Entering giveUserAnUserAttribute!");
withdrawUsersAttribute($aDbConnection, $anUserId, $anAttributeId);
try{
dbQuery(
$aDbConnection,
"INSERT INTO `wkParticipo_user<=>userAttributes` (userId, attributeId) VALUES (:userId, :attributeId);",
array(
':userId' => array('value'=>$anUserId, 'data_type'=>PDO::PARAM_INT),
':attributeId'=>array('value'=>$anAttributeId, 'data_type'=>PDO::PARAM_INT)
':userId' => array('value'=>$anUserId, 'data_type'=>PDO::PARAM_INT),
':attributeId'=> array('value'=>$anAttributeId, 'data_type'=>PDO::PARAM_INT)
)
);
}
catch(PDOException $db_error){
print "Error!: " . $db_error->getMessage() . "<br/>";
print "Error!: " . $db_error->getMessage() . "<br/>queryString: ".$queryString."<br />"; var_dump($bindArray);
}
return;
}
/// einem User ein Attribut entziehen
function withdrawUsersAttribute($aDbConnection, $anUserId, $anAttributeId, $limit = NULL){
try{
// Variablen für das Binden an die Query vorbereiten
// inklusive Validierung der Werte
$bindArray = array();
if( is_positive_integer( $anUserId ) ){
$bindArray[':userId'] = array('value'=>$anUserId, 'data_type'=>PDO::PARAM_INT);
}
else{
throw new InvalidArgumentException("withdrawUsersAttribute: userId must be positive integer!");
}
if( is_positive_integer($anAttributeId) ){
$bindArray[':attributeId'] = array('value'=>$anAttributeId, 'data_type'=>PDO::PARAM_INT);
}
else{
throw new InvalidArgumentException("withdrawUsersAttribute: attributeid must be positive integer");
}
if( is_positive_integer( $limit ) ){
$bindArray[':limit'] = array('value' => $limit, 'data_type' => PDO::PARAM_INT);
}
// Zusammenstellen der Query
$queryString =
"DELETE FROM `wkParticipo_user<=>userAttributes` ".
"WHERE `userId`=:userId ".
"AND `attributeId`=:attributeId".
(is_positive_integer( $limit )?" LIMIT :limit":"").
";";
echo("queryString: ".$queryString."<br />"); var_dump($bindArray);
dbQuery(
$aDbConnection,
$queryString,
$bindArray
);
}
catch(PDOException $db_error){
print "Error!: " . $db_error->getMessage() . "<br/>queryString: ".$queryString."<br />"; var_dump($bindArray);
}
return;
}// Ende withdrawUsersAttribute
#exit();
var_dump($_GET);
$actions = ["giveUserAnUserAttribute"];
$actions = ["giveUserAnUserAttribute", "withdrawUsersAttribute"];
$dbConn = getCwsvJudoDbConn();
@@ -98,16 +112,23 @@ $dbConn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
if(isset($_GET['action'])){
switch($_GET['action']){
case "giveUserAnUserAttribute":
//echo("Doing giveUserAnUserAttribute!");
try{
giveUserAnUserAttribute($dbConn, intval($_GET['userIdToGetAttribute']), intval($_GET['attributeIdToGet']));
giveUserAnUserAttribute($dbConn, intval($_GET['userId']), intval($_GET['attributeId']));
}
catch(Exception $e){
print("UPS: ".$e->getMessage());
}
break;
case "withdrawUsersAttribute":
try{
withdrawUsersAttribute($dbConn, intval($_GET['userId']), intval($_GET['attributeId']));
}
catch(Exception $e){
print("UPS: ".$e->getMessage());
}
break;
default:
echo("Ungültige Aktion erwünscht!");
echo("Ungültige Aktion (".$_GET['action'].") erwünscht!");
break;
}
}
@@ -141,7 +162,7 @@ $userAttributes =
</select>
</label>
<label>User:
<select name="userIdToGetAttribute">
<select name="userId">
<option disabled selected value> -- User auswählen -- </option>
<?php
foreach($users as $user)
@@ -150,7 +171,7 @@ $userAttributes =
</select>
</label>
<label>Attribut:
<select name="attributeIdToGet">
<select name="attributeId">
<option disabled selected value> -- Attribut auswählen -- </option>
<?php
foreach($userAttributes as $userAttribute)

View File

@@ -1270,7 +1270,7 @@ $retHtml = "";
"<div class=\"wkInfoCardWkInfo\">".
"<h3 class=\"fontWeightLighter\" >".$aWkEvent['Veranstaltung']."</h4>".
"<dl>".
"<dt>Altersklassen</dt><dd>".$aWkEvent['Altersklassen']."</dd>".
"<dt>Altersklassen<a href=\"#hilfeAltersklassen\"><sup>?</sup></a></dt><dd>".$aWkEvent['Altersklassen']."</dd>".
"<dt>Einschreibefrist</dt><dd>".(
empty($aWkEvent['meldefrist'])?
"fehlende Einschreibefrist"
@@ -1337,5 +1337,16 @@ $retHtml = "";
return $retHtml;
}
function isUserAdmin($dbConn, $userId){
$adminUsers =
dbQuery(
$dbConn,
"SELECT `wkParticipo_user<=>userAttributes`.userId, `wkParticipo_userAttributes`.name from `wkParticipo_user<=>userAttributes` LEFT JOIN `wkParticipo_userAttributes` ON `wkParticipo_user<=>userAttributes`.attributeId = `wkParticipo_userAttributes`.id WHERE `wkParticipo_userAttributes`.name = :attributeName;",
array(":attributeName"=>array('value'=>"isAdmin", 'data_type'=>PDO::PARAM_STR))
);
foreach($adminUsers as $adminUser)
if($adminUser['userId']==$userId)
return true;
return false;
}
?>

View File

@@ -18,7 +18,7 @@ if (isset($_SESSION['login'])) {
$message['error'] = 'Datenbankverbindung fehlgeschlagen: ' . $mysqli->connect_error;
} else {
$query = sprintf(
"SELECT id, loginName, pwHash FROM wkParticipo_Users WHERE loginName = '%s'",
"SELECT id, loginName, pwHash, config FROM wkParticipo_Users WHERE loginName = '%s'",
$mysqli->real_escape_string($_POST['f']['username'])
);
$result = $mysqli->query($query);
@@ -32,12 +32,11 @@ if (isset($_SESSION['login'])) {
'login' => true,
'user' => array(
'username' => $row['loginName'],
'userId' => $row['id']
'userId' => $row['id'],
'userConfig' => json_decode($row['config'], true)
),
);
$message['success'] = 'Anmeldung erfolgreich, <a href="index.php">weiter zum Inhalt.';
PHPCount::AddHit("wkParticipo - login - ".$row['loginName']);
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/pages/desktop/wkParticipo/index.php?user=' . $_POST['f']['username']);
} else {
sleep(1);

View File

@@ -33,9 +33,13 @@ setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
if( empty($eventData) ) $message['error'] .= 'Fehler: keine Eventdaten zurückgeliefert!';
else{
if(!empty($eventData['bemerkungen'])){
// var_dump($eventData);
$tmpJson = json_decode( $eventData['bemerkungen'], true);
// var_dump($tmpJson);
// var_dump($eventData['bemerkungen']);
if($tmpJson){
$eventData['Datum'] = $tmpJson['Datum'];
$eventData['Ort'] = $tmpJson['Ort'];
$eventData['Veranstaltung'] = $tmpJson['Veranstaltung'];
$eventData['Altersklassen'] = $tmpJson['Altersklassen'];
$eventData['Routenplaner'] = $tmpJson['Routenplaner'];