예제 #1
0
    $bewohnerName = $_POST["bewohnerName"];
    $zimmer = explode(";", $_POST["zimmer"]);
    $einzugsDatum = $_POST["einzugsdatum"];
    if (count($zimmer) == 2) {
        $zimmerNummer = $zimmer[0];
        $aktuelleBelegungId = $zimmer[1];
    } else {
        die("Keine oder ungültige Zimmernummer übermittelt.");
    }
    $bewohnerId = $_POST["bewohnerId"];
} else {
    die("Nicht alle oder ungültige Daten übermittelt.");
}
$datenbank = new Datenbank();
$sql = Bewohner::SQL_SELECT_BY_ID;
$bewohner = $datenbank->querySingle($sql, array("id" => $bewohnerId), new BewohnerFactory());
$sql = Belegung::SQL_SELECT_BY_ID;
$aktuelleBelegung = $datenbank->querySingle($sql, array("id" => $aktuelleBelegungId), new BelegungFactory());
if ($aktuelleBelegung && $aktuelleBelegung->zimmer != $zimmerNummer) {
    die("Die Zimmernummer der aktuellen Belegung (" . $aktuelleBelegung->zimmer . ") stimmt nicht mit der übergebenen Zimmernummer (" . $zimmerNummer . ") überein.");
}
$auszugsDatum = date("Y-m-d", strtotime($einzugsDatum . " -1 day"));
// Auszugsdatum in aktuelle Belegung eintragen, falls noch keins angegeben oder
// Auszugsdatum NACH Einzugsdatum.
if (!$aktuelleBelegung->ende || $aktuelleBelegung->ende && $aktuelleBelegung->ende > strtotime($auszugsDatum)) {
    $sql = Belegung::SQL_UPDATE_AUSZUG;
    $datenbank->queryDirekt($sql, array("id" => $aktuelleBelegung->id, "ende" => $auszugsDatum));
}
$sql = Belegung::SQL_INSERT_INTO;
$datenbank->queryDirekt($sql, array("bewohnerId" => $bewohner->id, "zimmer" => $zimmerNummer, "start" => $einzugsDatum));
header("Location: /" . $config["rootDir"] . "bewohner/index.php?id=" . $bewohner->id);
예제 #2
0
파일: index.php 프로젝트: emteg/flurmanager
<?php

require_once "../../klassen/authentication.class.php";
require_once "../../config.php";
require_once "../../klassen/datenbank.class.php";
require_once "../../libs/smarty/Smarty.class.php";
require_once "../../klassen/bewohner.class.php";
require_once "../../klassen/belegung.class.php";
require_once "../../klassen/geld.class.php";
if (isset($_GET["id"]) && is_numeric($_GET["id"]) && $_GET["id"] > 0) {
    $id = $_GET["id"];
} else {
    die("Keine oder ungültige Id übergeben.");
}
$datenbank = new Datenbank();
$sql = Geld::SQL_SELECT_BY_ID_JOIN_BEWOHNER;
$buchung = $datenbank->querySingle($sql, array("id" => $id), new BewohnerGeldFactory());
$smarty = new Smarty();
$smarty->assign("flurName", $config["flurName"]);
$smarty->assign("rootDir", $config["rootDir"]);
$smarty->setTemplateDir("../../seiten/templates/geld/bearbeiten");
$smarty->assign("buchung", $buchung);
$smarty->display("index.tpl");
예제 #3
0
파일: index.php 프로젝트: emteg/flurmanager
<?php

