neu AdminHelferLevel.php und teilweise headers in Funktionen
This commit is contained in:
parent
3f64d29910
commit
f123163c0a
|
|
@ -3,7 +3,12 @@
|
||||||
require_once 'konfiguration.php';
|
require_once 'konfiguration.php';
|
||||||
SESSION_START();
|
SESSION_START();
|
||||||
require 'SQL.php';
|
require 'SQL.php';
|
||||||
|
require '_functions.php';
|
||||||
$db_link = ConnectDB();
|
$db_link = ConnectDB();
|
||||||
|
$pagename = "Admin-Funktionen"; // name of this page
|
||||||
|
$backlink = "index.php"; // back button in table header from table header
|
||||||
|
$header = PageHeader($pagename);
|
||||||
|
$tablehead = TableHeader($pagename,$backlink);
|
||||||
require '_login.php';
|
require '_login.php';
|
||||||
|
|
||||||
if ($AdminStatus != 1) {
|
if ($AdminStatus != 1) {
|
||||||
|
|
@ -11,22 +16,6 @@ if ($AdminStatus != 1) {
|
||||||
echo '<!doctype html><head><meta http-equiv="Refresh" content="0; URL=index.php" /></head></html>';
|
echo '<!doctype html><head><meta http-equiv="Refresh" content="0; URL=index.php" /></head></html>';
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$header=<<<HEADER
|
|
||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Admin <?php echo EVENTNAME ?></title>
|
|
||||||
<link rel="stylesheet" href="css/style_common.css"/>
|
|
||||||
<link rel="stylesheet" href="css/style_desktop.css" media="screen and (min-width:781px)"/>
|
|
||||||
<link rel="stylesheet" href="css/style_mobile.css" media="screen and (max-width:780px)"/>
|
|
||||||
|
|
||||||
<meta name="viewport" content="width=480" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
HEADER; //<?nop this bracket is just here for vim syntax highlighting
|
|
||||||
|
|
||||||
DatenbankAufDeutsch($db_link);
|
|
||||||
|
|
||||||
$AliasHelferID = 0;
|
$AliasHelferID = 0;
|
||||||
|
|
||||||
if (isset($_SESSION["AliasHelferID"])) {
|
if (isset($_SESSION["AliasHelferID"])) {
|
||||||
|
|
@ -38,29 +27,38 @@ if (isset($_POST["AliasHelferID"])) {
|
||||||
header("Location: " . $_SERVER['PHP_SELF']);
|
header("Location: " . $_SERVER['PHP_SELF']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
// POST from _login.php after login
|
||||||
|
//echo var_dump($_POST);
|
||||||
|
//header("Location: " . $_SERVER['PHP_SELF']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($AliasHelferID != 0) {
|
if ($AliasHelferID != 0) {
|
||||||
$_SESSION["AliasHelferID"] = $AliasHelferID;
|
$_SESSION["AliasHelferID"] = $AliasHelferID;
|
||||||
}
|
}
|
||||||
echo $header; // muss nach redirect-headern fuer POST ausgegeben werden
|
|
||||||
$db_erg = Helferdaten($db_link, $HelferID);
|
$db_erg = Helferdaten($db_link, $HelferID);
|
||||||
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
||||||
$HelferName = $zeile['Name'];
|
$HelferName = $zeile['Name'];
|
||||||
$HelferIsAdmin = $zeile['Admin'];
|
$HelferIsAdmin = $zeile['Admin'];
|
||||||
}
|
}
|
||||||
|
echo $header; // muss nach redirect-headern fuer POST ausgegeben werden
|
||||||
|
echo $tablehead; // variablen aus _login.php
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div style="width: 100%;">
|
|
||||||
|
|
||||||
<table class="commontable">
|
<table class="commontable">
|
||||||
<th>
|
|
||||||
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';">
|
|
||||||
<b>↩</b>
|
|
||||||
</button>
|
|
||||||
<b>Admin <?php echo EVENTNAME; ?></b>
|
|
||||||
</th>
|
|
||||||
<tr>
|
<tr>
|
||||||
|
<tr onclick="window.location.href='AdminHelferLevel.php';">
|
||||||
|
<td>
|
||||||
|
<a class="fallbacklink" href='AdminHelferLevel.php'>
|
||||||
|
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;">
|
||||||
|
<b>HelferLevel verwalten und Accounterstellung</b>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<tr onclick="window.location.href='AdminDienste.php';">
|
<tr onclick="window.location.href='AdminDienste.php';">
|
||||||
<td>
|
<td>
|
||||||
<a class="fallbacklink" href='AdminDienste.php'>
|
<a class="fallbacklink" href='AdminDienste.php'>
|
||||||
|
|
@ -69,9 +67,9 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr onclick="window.location.href='CreateHelfer.php';"> <td>
|
<!--tr onclick="window.location.href='CreateHelfer.php';"> <td>
|
||||||
<img src="Bilder/More.jpeg" style="width:30px;height:30px;"><b>Seite zur selbst-Registrierung</b>
|
<img src="Bilder/More.jpeg" style="width:30px;height:30px;"><b>Seite zur selbst-Registrierung</b>
|
||||||
</td> </tr>
|
</td> </tr-->
|
||||||
|
|
||||||
<tr onclick="window.location.href='EmailZuToken.php';"> <td>
|
<tr onclick="window.location.href='EmailZuToken.php';"> <td>
|
||||||
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;"><b>persönliche Einladungslink(s) generieren</b>
|
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;"><b>persönliche Einladungslink(s) generieren</b>
|
||||||
|
|
@ -80,16 +78,17 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
||||||
<td>
|
<td>
|
||||||
<a class="fallbacklink" href='AdminHelferUebersicht.php'>
|
<a class="fallbacklink" href='AdminHelferUebersicht.php'>
|
||||||
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;">
|
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;">
|
||||||
<b>Helferübersicht und als Admin ändern <br>(Anm: dieses Menü soll die Punkte unterhalb ablösen)</b>
|
<b>Helferübersicht und -verwaltung<!--br>(Anm: dieses Menü soll die Punkte unterhalb ablösen)</b-->
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<th>
|
<!-- <th>
|
||||||
<b>Als Admin ändern:<b>
|
<b>Als Admin ändern:<b>
|
||||||
<form style="display:inline-block;" method=post>
|
<form style="display:inline-block;" method=post>
|
||||||
<select style="height:33px;width:350px;font-size:20" name="AliasHelferID" id="AliasHelferID" onchange="submit()">
|
<select style="height:33px;width:350px;font-size:20" name="AliasHelferID" id="AliasHelferID" onchange="submit()">
|
||||||
<?php
|
-->
|
||||||
|
<!--?php
|
||||||
$db_erg = HelferListe($db_link);
|
$db_erg = HelferListe($db_link);
|
||||||
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
||||||
if ($AliasHelferID != $zeile['HelferID']) {
|
if ($AliasHelferID != $zeile['HelferID']) {
|
||||||
|
|
@ -104,16 +103,13 @@ if( ! isset($selectedSet) or ! $selectedSet) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
?>
|
?--><!--
|
||||||
</select></form>
|
</select></form>
|
||||||
</b>
|
</b>
|
||||||
</td>
|
</td>
|
||||||
</th>
|
</th>
|
||||||
<tr><!--td-->
|
<tr>
|
||||||
<!--<table class="innertable" style="padding:15px"><!-
|
|
||||||
- inner table for indent-->
|
|
||||||
<tr onclick="window.location.href='AdminUserdaten.php';">
|
<tr onclick="window.location.href='AdminUserdaten.php';">
|
||||||
<!--td class="invis"></td-->
|
|
||||||
<td>
|
<td>
|
||||||
<img src="Bilder/dot.png" width="30px" height="2px">
|
<img src="Bilder/dot.png" width="30px" height="2px">
|
||||||
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;">
|
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;">
|
||||||
|
|
@ -134,8 +130,7 @@ if( ! isset($selectedSet) or ! $selectedSet) {
|
||||||
<b> Schichten Hinzufügen</b>
|
<b> Schichten Hinzufügen</b>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!--</table></td> </tr> inner table for indent end-->
|
-->
|
||||||
<!--<tr><th>Weiteres</th></tr>-->
|
|
||||||
<tr onclick="window.location.href='Kalender-all.php';">
|
<tr onclick="window.location.href='Kalender-all.php';">
|
||||||
<td><img src="Bilder/More.jpeg" style="width:30px;height:30px"><b> Admin Kalenderansicht</b> </td>
|
<td><img src="Bilder/More.jpeg" style="width:30px;height:30px"><b> Admin Kalenderansicht</b> </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,155 @@
|
||||||
|
<?php
|
||||||
|
// Login und Admin Status testen. Wenn kein Admin-Status, Weiterleiten auf index.php und beenden
|
||||||
|
require_once 'konfiguration.php';
|
||||||
|
SESSION_START();
|
||||||
|
require 'SQL.php';
|
||||||
|
require '_functions.php';
|
||||||
|
$db_link = ConnectDB();
|
||||||
|
$pagename = "HelferLevel verwalten"; // name of this page
|
||||||
|
$backlink = "Admin.php"; // back button in table header from table header
|
||||||
|
$header = PageHeader($pagename);
|
||||||
|
$tablehead = TableHeader($pagename,$backlink);
|
||||||
|
require '_login.php';
|
||||||
|
|
||||||
|
if ($AdminStatus != 1) {
|
||||||
|
//Seite nur fuer Admins. Weiter zu index.php und exit, wenn kein Admin
|
||||||
|
echo '<!doctype html><head><meta http-equiv="Refresh" content="0; URL=index.php" /></head></html>';
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$AliasHelferID = 0;
|
||||||
|
|
||||||
|
if (isset($_SESSION["AliasHelferID"])) {
|
||||||
|
$AliasHelferID = $_SESSION["AliasHelferID"];
|
||||||
|
}
|
||||||
|
|
||||||
|
$HelferLevelInfo = AlleHelferLevelAlles($db_link);
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
if (isset($_POST["AliasHelferID"])) {
|
||||||
|
$AliasHelferID = $_POST["AliasHelferID"];
|
||||||
|
}
|
||||||
|
if (isset($_POST['save'])){
|
||||||
|
$level = intval($_POST['save']);
|
||||||
|
$beschreibung = $_POST['beschreibung'][$level] ?? $HelferLevelInfo[$level]['HelferLevelBeschreibung'] ;
|
||||||
|
$linkcode = $_POST['linkcode'][$level] ?? $HelferLevelInfo[$level]['linkcode'];
|
||||||
|
HelferLevelUpdate($db_link, $level, $beschreibung, $linkcode);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_POST['create'])) {
|
||||||
|
$beschreibung_neu = trim($_POST['beschreibung_neu'] ?? '');
|
||||||
|
$linkcode_neu = trim($_POST['linkcode_neu'] ?? '');
|
||||||
|
if ($beschreibung_neu !== '' && $linkcode_neu !== '') {
|
||||||
|
HelferLevelInsert($db_link, $beschreibung_neu, $linkcode_neu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isset($_POST['delete'])) {
|
||||||
|
$level = intval($_POST['delete']);
|
||||||
|
HelferLevelDelete($db_link, $level);
|
||||||
|
}
|
||||||
|
|
||||||
|
// POST from _login.php after login
|
||||||
|
//echo var_dump($_POST);
|
||||||
|
header("Location: " . $_SERVER['PHP_SELF']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if ($AliasHelferID != 0) {
|
||||||
|
$_SESSION["AliasHelferID"] = $AliasHelferID;
|
||||||
|
}
|
||||||
|
$db_erg = Helferdaten($db_link, $HelferID);
|
||||||
|
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
||||||
|
$HelferName = $zeile['Name'];
|
||||||
|
$HelferIsAdmin = $zeile['Admin'];
|
||||||
|
}
|
||||||
|
echo $header; // muss nach redirect-headern fuer POST ausgegeben werden
|
||||||
|
echo $tablehead; // variablen aus _login.php
|
||||||
|
?>
|
||||||
|
<p>
|
||||||
|
<img src="Bilder/Info.jpeg" width="25px" height="25px">
|
||||||
|
<b>HelferLevel</b> definieren die Rollen der Accounts und helfen Aufgaben abzugrenzen.
|
||||||
|
Jeder Account ist genau einem Level zugeordnet.
|
||||||
|
Hier können Levels bearbeitet, erstellt oder unbenutzte Levels gelöscht werden. Nutzung durch Accounts und Dienste in den Spalten davor.
|
||||||
|
</p><p>
|
||||||
|
Der Button ganz rechts verlinkt eine Accounterstellungsseit pro Level (Link auf Erstellungsseite enthält jeweiligen "linkcode").<br>
|
||||||
|
Alternativ zur Accounterstellungsseite kann ein
|
||||||
|
<a href="EmailZuToken.php"
|
||||||
|
title="Account mit diesem Level anlegen"
|
||||||
|
class="buttonlike"
|
||||||
|
style="text-decoration: none; padding: 15px 12px 9px 12px; background-color: #eee; border: 2px solid #777; border-radius: 3px; display: inline-block; ">
|
||||||
|
<span style="white-space: nowrap">✉️ </span></a> persönlicher Einladungslink per Email verschickt werden</b>, der automatisch einen Account "auf Klick" anlegt.
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<form action="AdminHelferLevel.php" method="post">
|
||||||
|
<table class="commontable">
|
||||||
|
<tr>
|
||||||
|
<th>Level</th>
|
||||||
|
<th>Beschreibung</th>
|
||||||
|
<th>Linkcode</th>
|
||||||
|
<th>Accounts</th>
|
||||||
|
<th>Dienste</th>
|
||||||
|
<th>Aktion</th>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
foreach ($HelferLevelInfo as $level => $info) {
|
||||||
|
$beschreibung = htmlspecialchars($info['HelferLevelBeschreibung']);
|
||||||
|
$linkcode = htmlspecialchars($info['linkcode']);
|
||||||
|
$accounts = AnzahlAccountsMitHelferLevel($db_link, $level);
|
||||||
|
$dienste = AnzahlDiensteMitHelferLevel($db_link, $level);
|
||||||
|
|
||||||
|
if ($accounts == 0 && $dienste == 0) {
|
||||||
|
$loeschButton = "<button type=\"submit\" name=\"delete\" value=\"$level\" title=\"Eintrag löschen\" style=\"color:red;\">❌</button>";
|
||||||
|
} else {
|
||||||
|
$verwendung = [];
|
||||||
|
if ($accounts > 0) $verwendung[] = "$accounts Account(s)";
|
||||||
|
if ($dienste > 0) $verwendung[] = "$dienste Dienst(e)";
|
||||||
|
$verwendungsText = implode(" und ", $verwendung);
|
||||||
|
$escapedTitle = htmlspecialchars($verwendungsText, ENT_QUOTES);
|
||||||
|
|
||||||
|
$loeschButton = <<<EOL
|
||||||
|
<button
|
||||||
|
title="$escapedTitle nutzen dieses Level"
|
||||||
|
onclick="alert('Dieser HelferLevel ist in Verwendung durch $escapedTitle und kann nicht gelöscht werden.')"
|
||||||
|
style="opacity: 0.5; cursor: not-allowed;"
|
||||||
|
>❌</button>
|
||||||
|
EOL;
|
||||||
|
}
|
||||||
|
echo <<<EOL
|
||||||
|
<tr>
|
||||||
|
<td width="5%">$level</td>
|
||||||
|
<td width="25%"><input type="text" name="beschreibung[$level]" value="$beschreibung" size="40"></td>
|
||||||
|
<td width="25%"><input type="text" name="linkcode[$level]" value="$linkcode" size="40"></td>
|
||||||
|
<td width="5%" style="text-align:center">$accounts</td>
|
||||||
|
<td width="5%" style="text-align:center">$dienste</td>
|
||||||
|
<td width="15%">
|
||||||
|
<button type="submit" name="save" value="$level" title="Ändern">💾</button>
|
||||||
|
$loeschButton
|
||||||
|
|
||||||
|
<a href="CreateHelfer.php?linkcode=$linkcode"
|
||||||
|
title="Account mit diesem Level anlegen"
|
||||||
|
class="buttonlike"
|
||||||
|
style="text-decoration: none; padding: 15px 6px 9px 6px; background-color: #eee; border: 1px solid #777; border-radius: 3px; display: inline-block; ">
|
||||||
|
<span style="white-space: nowrap"> 🧑➕ </span>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
EOL;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<tr>
|
||||||
|
<td>neu</td>
|
||||||
|
<td><input type="text" name="beschreibung_neu" placeholder="Neue Beschreibung" size="40"></td>
|
||||||
|
<td><input type="text" name="linkcode_neu" placeholder="Neuer Linkcode" size="40"></td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td><button type="submit" name="create" value="1" title="Neu anlegen">➕</button></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<a href="<?php echo $backlink; ?>"><button class=back name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';">
|
||||||
|
<b>↩</b>
|
||||||
|
</button>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -6,10 +6,16 @@ require 'SQL.php';
|
||||||
$db_link = ConnectDB();
|
$db_link = ConnectDB();
|
||||||
// Das hier wird über eine Art Token den Zugriff auf CreateHelfer erlauben
|
// Das hier wird über eine Art Token den Zugriff auf CreateHelfer erlauben
|
||||||
// Jedes Token ist mit einem Helferlevel verknüpft, in dem dann Helfer angelegt
|
// Jedes Token ist mit einem Helferlevel verknüpft, in dem dann Helfer angelegt
|
||||||
$typeSecret = $_GET['invite_code'] ?? '';
|
$linkcode = $_GET['linkcode'] ?? '';
|
||||||
if (empty($typeSecret)) {
|
if (empty($linkcode)) {
|
||||||
die("Fehlender Zugangscode.");
|
die("<br>Fehlender Einladungscode.<br>");
|
||||||
}
|
}
|
||||||
|
$HelferLevelDaten = HelferLevelAusEinladung($db_link, $linkcode);
|
||||||
|
if ($HelferLevelDaten === false) {
|
||||||
|
die("<br>Ungültiger Einladungscode.");
|
||||||
|
}
|
||||||
|
$HelferLevel = $HelferLevelDaten['HelferLevel'];
|
||||||
|
$HelferLevelBeschreibung = $HelferLevelDaten['HelferLevelBeschreibung'];
|
||||||
?>
|
?>
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
|
|
@ -32,7 +38,6 @@ if (isset($_POST['sent'])) {
|
||||||
$HelferName = $_POST['helfer-name'];
|
$HelferName = $_POST['helfer-name'];
|
||||||
$HelferEmail = $_POST['helfer-email'];
|
$HelferEmail = $_POST['helfer-email'];
|
||||||
$HelferHandy = $_POST['helfer-handy'];
|
$HelferHandy = $_POST['helfer-handy'];
|
||||||
$HelferLevel = $_POST['helfer-level'];
|
|
||||||
$HelferPasswort = $_POST['helfer-passwort'];
|
$HelferPasswort = $_POST['helfer-passwort'];
|
||||||
$HelferPasswort2 = $_POST['helfer-passwort2'];
|
$HelferPasswort2 = $_POST['helfer-passwort2'];
|
||||||
|
|
||||||
|
|
@ -82,9 +87,10 @@ if (isset($_POST['sent'])) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo "<p>Hier können Sie sich selbst einen Account im Level: $HelferLevelBeschreibung ($HelferLevel) anlegen.<br>";
|
||||||
|
echo 'Danach zum <a href="index.php">Login</a></p>';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<p>Hier können Sie sich selbst einen Account als Helfer anlegen. Danach zum <a href="index.php">Login</a></p>
|
|
||||||
<form method="post">
|
<form method="post">
|
||||||
|
|
||||||
<table class="commontable">
|
<table class="commontable">
|
||||||
|
|
@ -121,39 +127,11 @@ if (isset($_POST['sent'])) {
|
||||||
<input name="helfer-passwort2" type="password" value="<?php echo htmlspecialchars($HelferPasswort2 ?? '')?>" required>
|
<input name="helfer-passwort2" type="password" value="<?php echo htmlspecialchars($HelferPasswort2 ?? '')?>" required>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td>Helferlevel </td></tr>
|
|
||||||
<tr><td>
|
|
||||||
<select hidden name="helfer-level">
|
|
||||||
<?php
|
|
||||||
$db_erg = HelferLevel($db_link);
|
|
||||||
$selected = "";
|
|
||||||
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
|
||||||
$HelferLevel = $zeile['HelferLevel'];
|
|
||||||
$HelferLevelBeschreibung = $zeile['HelferLevelBeschreibung'];
|
|
||||||
if ($HelferLevel == 1) {
|
|
||||||
$selected = " selected " ;
|
|
||||||
};
|
|
||||||
echo "<option value='$HelferLevel' $selected>$HelferLevelBeschreibung</option>";
|
|
||||||
$selected = "";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<button name="sent" value="1">Helfer Anlegen</button>
|
<button name="sent" value="1">Account Anlegen</button>
|
||||||
|
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
|
||||||
|
|
||||||
mysqli_free_result($db_erg);
|
|
||||||
?>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
88
html/SQL.php
88
html/SQL.php
|
|
@ -926,7 +926,7 @@ function LastInsertId($db_link)
|
||||||
|
|
||||||
function HelferLevel($db_link)
|
function HelferLevel($db_link)
|
||||||
{
|
{
|
||||||
$sql = "select HelferLevel,HelferLevelBeschreibung from HelferLevel";
|
$sql = "select HelferLevel, HelferLevelBeschreibung, linkcode from HelferLevel order by HelferLevel";
|
||||||
$result = mysqli_query($db_link, $sql);
|
$result = mysqli_query($db_link, $sql);
|
||||||
if (! $result) {
|
if (! $result) {
|
||||||
echo "Konnte HelferLevel nicht abfragen";
|
echo "Konnte HelferLevel nicht abfragen";
|
||||||
|
|
@ -948,3 +948,89 @@ function alleHelferLevel($db_link)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function HelferLevelAusEinladung($db_link, string $linkcode): array|false {
|
||||||
|
$sql = "SELECT HelferLevel, HelferLevelBeschreibung FROM HelferLevel WHERE linkcode = ?";
|
||||||
|
$stmt = stmt_prepare_and_execute($db_link, $sql, "s", $linkcode);
|
||||||
|
$result = mysqli_stmt_get_result($stmt);
|
||||||
|
|
||||||
|
if (!$result || $result->num_rows === 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result->fetch_assoc();
|
||||||
|
}
|
||||||
|
|
||||||
|
function AlleHelferLevelAlles($db_link)
|
||||||
|
{
|
||||||
|
$result = HelferLevel($db_link);
|
||||||
|
$alle = [];
|
||||||
|
while ($zeile = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
|
||||||
|
$level = $zeile['HelferLevel'];
|
||||||
|
$alle[$level] = [
|
||||||
|
'HelferLevelBeschreibung' => $zeile['HelferLevelBeschreibung'],
|
||||||
|
'linkcode' => $zeile['linkcode'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
return $alle;
|
||||||
|
}
|
||||||
|
|
||||||
|
function HelferLevelUpdate($db_link, int $level, string $beschreibung, string $linkcode): bool {
|
||||||
|
$sql = "UPDATE HelferLevel SET HelferLevelBeschreibung = ?, linkcode = ? WHERE HelferLevel = ?";
|
||||||
|
$stmt = stmt_prepare_and_execute($db_link, $sql, "ssi", $beschreibung, $linkcode, $level);
|
||||||
|
if (!$stmt) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
mysqli_stmt_close($stmt);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function HelferLevelInsert($db_link, string $beschreibung, string $linkcode): bool {
|
||||||
|
$sql = "INSERT INTO HelferLevel (HelferLevelBeschreibung, linkcode) VALUES (?, ?)";
|
||||||
|
$stmt = stmt_prepare_and_execute($db_link, $sql, "ss", $beschreibung, $linkcode);
|
||||||
|
return $stmt !== false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function HelferLevelDelete($db_link, int $level): bool {
|
||||||
|
$sql = "DELETE FROM HelferLevel WHERE HelferLevel = ?";
|
||||||
|
$stmt = stmt_prepare_and_execute($db_link, $sql, "i", $level);
|
||||||
|
return $stmt !== false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function AnzahlAccountsMitHelferLevel($db_link, int $level): int {
|
||||||
|
$sql = "SELECT COUNT(*) AS Anzahl FROM Helfer WHERE HelferLevel = ?";
|
||||||
|
$stmt = stmt_prepare_and_execute($db_link, $sql, "i", $level);
|
||||||
|
$result = mysqli_stmt_get_result($stmt);
|
||||||
|
if ($result && ($row = mysqli_fetch_assoc($result))) {
|
||||||
|
return (int)$row['Anzahl'];
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function AnzahlDiensteMitHelferLevel($db_link, $level) {
|
||||||
|
$sql = "SELECT COUNT(*) FROM Dienst WHERE HelferLevel = ?";
|
||||||
|
$stmt = stmt_prepare_and_execute($db_link, $sql, 'i', $level);
|
||||||
|
$stmt->bind_result($anzahl);
|
||||||
|
$stmt->fetch();
|
||||||
|
return $anzahl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// falls man sowohl nach HelferLevel, Beschreibung oder Invite Code filtern will
|
||||||
|
//function HelferLevelAbfrage($db_link, string $spalte, string $wert): array|false {
|
||||||
|
// // Nur bestimmte Spalten zulassen, um SQL-Injection zu verhindern
|
||||||
|
// $erlaubteSpalten = ['linkcode', 'HelferLevel', 'HelferLevelBeschreibung'];
|
||||||
|
// if (!in_array($spalte, $erlaubteSpalten, true)) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// $sql = "SELECT HelferLevel, HelferLevelBeschreibung, linkcode FROM HelferLevel WHERE $spalte = ?";
|
||||||
|
// $result = stmt_prepare_and_execute($db_link, $sql, "s", $wert);
|
||||||
|
//
|
||||||
|
// if (!$result || $result->num_rows === 0) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return $result->fetch_assoc();
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,17 @@
|
||||||
<?php
|
<?php
|
||||||
// Login und Admin Status testen. Wenn kein Admin-Status, Weiterleiten auf index.php und beenden
|
// Login und Admin Status testen. Wenn kein Admin-Status, Weiterleiten auf index.php und beenden
|
||||||
require_once 'konfiguration.php';
|
require_once 'konfiguration.php';
|
||||||
|
require_once '_functions.php';
|
||||||
SESSION_START();
|
SESSION_START();
|
||||||
require 'SQL.php';
|
require 'SQL.php';
|
||||||
$db_link = ConnectDB();
|
$db_link = ConnectDB();
|
||||||
|
$pagename = "Accountdaten"; // for header in _login.php
|
||||||
|
$backlink = "index.php"; // back button in table header from table header
|
||||||
|
$header = PageHeader($pagename);
|
||||||
|
$tablehead = TableHeader($pagename,$backlink);
|
||||||
|
|
||||||
require '_login.php';
|
require '_login.php';
|
||||||
|
|
||||||
$header= <<< HEADER
|
|
||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title><?php echo EVENTNAME ?> Persönliche Daten ändern</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/style_desktop.css" media="screen and (min-width:781px)"/>
|
|
||||||
<link rel="stylesheet" href="css/style_mobile.css" media="screen and (max-width:780px)"/>
|
|
||||||
<meta name="viewport" content="width=480" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
HEADER; //<? vim syntax-highlight-fix
|
|
||||||
|
|
||||||
|
|
||||||
$HelferID = $_SESSION["HelferID"];
|
$HelferID = $_SESSION["HelferID"];
|
||||||
$AdminID = $_SESSION["AdminID"];
|
$AdminID = $_SESSION["AdminID"];
|
||||||
|
|
|
||||||
|
|
@ -2,39 +2,38 @@
|
||||||
|
|
||||||
require_once 'konfiguration.php';
|
require_once 'konfiguration.php';
|
||||||
|
|
||||||
function HelferAuswahlButton($db_link, $AliasHelferID)
|
function PageHeader ($pagename, $eventname = EVENTNAME){
|
||||||
{
|
$header = <<<HEADER
|
||||||
echo '<b>Helfer wählen:<b>';
|
<!doctype html>
|
||||||
echo '<form style="display:inline-block;" method=post>';
|
<html>
|
||||||
echo '<select style="height:33px;width:350px;" name="AliasHelferID" id="AliasHelferID" onchange="submit()">';
|
<head>
|
||||||
$db_erg = HelferListe($db_link);
|
<title>$pagename $eventname </title>
|
||||||
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
<link rel="stylesheet" href="css/style_common.css"/>
|
||||||
if ($AliasHelferID != $zeile['HelferID']) {
|
<link rel="stylesheet" href="css/style_desktop.css" media="screen and (min-width:781px)"/>
|
||||||
echo "<option value='" . $zeile['HelferID'] . "'>" . $zeile['Name'] . "</optionen>";
|
<link rel="stylesheet" href="css/style_mobile.css" media="screen and (max-width:780px)"/>
|
||||||
} else {
|
<meta name="viewport" content="width=480" />
|
||||||
echo "<option value='" . $zeile['HelferID'] . "' selected='selected'>" . $zeile['Name'] . "</optionen>";
|
</head>
|
||||||
|
<body>
|
||||||
|
HEADER; //<?vim this bracket is just here for vim syntax highlighting
|
||||||
|
return $header;
|
||||||
}
|
}
|
||||||
}
|
function TableHeader ($pagename, $backlink, $eventname = EVENTNAME){
|
||||||
echo '</select></form>';
|
$tablehead = <<<TABLEHEAD
|
||||||
|
<div style="width: 100%;">
|
||||||
|
<table class="commontable">
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
<a href='$backlink'>
|
||||||
|
<button name="BackHelferdaten">
|
||||||
|
<b>↩</b>
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
<b>$pagename $eventname</b>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
TABLEHEAD; // <?vim
|
||||||
|
return $tablehead;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_POST['AliasHelferID'])) {
|
|
||||||
$AliasHelferID = $_POST['AliasHelferID'];
|
|
||||||
} elseif (isset($_SESSION["AliasHelferID"])) {
|
|
||||||
$AliasHelferID = $_SESSION["AliasHelferID"];
|
|
||||||
} else {
|
|
||||||
HelferAuswahlButton($db_link, $AliasHelferID);
|
|
||||||
echo "<p>Erst Helfer auswählen</p>";
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
HelferAuswahlButton($db_link, $AliasHelferID);
|
|
||||||
|
|
||||||
$_SESSION["AliasHelferID"] = $AliasHelferID;
|
|
||||||
$AdminID = $_SESSION["AdminID"];
|
|
||||||
|
|
||||||
$db_erg = Helferdaten($db_link, $AliasHelferID);
|
|
||||||
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
|
|
||||||
$HelferName = $zeile['Name'];
|
|
||||||
$AliasHelferLevel = $zeile['HelferLevel'];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -102,4 +102,5 @@ $AdminID = isset($_SESSION["AdminID"]) ? $_SESSION["AdminID"] : -1;
|
||||||
//TODO vereinheitlichen. index.php verwendet HelferIsAdmin
|
//TODO vereinheitlichen. index.php verwendet HelferIsAdmin
|
||||||
$HelferIsAdmin = $AdminStatus = $_SESSION["AdminStatus"];
|
$HelferIsAdmin = $AdminStatus = $_SESSION["AdminStatus"];
|
||||||
$HelferLevel = $_SESSION["HelferLevel"];
|
$HelferLevel = $_SESSION["HelferLevel"];
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ input, select, textarea {
|
||||||
width: 95%;
|
width: 95%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.commontable button,.back button,.helfer button,#customers button {
|
.commontable button,.back button,.helfer button,#customers button, .buttonlink{
|
||||||
text-decoration: none; /* dont underline links */
|
text-decoration: none; /* dont underline links */
|
||||||
display: inline-block; /* makes it possible to set top and bottom margins */
|
display: inline-block; /* makes it possible to set top and bottom margins */
|
||||||
width: 45px;
|
width: 45px;
|
||||||
|
|
@ -82,3 +82,5 @@ summary {
|
||||||
font-size: 3px;
|
font-size: 3px;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue