5 Commits

15 changed files with 417 additions and 578 deletions

View File

@@ -3,35 +3,29 @@
// Programmiert durch Samuel Wolff
// Getestet durch: Nicht getestet
namespace ppb\Controller;
namespace kindergartenverwaltung\Controller;
use ppb\Library\Msg;
use ppb\Model\BenutzerModel;
use kindergartenverwaltung\Library\Msg;
use kindergartenverwaltung\Model\BenutzerModel;
class BenutzerController
{
class BenutzerController{
private $db;
public function __construct()
{
public function __construct(){
$this->db = new BenutzerModel();
}
// Updated einen Benutzer
public function updateBenutzer($elternId, $data)
{
public function updateBenutzer($elternId, $data){
$result = $this->db->updateBenutzer($elternId, $data);
$result = $this->db->updateBenutzer($benutzerId, $data);
return json_encode($result);
}
// Fügt einen Benutzer in die Datenbank hinzu
public function insertBenutzer($data)
{
$result = $this->db->insertBenutzer($data);
public function insertBenutzer($data){
$result = $this->db->insertBenutzer($data)
return json_encode($data);
}

View File

@@ -1,44 +0,0 @@
<?php
//Programmierung: Sven Alteköster 100%
//Getestet durch:
namespace ppb\Controller;
use ppb\Library\Msg;
use ppb\Model\GerichtModel;
class BestellungController {
private $db;
public function __construct() {
$this->db = new BestellungModel();
}
public function getBestellung($id=false) {
$result=$this->db->selectBestellung($id);
if($id !== false){
if($result)
$result=$result[0];
else
$result=false;
}
return json_encode($result);
}
public function writeBestellung($data){
$result=$this->db->insertGericht($data);
return json_encode($result);
}
public function updateBestellung($id, $data){
$result=$this->db->updateBestellung($id, $data);
return json_encode($result);
}
public function deleteBestellung($id){
$result=$this->db->deleteBestellung($id);
return json_encode($result);
}
}

View File

@@ -1,31 +1,25 @@
<?php
//Programmiert von: Max Heer, Getestet von:
//Programmiert von: Max Heer, Getestet von:
namespace ppb\Controller;
namespace VPR_Schnittstelle\Controller;
use ppb\Libary\Msg;
use ppb\Model\EnthaeltModel;
use VPR_Schnittstelle\Libary\Msg;
use VPR_Schnittstelle\Model\EnthaeltModel;
class EnthaeltController
{
private $db;
public function __construct()
{
$this->db = new EnthaeltModel();
}
public function getInhaltsstoffe($gerichtId)
{
$result = $this->db->getEnthaelt($gerichtId);
class EnthaeltController(){
public function getInhaltsstoffe($gerichtId){
$result=$this->db->getEnthaelt($gerichtId);
return json_encode($result);
}
public function insertEnthaelt($data)
{
$result = $this->db->insertEnthaelt($data);
public function insertEnthaelt($data){
$result=$this->db->insertEnthaelt($data);
return json_encode($result);
}
}
public function deleteEnthaelt($id){
$result=$this->db->deleteEnthaelt($id);
return json_encode($result);
}
}
?>

View File

@@ -1,44 +0,0 @@
<?php
//Programmierung: Sven Alteköster 100%
//Getestet durch:
namespace ppb\Controller;
use ppb\Library\Msg;
use ppb\Model\GerichtModel;
class GerichtController {
private $db;
public function __construct() {
$this->db = new GerichtModel();
}
public function getGericht($id=false) {
$result=$this->db->selectGericht($id);
if($id !== false){
if($result)
$result=$result[0];
else
$result=false;
}
return json_encode($result);
}
public function writeGericht($data){
$result=$this->db->insertGericht($data);
return json_encode($result);
}
public function updateGericht($id, $data){
$result=$this->db->updateGericht($id, $data);
return json_encode($result);
}
public function deleteGericht($id){
$result=$this->db->deleteGericht($id);
return json_encode($result);
}
}

View File

@@ -0,0 +1,23 @@
<?php
//Programmiert von: Max Heer, Getestet von:
namespace VPR_Schnittstelle\Controller;
use VPR_Schnittstelle\Libary\Msg;
use VPR_Schnittstelle\Model\InhaltsstoffModel;
public function getInhaltsstoff(){
$result=$this->db->getInhaltsstoff();
return json_encode($result);
}
public function insertInhaltsstoff($data){
$result=$this->db->insertInhaltsstoff($data);
return json_encode($result);
}
public function deleteInhaltsstoff($id){
$result=$this->db->deleteInhaltsstoff($id);
return json_encode($result);
}
?>

View File

@@ -3,49 +3,40 @@
// Programmiert durch Samuel Wolff
// Getestet durch: Nicht getestet
namespace ppb\Controller;
namespace kindergartenverwaltung\Controller;
use ppb\Library\Msg;
use ppb\Model\KindModel;
use kindergartenverwaltung\Library\Msg;
use kindergartenverwaltung\Model\KindModel;
class KindController
{
class KindController{
private $db;
public function __construct()
{
public function __construct(){
$this->db = new KindModel();
}
// $parentId ist standardmäßig auf false und gibt damit alle Kinder aus,
// das setzen gibt nur Kinder eines bestimmten Benutzerkontos aus.
public function getKind($parentId = false)
{
public function getKind($parentId = false){
$result = $this->db->getKind($parentId);
return json_encode($result);
}
// Updated ein Kind
public function updateKind($kindId, $data)
{
public function updateKind($kindId, $data){
$result = $this->db->updateKind($kindId, $data);
return json_encode($result);
}
// Fügt ein Kind hinzu
public function addKind($data)
{
public function addKind($data){
$result = $this->db->addKind($data);
return json_encode($data);
}
// Löscht ein Kind
public function deleteKind($kindId)
{
public function deleteKind($kindId){
$result = $this->db->deleteKind($kindId);
return $result;

View File

@@ -0,0 +1,23 @@
<?php
//Programmiert von: Max Heer, Getestet von:
namespace VPR_Schnittstelle\Controller;
use VPR_Schnittstelle\Libary\Msg;
use VPR_Schnittstelle\Model\TagesplanModel;
public function getTagesplan(){
$result=$this->db->getTagesplan();
return json_encode($result);
}
public function insertTagesplan($data){
$result=$this->db->insertTagesplan($data);
return json_encode($result);
}
public function deleteTagesplan($id){
$result=$this->db->deleteTagesplan($id);
return json_encode($result);
}
?>

View File

@@ -3,43 +3,34 @@
// Programmiert durch Samuel Wolff
// Getestet durch: Nicht getestet
namespace ppb\Model;
namespace kindergartenverwaltung\Controller;
use ppb\Library\Msg;
use kindergartenverwaltung\Library\Msg;
use kindergartenverwaltung\Model\BenutzerModel;
class BenutzerModel extends Database
{
class BenutzerModel extends Database{
/**
*
* Updated einen Benutzer
*
* @param $elternId Die Id des Elternaccounts
* @param $data Die gegebenen Daten
*
*/
public function updateBenutzer($elternId, $data)
{
public function updateBenutzer($elternId, $data){
$pdo = $this->linkDB();
$params = array();
$sql = "UPDATE Benutzer SET";
$sql = "UPDATE Benutzer SET"
foreach ($data as $index => $value) {
$sql .= " " . $index . " = :" . $index;
$params[":" . $index] = $value;
foreach($data as $index=>$value){
$sql .= " ".$index." = :".$index;
$params[":".$index] = $value;
}
$sql .= " WHERE id = :benutzerId;";
$params[":benutzerId"] = $elternId;
$params[":benutzerId"] = $kindId;
try {
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
$stmt->excute($params);
}
catch(\PDOException $e){
return false;
}
@@ -49,39 +40,32 @@ class BenutzerModel extends Database
}
/**
*
* Fügt einen neuen Benutzer in der Datenbank hinzu
*
* @param $data Die gegebenen Daten
*
*/
public function insertBenutzer($data)
{
public function insertBenutzer($data){
$pdo = $this->linkDB();
$params = array();
$sql = "INSERT INTO Benutzer (";
foreach ($data as $index => $value) {
$sql .= $index . ", ";
$params[":" + $index] = $index;
foreach($data as $index=>$value){
$sql .= $index.", ";
$params[":"+$index] = $index;
}
$sql = substr($sql, 0, strlen($sql) - 2) . ") VALUES (";
$sql = substr($sql, 0, strlen($sql)-2).") VALUES (";
foreach ($data as $value) {
$sql .= ":" . $value . " ,";
$params[":" + $value] = $value;
foreach($data as $value){
$sql .= ":".$value." ,";
$params[":"+$value] = $value;
}
$sql = substr($sql, 0, strlen($sql) - 2) . ");";
$sql = substr($sql, 0, strlen($sql)-2).");";
try {
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
$stmt->excute($params);
}
catch(\PDOException $e){
return false;
}

View File

@@ -1,105 +0,0 @@
<?php
namespace ppb\Model;
use ppb\Library\Msg;
class BestellungModel extends Database
{
/**
* Sucht die Bestellung in der Datenbank und gibt diese im json-Format zurück.
* @param $id gibt die id, des gesuchten Objektes an. Wenn keine id angegeben wird, werden alle Einträge ausgegeben
*/
public function selectBestellung($id = false)
{
$pdo = $this->linkDB();
$sql = "SELECT * FROM Bestellung";
$params = array();
//Ist eine id angegeben wird der Datensatz in der Datenbank gesucht
if ($id !== false) {
$sql .= " WHERE id = :id";
$params["id"] = $id;
}
//Ausführen des SQL befehls
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
echo $e;
return false;
}
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
//Die Datensätze werden nummeriert
foreach ($result as $key => $row) {
$result[$key]["id"] += 0;
}
return $result;
}
/**
* Fügt ein Bestellung in die Datenbank ein.
* @param $data gibt die Attribute des Datensatzes an.
*/
public function insertBestellung($data)
{
$pdo = $this->linkDB();
$sql = "INSERT INTO Bestellung (" . implode(",", array_keys($data)) . ") VALUES(:" . implode(",:", array_keys($data)) . ")";
try {
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
} catch (\PDOException $e) {
echo $e;
}
return $result;
}
/**
* Updatet einen Datensatz in der Bestellung Tabelle.
* @param $id des Datensatzes
* @param $data neue Parameter des Datensatzes
*/
public function updateBestellung($id, $data)
{
$pdo = $this->linkDB();
$sql = "UPDATE Bestellung SET ";
//Fügt alle Parameter und einen Platzhalter in den SQL Befehl ein
foreach (array_keys($data) as $key) {
$sql .= $key . " = :" . $key . ",";
}
$sql = substr_replace($sql, "", -1) . " WHERE id = :id";
$data["id"] = $id;
try {
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
} catch (\PDOException $e) {
echo $e;
return false;
}
return $result;
}
/**
* Löscht ein Bestellung aus der Tabelle
* @param $id des zu löschenden Bestellung
*/
public function deleteBestellung($id)
{
$pdo = $this->linkDB();
$sql = "DELETE FROM Bestellung WHERE id = :id";
$params = array();
$params[":id"] = $id;
try {
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($params);
} catch (\PDOException $e) {
echo $e;
return false;
}
return $result;
}
}

View File

@@ -9,7 +9,7 @@ abstract class Database {
/**
* Zugangsdaten für die Datenbank
*/
private $dbName = "pbs2h22aal_SubwaySurfers"; //Datenbankname
private $dbName = "pbs2h22aal_av"; //Datenbankname
private $linkName = "mysql.pb.bib.de"; //Datenbank-Server
//Administration: https://mysql.pb.bib.de/phpMyAdmin/
private $user = "pbs2h22aal"; //Benutzername

View File

@@ -1,22 +1,20 @@
<?php
namespace VPR_Schnittstelle\EnthaeltModel;
namespace ppb\Model;
use VPR_Schnittstelle\Library\Msg;
use ppb\Library\Msg;
class EnthaeltModel extends Database{
class EnthaeltModel extends Database
{
public function getEnthaelt($gerichtId)
{
$pdo = $this->linkDB();
public function getEnthaelt($gerichtId){
$pdo=$this->linkDB();
$params = array();
$sql = "SELECT * FROM Enthaelt WHERE gid = :gerichtId;";
$params[":gerichtId"] = $gerichtId;
try {
$params[":gerichtId"] = gerichtId;
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
}
catch(\PDOExeption $e){
return false;
}
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
@@ -24,31 +22,46 @@ class EnthaeltModel extends Database
return $result;
}
public function insertEnthaelt($data)
{
$pdo = $this->linkDB();
public function insertEnthaelt($data){
$pdo=$this->linkDB();
$params = array();
$sql = "INSERT INTO Enthaelt (";
foreach ($data as $index => $value) {
$sql .= "" . $index . ",";
foreach($data as $index=>$value){
$sql .= "".$index.",";
}
$sql = substr($sql, 0, strlen($sql) - 1) . ") VALUES (";
$sql = substr($sql,0,strlen($sql)-1).") VALUES (";
foreach ($data as $index => $value) {
$sql .= "':" . $index . "',";
$params[":" . $index] = $value;
foreach($data as $index=>$value){
$sql .= "':".$index."',";
$params[":".$index] = $value;
}
$sql = substr($sql, 0, strlen($sql) - 1) . ");";
$sql = substr($sql,0,strlen($sql)-1).");";
try {
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return true;
} catch (\PDOException $e) {
}
catch(\PDOExeption $e){
return false;
}
}
}
public function deleteEnthaelt($id){
$pdo=$this->linkDB();
$params = array();
$sql = "DELETE FROM Enthaelt WHERE id=:id;";
$params[":id"] = $id;
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return true;
}
catch(\PDOExeption $e){
return false;
}
}
}
?>

View File

@@ -1,105 +0,0 @@
<?php
namespace ppb\Model;
use ppb\Library\Msg;
class GerichtModel extends Database
{
/**
* Sucht die Gerichte in der Datenbank und gibt diese im json-Format zurück.
* @param $id gibt die id, des gesuchten Objektes an. Wenn keine id angegeben wird, werden alle Einträge ausgegeben
*/
public function selectGericht($id = false)
{
$pdo = $this->linkDB();
$sql = "SELECT * FROM Gericht";
$params = array();
//Ist eine id angegeben wird der Datensatz in der Datenbank gesucht
if ($id !== false) {
$sql .= " WHERE id = :id";
$params["id"] = $id;
}
//Ausführen des SQL befehls
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
echo $e;
return false;
}
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
//Die Datensätze werden nummeriert
foreach ($result as $key => $row) {
$result[$key]["id"] += 0;
}
return $result;
}
/**
* Fügt ein Gericht in die Datenbank ein.
* @param $data gibt die Attribute des Datensatzes an.
*/
public function insertGericht($data)
{
$pdo = $this->linkDB();
$sql = "INSERT INTO Gericht (" . implode(",", array_keys($data)) . ") VALUES(:" . implode(",:", array_keys($data)) . ")";
try {
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
} catch (\PDOException $e) {
echo $e;
}
return $result;
}
/**
* Updatet einen Datensatz in der Gericht Tabelle.
* @param $id des Datensatzes
* @param $data neue Parameter des Datensatzes
*/
public function updateGericht($id, $data)
{
$pdo = $this->linkDB();
$sql = "UPDATE Gericht SET ";
//Fügt alle Parameter und einen Platzhalter in den SQL Befehl ein
foreach (array_keys($data) as $key) {
$sql .= $key . " = :" . $key . ",";
}
$sql = substr_replace($sql, "", -1) . " WHERE id = :id";
$data["id"] = $id;
try {
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($data);
} catch (\PDOException $e) {
echo $e;
return false;
}
return $result;
}
/**
* Löscht ein Gericht aus der Tabelle
* @param $id des zu löschenden Gerichtes
*/
public function deleteGericht($id)
{
$pdo = $this->linkDB();
$sql = "DELETE FROM Gericht WHERE id = :id";
$params = array();
$params[":id"] = $id;
try {
$stmt = $pdo->prepare($sql);
$result = $stmt->execute($params);
} catch (\PDOException $e) {
echo $e;
return false;
}
return $result;
}
}

View File

@@ -0,0 +1,63 @@
<?php
//Programmiert von: Max Heer, Getestet von:
namespace VPR_Schnittstelle\EnthaeltModel;
use VPR_Scnittstelle\Library\Msg;
public function getInhaltsstoff(){
$pdo=$this->linkDB();
$sql = "SELECT * FROM Inhaltsstoff;";
try{
$stmt = $pdo->prepare($sql);
$stmt->execute();
}
catch(\PDOExeption $e){
return false;
}
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
return $result;
}
public function insertInhaltsstoff($data){
$pdo=$this->linkDB();
$params = array();
$sql = "INSERT INTO Inhaltsstoff ";
foreach($data as $index=>$value){
$sql .= "".$index.",";
}
$sql = substr($sql,0,strlen($sql)-1).") VALUES (";
foreach($data as $index=>$value){
$sql .= "':".$index."',";
$params[":".$index] = $value;
}
$sql = substr($sql,0,strlen($sql)-1).");";
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return true;
}
catch(\PDOExeption $e){
return false;
}
}
public function deleteInhaltsstoff($id){
$pdo=$this->linkDB();
$params = array();
$sql = "DELETE FROM Inhalsstoff WHERE id=:id;";
$params[":id"] = $id;
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return true;
}
catch(\PDOExeption $e){
return false;
}
}
?>

View File

@@ -3,16 +3,14 @@
// Programmiert durch Samuel Wolff
// Getestet durch: Nicht getestet
namespace ppb\Model;
namespace kindergartenverwaltung\Model;
use ppb\Library\Msg;
use kindergartenverwaltung\Library\Msg;
class KindModel extends Database
{
class KindModel extends Database{
public function getKind($parentId)
{
public function getKind($parentId){
$pdo = $this->linkDB();
$params = array();
@@ -21,32 +19,31 @@ class KindModel extends Database
// Das mitgeben einer Id erlaubt es die Kinder eines bestimmten Benutzerkontos anzeigen zu lassen,
// während das leerlassen alle Kinder ausgibt.
if ($parentId !== false) {
$sql .= " WHERE bid=:id;";
id($parentId !== false){
$sql. = " WHERE bid=:id;";
$params[":id"] = $parentId;
}
try {
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
$stmt->excute($params);
}
catch(\PDOException $e){
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
}
}
/**
*
/**
* Updated die Daten eines Kindes
*
* @param $kindId Id des Kindes
* @param $data Json encoded Daten mit den neuen Werten
*/
public function updateKind($kindId, $data)
{
public function updateKind($kindId, $data){
$pdo = $this->linkDB();
$params = array();
@@ -56,76 +53,67 @@ class KindModel extends Database
// und setzt die Bindparameter
// $index -> Spalte die geupdated wird
// $value -> neuer Wert
foreach ($data as $index => $value) {
$sql .= " " . $index . " = :" . $index;
$params[":" . $index] = $value;
foreach($data as $index=>$value){
$sql .= " ".$index." = :".$index;
$params[":".$index] = $value;
}
$sql .= " WHERE id = :kindId;";
$params[":kindId"] = $kindId;
try {
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
$stmt->excute($params);
}
catch(\PDOException $e){
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
}
}
/**
*
* Fügt ein Kind mit gegebenen Daten in die Datenbank hinzu
*
/**
* @param $data Die Daten für das neue Kind
*/
public function addKind($data)
{
public function addKind($data){
$pdo = $this->linkDB();
$params = array();
$sql = "INSERT INTO Kind (";
foreach ($data as $index => $value) {
$sql .= $index . ", ";
$params[":" + $index] = $index;
foreach($data as $index=>$value){
$sql .= $index.", ";
$params[":"+$index] = $index;
}
$sql = substr($sql, 0, strlen($sql) - 2) . ") VALUES (";
$sql = substr($sql, 0, strlen($sql)-2).") VALUES (";
foreach ($data as $value) {
$sql .= ":" . $value . " ,";
$params[":" + $value] = $value;
foreach($data as $value){
$sql .= ":".$value." ,";
$params[":"+$value] = $value;
}
$sql = substr($sql, 0, strlen($sql) - 2) . ");";
$sql = substr($sql, 0, strlen($sql)-2).");";
try {
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
$stmt->excute($params);
}
catch(\PDOException $e){
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
}
}
/**
*
* Löscht ein Kind mit einer gegebenen Id aus der Datenbank
*
* @param $kindId Die Id des zu löschenden Kindes
*
*/
public function deleteKind($kindId)
{
public function deleteKind($kindId){
$pdo = $this->linkDB();
$params = array();
@@ -134,17 +122,18 @@ class KindModel extends Database
$params[":id"] = $kindId;
try {
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
} catch (\PDOException $e) {
$stmt->excute($params);
}
catch(\PDOException $e){
return false;
}
$result = $stmt->fetchALL(\PDO::FETCH_ASSOC);
return $result;
}
}
}

63
Model/TagesplanModel.php Normal file
View File

@@ -0,0 +1,63 @@
<?php
//Programmiert von: Max Heer, Getestet von:
namespace VPR_Schnittstelle\EnthaeltModel;
use VPR_Schnittstelle\Library\Msg;
public function getTagesplan(){
$pdo=$this->linkDB();
$sql = "SELECT * FROM Tagesplan;";
try{
$stmt = $pdo->prepare($sql);
$stmt->execute();
}
catch(\PDOExeption $e){
return false;
}
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
return $result;
}
public function insertTagesplan($data){
$pdo=$this->linkDB();
$params = array();
$sql = "INSERT INTO Tagesplan (";
foreach($data as $index=>$value){
$sql .= "".$index.",";
}
$sql = substr($sql,0,strlen($sql)-1).") VALUES (";
foreach($data as $index=>$value){
$sql .= "':".$index."',";
$params[":".$index] = $value;
}
$sql = substr($sql,0,strlen($sql)-1).");";
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return true;
}
catch(\PDOExeption $e){
return false;
}
}
public function delteTagesplan($id){
$pdo=$this->linkDB();
$params = array();
$sql = "DELETE FROM Tagesplan WHERE id=:id;";
$params[":id"] = $id;
try{
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return true;
}
catch(\PDOExeption $e){
return false;
}
}
?>