<?php
$FILENAME = "data/config.xml";
$NUM_TOPICS = 4;
$PASSWORD = "4321";
if(isset($_POST['password']))
{
if($_POST['password'] == $PASSWORD)
{
$_SESSION['login'] = true;
} else {
$_SESSION['login'] = false;
}
}
if(isset($_POST['logout']) && $_POST['logout'] == "true")
{
$_SESSION['login'] = null;
}
if (isset($_SESSION['login']) && $_SESSION['login'] === true)
{
if (isset($_POST['indexView'])) {
$config->ViewTopics->Topic[$_POST['indexView'] * 1]->name = $_POST['name'];
$config->ViewTopics->Topic[$_POST['indexView'] * 1]->path = $_POST['path'];
if($_POST['displayType'] == "bar" && $_POST['max'] != $_POST['min'])
{
$config->ViewTopics->Topic[$_POST['indexView'] * 1]->type = $_POST['displayType'];
if($_POST['max'] > $_POST['min'])
{
$config->ViewTopics->Topic[$_POST['indexView'] * 1]->min = $_POST['min'];
$config->ViewTopics->Topic[$_POST['indexView'] * 1]->max = $_POST['max'];
} else if($_POST['max'] < $_POST['min'])
{
$config->ViewTopics->Topic[$_POST['indexView'] * 1]->min = $_POST['max'];
$config->ViewTopics->Topic[$_POST['indexView'] * 1]->max = $_POST['min'];
}
} else if($_POST['displayType'] == "text")
{
$config->ViewTopics->Topic[$_POST['indexView'] * 1]->type = $_POST['displayType'];
}
$config->asXML($FILENAME);
}
if (isset($_POST['indexControll'])) {
$config->ControllTopics->Topic[$_POST['indexControll'] * 1]->name = $_POST['name'];
$config->ControllTopics->Topic[$_POST['indexControll'] * 1]->path = $_POST['path'];
$config->ControllTopics->Topic[$_POST['indexControll'] * 1]->value = $_POST['value'];
$config->asXML($FILENAME);
}
$logedin = true;
} else {
$logedin = false;
}
?>
<html>
<head>
<title>Übersicht Teambereich</title>
<link rel="stylesheet" href="data/bootstrap/bootstrap.min.css">
<script src="data/bootstrap/bootstrap.min.js"></script>
</head>
<body>
<center>
<h1>Du befindest dich im Teambereich</h1><br>
<?php
if($logedin == false)
{
echo 'Bitte Passwort eingeben:<form method="post" action=""><input type="password" name="password">'
. '<input type="submit" value="Einlogen"></form>';
} else if($logedin == true)
{
echo '<form method="post" action=""><input type="hidden" name="logout" value="true"><input type="submit" value="Auslogen"></form>';
}
?>
<h2>Anzuzeigende MQTT-Topics</h2><br>
<p>Die Felder Min. Wert und Max. Wert müssen nur ausgefüllt werden, wenn es sich um einen Balken handelt. Sollte der Maximalwert kleiner als der <br>
Minimalwert sein, so werden die Werte getauscht und trotzdem richtig gespeichert.</p>
<table>
<tr>
<th>Name</th>
<th>Pfad</th>
<th>Type</th>
<th>Min. Wert (Balken)</th>
<th>Max. wert (Balken)</th>
<th>Optionen</th>
</tr>
<?php
for ($i = 0; $i < $NUM_TOPICS; $i++)
{
switch ($config->ViewTopics->Topic[$i]->type)
{
case "text" : $actIndexes[] = 0;
break;
case "bar" : $actIndexes[] = 1;
break;
default : $actIndexes[] = 0;
break;
}
echo "<form method='post' action=''><tr><td><input type='text' name='name' value='" . $config->ViewTopics->Topic[$i]->name . "'></td>\r\n\t"
. "<td><input name='path' value='" . $config->ViewTopics->Topic[$i]->path . "'></td>\r\n\t"
. "<td><select id='displayType" . $i . "' name='displayType'><option value='text'>Text</option><option value='bar'>Balken</option></select></td>\r\n\t"
. "<td><input type='number' name='min' value='" . $config->ViewTopics->Topic[$i]->min . "'></td>\r\n\t"
. "<td><input type='number' name='max' value='" . $config->ViewTopics->Topic[$i]->max . "'></td>\r\n\t"
. "<td><input type='submit' value='Einträge Ändern'</td><tr><input type='hidden' name='indexView' value='" . $i . "'></form>\r\n\t";
}
//Hier werden die aktuell ausgewählten Anzeigetypen übernommen
echo "<script>\r\n\t\t";
for($i = 0; $i < $NUM_TOPICS; $i++)
{
echo "document.getElementById('displayType" . $i . "').selectedIndex = " . $actIndexes[$i] . ";\r\n\t\t";
}
echo "</script>\r\n"
?>
</table><br><br>
<h2>Steuerbare Topics</h2><br>
<table>
<tr>
<th>Name</th>
<th>Pfad</th>
<th>Wert</th>
<th>Optionen</th>
</tr>
<?php
for ($i = 0; $i < $NUM_TOPICS; $i++)
{
echo "<form method='post' action=''><tr><td><input type='text' name='name' value='" . $config->ControllTopics->Topic[$i]->name . "'></td\>\r\n\t"
. "<td><input name='path' value='" . $config->ControllTopics->Topic[$i]->path . "'></td>\r\n\t"
. "<td><input name='value' value='" . $config->ControllTopics->Topic[$i]->value . "'></td>\r\n\t"
. "<td><input type='submit' value='Einträge Ändern'</td><tr><input type='hidden' name='indexControll' value='" . $i . "'></form>";
}
?>
</table><br>
<p>Die IP-Adressen der MQTT-Broker lassen sich in "<?php echo $FILENAME ?>" anpassen. Diese Werte werden dann in der AR-Szene von dort übernommen.
<br>Auch alle anderen Werte welche hier bearbeitet werden können, sind dort gespeichert.</p>
</center>
</body>
</html>