81 lines
2.6 KiB
PHP
81 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace Blog\Model;
|
|
|
|
use PDOException;
|
|
|
|
class AdminModel extends Database
|
|
{
|
|
private function writeNewAddress($values) {
|
|
$guid = $this->createUUID();
|
|
|
|
$sql = "INSERT INTO ort (`id`, `stadt`, `strasse`, `plz`) VALUES (
|
|
:guid, :stadt, :strasse, :plz);";
|
|
|
|
$pdo = $this->linkDB();
|
|
|
|
try {
|
|
$sth = $pdo->prepare($sql);
|
|
$sth->execute(array(":guid" => $guid,
|
|
":stadt" => $values["stadt"],
|
|
":strasse" => $values["strasse"],
|
|
":plz" => $values["plz"],
|
|
));
|
|
return $guid;
|
|
} catch (PDOException $e) {
|
|
new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e);
|
|
die;
|
|
}
|
|
}
|
|
|
|
public function writeNewCourse($values, $kursleiterId)
|
|
{
|
|
// Bleibt übrig wenn Adresse erstellt wird aber Kurs nicht weil Error
|
|
$addressId = $this->writeNewAddress($values);
|
|
|
|
$guid = $this->createUUID();
|
|
|
|
$sql = "INSERT INTO kurs (`id`, `name`, `preis`, `dauer`, `rabatt`, `kategorie`, `beschreibung`, `kurseleiter`, `ort_id`) VALUES (
|
|
:guid, :name, :preis, :dauer, :rabatt, :kategorie, :beschreibung, :kurseleiter, :ort_id);";
|
|
|
|
$pdo = $this->linkDB();
|
|
|
|
try {
|
|
$sth = $pdo->prepare($sql);
|
|
$sth->execute(array(":guid" => $guid,
|
|
":name" => $values["name"],
|
|
":preis" => $values["preis"],
|
|
":dauer" => $values["dauer"],
|
|
":rabatt" => $values["rabatt"],
|
|
":kategorie" => $values["kategorie"],
|
|
":beschreibung" => $values["beschreibung"],
|
|
":kurseleiter" => $kursleiterId,
|
|
"ort_id" => $addressId
|
|
));
|
|
} catch (PDOException $e) {
|
|
new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e);
|
|
die;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public function getMyCourses() {
|
|
$sql = "SELECT k.id, k.name, k.preis, k.dauer, k.rabatt, k.kategorie, k.beschreibung, o.stadt, o.strasse, o.plz, b.note, b.kommentar
|
|
FROM kurs AS k
|
|
JOIN ort AS o ON o.id = k.ort_id
|
|
LEFT JOIN bewertungen AS b ON b.kurs_id = k.id
|
|
ORDER BY k.name;";
|
|
|
|
$pdo = $this->linkDB();
|
|
|
|
try {
|
|
$sth = $pdo->prepare($sql);
|
|
$sth->execute();
|
|
return $sth->fetchAll(\PDO::FETCH_ASSOC);
|
|
} catch (PDOException $e) {
|
|
new \Blog\Library\ErrorMsg("Fehler beim Lesen der Daten.", $e);
|
|
die;
|
|
}
|
|
}
|
|
} |