{source}
<style>
label {
vertical-align: top;
}
input, textarea {vertical-align: center;
}
table {margin: 0 auto;
}
</style>
<?php function connectToDB() {$connection = new mysqli(„localhost“, „web_einsatzliste“, „bZVTcL6zvUMTxhtUjqYF“, „web“, 3306);
$connection->set_charset(„utf8mb4“);
if($connection->connect_error)
die();
return $connection;
}
function perfomDeletion() {
$con = connectToDB();
if(!isset($_POST[’nr‘]) || !isset($_POST[‚jahr‘]) || !is_numeric($_POST[‚jahr‘]))
die();
$nr = $_POST[’nr‘];
$jahr = intval($_POST[‚jahr‘]);
$start = $jahr.“-01-01″;
$ende = ($jahr + 1).“-01-01″;
$start = $con->real_escape_string($start);
$ende = $con->real_escape_string($ende);
$sql = „DELETE FROM `#chronoengine_chronoforms_datatable_Einsatzformular` WHERE datum >= ‚“.$start.“‚ AND datum < ‚“.$ende.“‚ AND nr='“.$nr.“‚“;
print $sql;
if($con->query($sql))
echo „Die Einträge wurden erfolgreich gelöscht.“;
else
echo „Error: „.$con->error;
$con->close();
}
function performUpdate() {
$con = connectToDB();
$hb = $con->real_escape_string($_POST[‚hbUpdated‘]);
if($hb == „“)
$hb = „0“;
$fw = $con->real_escape_string($_POST[‚fwUpdated‘]);
if($fw == „“)
$fw = „0“;
$nrUpdated = $con->real_escape_string($_POST[’nrUpdated‘]);
$datumUpdated = $con->real_escape_string($_POST[‚datumUpdated‘]);
$vonUpdated = $con->real_escape_string($_POST[‚vonUpdated‘]);
$bisUpdated = $con->real_escape_string($_POST[‚bisUpdated‘]);
$lageUpdated = $con->real_escape_string($_POST[‚lageUpdated‘]);
$fahrzeugeUpdated = $con->real_escape_string($_POST[‚fahrzeugeUpdated‘]);
$berichtUpdated = $con->real_escape_string($_POST[‚berichtUpdated‘]);
$unique = $con->real_escape_string($_POST[‚unique‘]);
$sqlUpdate = „UPDATE `#chronoengine_chronoforms_datatable_Einsatzformular`
SET `nr`='“.$nrUpdated.“‚, `datum`='“.$datumUpdated.“‚, `von`='“.$vonUpdated.“‚, `bis`='“.$bisUpdated.“‚, `lage`='“.$lageUpdated.“‚, `fahrzeuge`='“.$fahrzeugeUpdated.“‚, `hb`='“.$hb.“‚, `fw`='“.$fw.“‚, `bericht`='“.$berichtUpdated.“‚
WHERE `id`='“.$unique.“‚“;
if($con->query($sqlUpdate))
echo „Update erfolgreich durchgeführt!“;
else
echo „Error: „.$con->error;
$con->close();
}
?>
<?php if(isset($_POST[‚event‘])): ?><?php if($_POST[‚event‘] == „edit“):
$con = connectToDB();
if(!isset($_POST[’nr‘]) || !isset($_POST[‚jahr‘]) || !is_numeric($_POST[‚jahr‘]))
die();
$nr = $_POST[’nr‘];
$jahr = intval($_POST[‚jahr‘]);
$start = $jahr.“-01-01″;
$ende = ($jahr + 1).“-01-01″;
$start = $con->real_escape_string($start);
$ende = $con->real_escape_string($ende);
$sql = „SELECT * FROM `#chronoengine_chronoforms_datatable_Einsatzformular` WHERE datum >= ‚“.$start.“‚ AND datum < ‚“.$ende.“‚ AND nr='“.$nr.“‚“;
$result = $con->query($sql);
$con->close();
if($result->num_rows == 1) :
$row = $result->fetch_array(MYSQLI_ASSOC);
?>
<form method=“POST“>
<input type=“hidden“ name=“nr“ value=“<?=$_POST[’nr‘]?>“ />
<input type=“hidden“ name=“jahr“ value=“<?=$_POST[‚jahr‘]?>“ />
<table cellpadding=“7″><colgroup><col width=“150px“><col /></colgroup><tbody>
<tr><td><label for=“unique“>Einzigartige ID</label></td>
<td><input type=“text“ name=“unique“ value=“<?=$row[‚id‘]?>“ readonly/></td></tr>
<tr><td><label for=“nrUpdated“>Einsatz-Nr.</label></td>
<td><input type=“number“ name=“nrUpdated“ min=“1″ value=“<?=$row[’nr‘]?>“/></td></tr>
<tr><td><label for=“datumUpdated“>Datum</label></td>
<td><input type=“date“ name=“datumUpdated“ value=“<?=$row[‚datum‘]?>“ /></td></tr>
<tr><td><label for=“vonUpdated“>von</label></td>
<td><input type=“time“ name=“vonUpdated“ value=“<?=$row[‚von‘]?>“ /></td></tr>
<tr><td><label for=“bisUpdated“>bis</label></td>
<td><input type=“time“ name=“bisUpdated“ value=“<?=$row[‚bis‘]?>“ /></td></tr>
<tr><td><label for=“lageUpdated“>Lage</label></td>
<td><textarea name=“lageUpdated“ cols=“40″ rows=“5″><?=$row[‚lage‘]?></textarea></td></tr>
<?php
$checked = „“;
if($row[‚hb‘] == 1)
$checked = „checked“;
?>
<tr><td /><td><input type=“checkbox“ name=“hbUpdated“ value=“1″ <?=$checked?> /> Hauptamtliche Kräfte</td></tr>
<?php
$checked = „“;
if($row[‚fw‘] == 1)
$checked = „checked“;
?>
<tr><td /><td><input type=“checkbox“ name=“fwUpdated“ value=“1″ <?=$checked?> /> Freiwillige Kräfte</td></tr>
<tr><td><label for=“fahrzeugeUpdated“>Fahrzeuge</label></td>
<td><textarea name=“fahrzeugeUpdated“ cols=“40″ rows=“5″><?=$row[‚fahrzeuge‘]?></textarea></td></tr>
<tr><td><label for=“berichtUpdated“>Berichts-URL (relativ!)</label></td>
<td><input type=“text“ name=“berichtUpdated“ value=“<?=$row[‚bericht‘]?>“ /></td></tr>
<tr><td><button type=“submit“ name=“event“ value=“finish“>Änderungen speichern</button></td>
<td><button type=“submit“ name=“event“ value=“delete“>Eintrag löschen</button></td></tr></tbody></table></form>
<?php endif; elseif($_POST[‚event‘] == ‚finish‘) :
performUpdate();
elseif($_POST[‚event‘] == ‚delete‘) :
perfomDeletion();
endif; ?>
<?php else: ?><style>
@import url(„/images/additional_css/Einsatzliste_edit.css“);
</style>
<form method=“GET“ style=“float:right; clear: both;“>
Jahr:
<select name=“jahr“ size=“1″ onchange=“this.form.submit()“>
<?php
$jahr = date(„Y“);
if(isset($_GET[‚jahr‘]))
$jahr = $_GET[‚jahr‘];
for($i = date(„Y“); $i >= 2001; $i–) {
if($i == $jahr)
echo „<option selected>“.$i.“</option>“;
else
echo „<option>“.$i.“</option>“;
}
?>
</select>
Monat:
<select name=“monat“ size=“1″ onchange=“this.form.submit()“>
<?php
$monate = array(„Alle“, „Januar“, „Februar“, „März“, „April“, „Mai“, „Juni“, „Juli“, „August“, „September“, „Oktober“, „November“, „Dezember“);
$monat = „Alle“;
if(isset($_GET[‚monat‘]))
$monat = $_GET[‚monat‘];
$maxDisplayed = 12;
if(!isset($_GET[‚jahr‘]) || $_GET[‚jahr‘] == date(„Y“))
$maxDisplayed = date(„n“);
for($i = 0; $i <= $maxDisplayed; $i++) {
if($monate[$i] == $monat)
echo „<option selected>“.$monate[$i].“</option>“;
else
echo „<option>“.$monate[$i].“</option>“;
}
?>
</select>
</form>
<form method=“POST“>
<input type=“hidden“ name=“event“ value=“edit“ />
<input type=“hidden“ name=“jahr“ value=“<?php if(isset($_GET[‚jahr‘])) echo $_GET[‚jahr‘]; else echo date(„Y“); ?>“ />
<table id=“einsatzliste“>
<thead>
<tr>
<th></th>
<th>Nr.</th>
<th>Datum</th>
<th>von</th>
<th>bis</th>
<th>gemeldet als, Ort, Lagemeldung, Maßnahmen</th>
<th>HB</th>
<th>FF</th>
<th>Ausgerückte Fahrzeuge</th>
</tr>
</thead>
<tbody>
<?php
function monthToString($month) {
return str_pad(strval($month + 1), 2, „0“, STR_PAD_LEFT);
}
$monate = array(„Januar“ => 0, „Februar“ => 1, „März“ => 2, „April“ => 3, „Mai“ => 4, „Juni“ => 5, „Juli“ => 6, „August“ => 7, „September“ => 8, „Oktober“ => 9, „November“ => 10, „Dezember“ => 11);
$con = connectToDB();
if(isset($_GET[‚jahr‘]) && is_numeric($_GET[‚jahr‘]))
$jahr = intval($_GET[‚jahr‘]);
else
$jahr = date(„Y“);
if(isset($_GET[‚monat‘]) && array_key_exists($_GET[‚monat‘], $monate))
$monat = $monate[$monat];
else
$monat = -1;
$start = $jahr.“-„.monthToString($monat < 0 ? 0 : $monat).“-01″;
$ende = ($jahr + intdiv($monat + 1, 12) + ($monat < 0 ? 1 : 0)).“-„.monthToString($monat < 0 ? 0 : ($monat + 1) % 12).“-01″;
$start = $con->real_escape_string($start);
$ende = $con->real_escape_string($ende);
$sql = „SELECT * FROM `#chronoengine_chronoforms_datatable_Einsatzformular` WHERE datum >= ‚“.$start.“‚ AND datum < ‚“.$ende.“‚ ORDER BY nr DESC“;
$result = $con->query($sql);
foreach($result as $row) :
$bericht = $row[‚bericht‘] != „“ ? „; <a href=\““.$row[‚bericht‘].“\“>Bericht…</a>“ : „“;
$dateParts = explode(‚-‚, $row[‚datum‘]);
$date = $dateParts[2].“.“.$dateParts[1].“.“.$dateParts[0];
?>
<tr>
<td><input type=“radio“ name=“nr“ value=“<?=$row[’nr‘]?>“ onchange=“this.form.submit()“/></td>
<td><?=$row[’nr‘]?></td>
<td><?=$date?></td>
<td><?=$row[‚von‘]?></td>
<td><?=$row[‚bis‘]?></td>
<td><?=$row[‚lage‘].$bericht?></td>
<?php if($row[‚hb‘] == 1):?>
<td>✗</td>
<?php else: ?>
<td />
<?php endif; if($row[‚fw‘] == 1):?>
<td>✗</td>
<?php else: ?>
<td />
<?php endif;?>
<td><?=$row[‚fahrzeuge‘]?></td>
</tr>
<?php endforeach;
$con->close();?>
</tbody>
</table>
</form>
<?php endif; ?>
{/source}