require_once "../klassen/authentication.class.php";
require_once "../config.php";
require_once "../klassen/datenbank.class.php";
require_once "../libs/smarty/Smarty.class.php";
require_once "../klassen/bewohner.class.php";
require_once "../klassen/belegung.class.php";
if (isset($_GET["id"]) && is_numeric($_GET["id"]) && $_GET["id"] > 0) {
    $id = $_GET["id"];
} else {
    die("Keine oder ungültige Bewohner-Id übergeben.");
}
$datenbank = new Datenbank();
$sql = Bewohner::SQL_SELECT_BY_ID;
$bewohner = $datenbank->querySingle($sql, array("id" => $id), new BewohnerFactory());
$sql = Belegung::SQL_SELECT_BY_BEWOHNERID;
$bewohnerBelegungen = $datenbank->queryArray($sql, array("bewohnerId" => $id), new BelegungFactory());
$zimmerNummer = $bewohnerBelegungen[0]->zimmer;
$sql = Belegung::SQL_SELECT_CURRENT_JOIN_BEWOHNER;
$daten = $datenbank->queryArray($sql, array(), new BewohnerBelegungFactory());
$zimmer = array();
for ($i = 1; $i <= $config["zimmerAnzahl"]; $i++) {
    $zimmer[$i]["nummer"] = $i;
    if ($i < 10) {
        $zimmer[$i]["bezeichnung"] = $config["flurName"] . "0" . $i;
    } else {
        $zimmer[$i]["bezeichnung"] = $config["flurName"] . $i;
    }
    $zimmer[$i]["istBelegt"] = false;
    $zimmer[$i]["belegung"] = null;
예제 #4
0
파일: index.php 프로젝트: emteg/flurmanager
<?php

require_once "../klassen/authentication.class.php";
$loginErforderlich = false;
require_once "../config.php";
require_once "../klassen/datenbank.class.php";
require_once "../libs/smarty/Smarty.class.php";
require_once "../klassen/bewohner.class.php";
require_once "../klassen/belegung.class.php";
if (isset($_GET["id"]) && is_numeric($_GET["id"]) && $_GET["id"] > 0) {
    $id = $_GET["id"];
} else {
    die("Keine oder ungültige Belegungs-Id übermittelt.");
}
$datenbank = new Datenbank();
$sql = Belegung::SQL_SELECT_BY_ID_JOIN_BEWOHNER;
$belegung = $datenbank->querySingle($sql, array("id" => $id), new BewohnerBelegungFactory());
$smarty = new Smarty();
$smarty->assign("flurName", $config["flurName"]);
$smarty->assign("rootDir", $config["rootDir"]);
$smarty->setTemplateDir("../seiten/templates/belegung");
$smarty->assign("belegung", $belegung);
$smarty->display("index.tpl");
예제 #5
0
    $zimmer = $_POST["zimmer"];
    $vorname = $_POST["vorname"];
    $nachname = $_POST["nachname"];
    $einzug = $_POST["einzug"];
} else {
    die("Nicht alle notwendigen Formulardaten übertragen und/oder gültig.");
}
if (isset($_POST["auszug"])) {
    $auszug = $_POST["auszug"];
} else {
    $auszug = false;
}
$datenbank = new Datenbank();
// Altbelegung ausziehenlassen, falls vorhanden
$sql = Belegung::SQL_SELECT_LATEST_BY_ZIMMER;
$altBelegung = $datenbank->querySingle($sql, array("zimmer" => $zimmer), new BelegungFactory());
if ($altBelegung && $altBelegung->ende == "") {
    if ($auszug) {
        $sql = Belegung::SQL_UPDATE_AUSZUG;
        $datenbank->queryDirekt($sql, array("ende" => $auszug, "id" => $altBelegung->id));
    } else {
        die("Kein Auszugsdatum übergeben.");
    }
}
// Neuen Bewohner anlegen
$sql = Bewohner::SQL_INSERT_INTO;
$datenbank->queryDirekt($sql, array("vorname" => $vorname, "nachname" => $nachname));
$sql = "SELECT id, vorname, nachname FROM bewohner WHERE vorname = :vorname AND nachname = :nachname ORDER BY Id DESC LIMIT 1";
$bewohner = $datenbank->querySingle($sql, array("vorname" => $vorname, "nachname" => $nachname), new BewohnerFactory());
// Neue Belegung anlegen
$sql = Belegung::SQL_INSERT_INTO;
예제 #6
0
파일: index.php 프로젝트: emteg/flurmanager
<?php

require_once "../klassen/authentication.class.php";
require_once "../config.php";
require_once "../klassen/datenbank.class.php";
require_once "../klassen/user.class.php";
require_once "../klassen/bewohner.class.php";
require_once "../klassen/belegung.class.php";
require_once "../libs/smarty/Smarty.class.php";
if (isset($_GET["id"]) && is_numeric($_GET["id"]) && $_GET["id"] > 0) {
    $id = $_GET["id"];
} else {
    die("Keine oder ungültige User-Id übergeben.");
}
$datenbank = new Datenbank();
$sql = User::SQL_SELECT_BY_ID;
$parameters = array("id" => $id);
$user = $datenbank->querySingle($sql, $parameters, new UserFactory());
if (!$user) {
    die("Kein User mit der übergebenen Id gefunden.");
}
$sql = Belegung::SQL_SELECT_BY_BEWOHNER_ID_JOIN_BEWOHNER;
$parameters = array("bewohnerId" => $user->bewohnerId);
$belegung = $datenbank->querySingle($sql, $parameters, new BewohnerBelegungFactory());
$smarty = new Smarty();
$smarty->assign("flurName", $config["flurName"]);
$smarty->assign("rootDir", $config["rootDir"]);
$smarty->setTemplateDir("../seiten/templates/user");
$smarty->assign("user", $user);
$smarty->assign("belegung", $belegung);
$smarty->display("index.tpl");
예제 #7
0
파일: index.php 프로젝트: emteg/flurmanager
<?php

require_once "../../klassen/authentication.class.php";
require_once "../../config.php";
require_once "../../klassen/datenbank.class.php";
require_once "../../klassen/user.class.php";
require_once "../../klassen/bewohner.class.php";
require_once "../../klassen/belegung.class.php";
require_once "../../libs/smarty/Smarty.class.php";
$datenbank = new Datenbank();
$sql = User::SQL_SELECT_ALLE;
$users = $datenbank->queryArray($sql, array(), new UserFactory());
$belegungen = array();
$sql = Belegung::SQL_SELECT_BY_BEWOHNER_ID_JOIN_BEWOHNER;
$factory = new BewohnerBelegungFactory();
foreach ($users as $user) {
    $parameters = array("bewohnerId" => $user->bewohnerId);
    $belegungen[] = $datenbank->querySingle($sql, $parameters, $factory);
}
$smarty = new Smarty();
$smarty->assign("flurName", $config["flurName"]);
$smarty->assign("rootDir", $config["rootDir"]);
$smarty->setTemplateDir("../../seiten/templates/user/alle");
$smarty->assign("users", $users);
$smarty->assign("belegungen", $belegungen);
$smarty->display("index.tpl");
예제 #8
0
require_once "../config.php";
require_once "../klassen/datenbank.class.php";
require_once "../klassen/user.class.php";
require_once '../functions/passwordHash.function.php';
$datenbank = new Datenbank();
if (!isset($_GET["target"])) {
    $target = '/' . $config["rootDir"];
} else {
    $target = $_GET["target"];
}
$name = $_POST["bcUsername"];
$passwort = $_POST["bcPassword"];
try {
    TUser::validiereName($name);
    TUser::validierePasswort($passwort);
    $sql = TUser::SQL_SELECT_BY_NAME;
    $params = array("name" => $name);
    $user = $datenbank->querySingle($sql, $params, new UserFactory());
    if ($user && validate_password($passwort, $user->passwort) && $user->istAktiviert) {
        $session->anmelden($user->id, $user->name);
        header("Location: " . $target);
    } else {
        if ($user && !$user->istAktiviert) {
            header("Location: /" . $config["rootDir"] . "login/login.php?target=" . $target . "&msg=3");
        } else {
            header("Location: /" . $config["rootDir"] . "login/login.php?target=" . $target . "&msg=1");
        }
    }
} catch (Exception $e) {
    header("Location: /" . $config["rootDir"] . "login/login.php?target=" . $target . "&msg=1");
}