diff --git a/.idea/workspace.xml b/.idea/workspace.xml index c18e4c7..08df1c4 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,17 +5,18 @@ - - - - - - - + + + + + + + - - - + + + + - { - "keyToString": { - "RunOnceActivity.OpenProjectViewOnStart": "true", - "RunOnceActivity.ShowReadmeOnStart": "true", - "WebServerToolWindowFactoryState": "false", - "database.data.extractors.current.export.id": "Comma-separated (CSV)_id", - "git-widget-placeholder": "dev/m4__robert", - "last_opened_file_path": "C:/Users/rober/Documents/GitHub/DBWT-Praktika/M3/werbeseite_daten.sql", - "node.js.detected.package.eslint": "true", - "node.js.detected.package.tslint": "true", - "node.js.selected.package.eslint": "(autodetect)", - "node.js.selected.package.tslint": "(autodetect)", - "nodejs_package_manager_path": "npm", - "settings.editor.selected.configurable": "preferences.pluginManager", - "vue.rearranger.settings.migration": "true" + +}]]> + + + + + + @@ -77,7 +84,7 @@ diff --git a/M4/emensa/controllers/MainController.php b/M4/emensa/controllers/MainController.php new file mode 100644 index 0000000..013e4b3 --- /dev/null +++ b/M4/emensa/controllers/MainController.php @@ -0,0 +1,21 @@ +$data, + 'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}" + ]); + } + +} \ No newline at end of file diff --git a/M4/emensa/models/gerichte_main.php b/M4/emensa/models/gerichte_main.php new file mode 100644 index 0000000..7b6b1d7 --- /dev/null +++ b/M4/emensa/models/gerichte_main.php @@ -0,0 +1,75 @@ + GerichtePreis internPreis externBild"; + +$verwendete_allergene_code = []; +$verwendete_allergene_string = ""; + +while ($row_gerichte = mysqli_fetch_assoc($result_sql_gerichte)) { + + // Abfrage der vorhandenen Allergene im aktuellen Gericht + + $sql_gericht_hat_allergene = "SELECT * FROM gericht_hat_allergen WHERE gericht_id=" . $row_gerichte['id']; + $result_sql_gericht_hat_allergene = mysqli_query($link, $sql_gericht_hat_allergene); + $allergene = ""; + while ($row_allergene = mysqli_fetch_assoc($result_sql_gericht_hat_allergene)) { + $allergene .= $row_allergene['code'] . ", "; + + if (!in_array($row_allergene['code'], $verwendete_allergene_code)) { + $verwendete_allergene_code[] = $row_allergene['code']; + } + } + + // Preise in EUR + + $preisintern = number_format($row_gerichte['preisintern'], 2, ',', '.'); + $preisextern = number_format($row_gerichte['preisextern'], 2, ',', '.'); + + // Ausgabe des aktuellen Gerichts + + $tabelle .= "" . htmlspecialchars($row_gerichte['name']) . " " . htmlspecialchars($allergene) . "" . htmlspecialchars($preisintern) . "€" . htmlspecialchars($preisextern) . "€Kein Bild in der Datenbank "; + } + $tabelle .= ""; + + // Abfrage der Allergen Code und Name + + $sql_allergen = "SELECT code, name FROM allergen"; + $result_sql_allergen = mysqli_query($link, $sql_allergen); + + while ($row_allergen = mysqli_fetch_assoc($result_sql_allergen)){ + if (in_array($row_allergen['code'], $verwendete_allergene_code)){ + $verwendete_allergene_string .= "". htmlspecialchars($row_allergen['code']) ." ". htmlspecialchars($row_allergen['name']) . ", "; + } + } + + + $data = [ + "gericht" => $tabelle, + "allergene" => $verwendete_allergene_string + ]; + + + +mysqli_close($link); + + +} catch (Exception $ex) { +$data = array( +'id' => '-1', +'error' => true, +'name' => 'Datenbankfehler ' . $ex->getCode(), +'beschreibung' => $ex->getMessage()); +} finally { +return $data; +} +} \ No newline at end of file diff --git a/M4/emensa/models/gerichte_self.php b/M4/emensa/models/gerichte_self.php index 70750d2..c9ef954 100644 --- a/M4/emensa/models/gerichte_self.php +++ b/M4/emensa/models/gerichte_self.php @@ -1,27 +1,23 @@ 2 ORDER BY name DESC'; - $result = mysqli_query($link, $sql); +function db_gericht_select_intern() +{ +try { +$link = connectdb(); - $data = mysqli_fetch_all($result, MYSQLI_BOTH); +$sql = 'SELECT name, preisintern FROM gericht WHERE preisintern > 2 ORDER BY name DESC'; +$result = mysqli_query($link, $sql); - mysqli_close($link); - } - catch (Exception $ex) { - $data = array( - 'id'=>'-1', - 'error'=>true, - 'name' => 'Datenbankfehler '.$ex->getCode(), - 'beschreibung' => $ex->getMessage()); - } - finally { - return $data; - } +$data = mysqli_fetch_all($result, MYSQLI_BOTH); +mysqli_close($link); +} catch (Exception $ex) { +$data = array( +'id' => '-1', +'error' => true, +'name' => 'Datenbankfehler ' . $ex->getCode(), +'beschreibung' => $ex->getMessage()); +} finally { +return $data; +} } \ No newline at end of file diff --git a/M4/emensa/public/css/style.css b/M4/emensa/public/css/style.css new file mode 100644 index 0000000..31af0de --- /dev/null +++ b/M4/emensa/public/css/style.css @@ -0,0 +1,90 @@ +* { + font-family: Arial; +} + +.grid { + display: grid; + grid-template-columns: 200px auto 200px; +} + +img { + width: 100%; + height: auto; +} + +.speisen { + border: solid; + border-collapse: collapse; +} + +.speisen td { + border: solid; + border-collapse: collapse; + border-radius: 4px; + padding: 5px; + width: auto; +} + +.speisen td:not(:first-of-type) { + text-align: center; +} + +p { + text-align: justify; +} + +.zahlen { + list-style-type: none; + display: grid; + grid-template-columns: auto auto auto; + gap: 10px; +} + +.zahlen p { + text-align: center; + font-weight: bold; +} + +.formular { + display: grid; + grid-template-columns: auto auto auto; + justify-content: start; + gap: 10px; +} + +.wichtig { + text-align: center; +} + +.wichtigListe { + display: inline-block; + text-align: left; +} + +.freude { + text-align: center; +} + +footer { + border-top: 1px solid; +} + +.fusszeile { + padding-top: 20px; + padding-bottom: 20px; + margin-left: auto; + margin-right: auto; + border: none; +} + +.fusszeile td:first-child { + border-left: none; + padding-left: 20px; + padding-right: 20px; +} + +.fusszeile td { + border-left: 3px solid; + padding-left: 20px; + padding-right: 20px; +} diff --git a/M4/emensa/public/img/fh-logo.jpg b/M4/emensa/public/img/fh-logo.jpg new file mode 100644 index 0000000..33cf0b4 Binary files /dev/null and b/M4/emensa/public/img/fh-logo.jpg differ diff --git a/M4/emensa/public/img/mensa21.jpg b/M4/emensa/public/img/mensa21.jpg new file mode 100644 index 0000000..370d0fc Binary files /dev/null and b/M4/emensa/public/img/mensa21.jpg differ diff --git a/M4/emensa/routes/web.php b/M4/emensa/routes/web.php index 5e27e33..7f9eb5e 100644 --- a/M4/emensa/routes/web.php +++ b/M4/emensa/routes/web.php @@ -7,7 +7,7 @@ */ return array( - '/' => "HomeController@index", + '/' => "MainController@index", "/demo" => "DemoController@demo", '/dbconnect' => 'DemoController@dbconnect', '/debug' => 'HomeController@debug', diff --git a/M4/emensa/storage/cache/.layouts.m4_7d_layout_ecc36cbad49aa38782cc08cc5e9ca6c7ae3590d0.bladec b/M4/emensa/storage/cache/.layouts.m4_7d_layout_ecc36cbad49aa38782cc08cc5e9ca6c7ae3590d0.bladec index 331732f..941fc86 100644 --- a/M4/emensa/storage/cache/.layouts.m4_7d_layout_ecc36cbad49aa38782cc08cc5e9ca6c7ae3590d0.bladec +++ b/M4/emensa/storage/cache/.layouts.m4_7d_layout_ecc36cbad49aa38782cc08cc5e9ca6c7ae3590d0.bladec @@ -1,5 +1,3 @@ - - diff --git a/M4/emensa/storage/cache/layouts.main_layout_ff0dbbbcc8c331f06acac2bd395c317de615c9d1.bladec b/M4/emensa/storage/cache/layouts.main_layout_ff0dbbbcc8c331f06acac2bd395c317de615c9d1.bladec new file mode 100644 index 0000000..aec0cb1 --- /dev/null +++ b/M4/emensa/storage/cache/layouts.main_layout_ff0dbbbcc8c331f06acac2bd395c317de615c9d1.bladec @@ -0,0 +1,30 @@ + + + + + + <?php echo \htmlentities($title??'', ENT_QUOTES, 'UTF-8', false); ?> + + yieldContent("header"); ?> + + + + +yieldContent("nav"); ?> +
+
+
+
+yieldContent("text"); ?> + +yieldContent("gerichte"); ?> +
+
+
+
+ + yieldContent("footer"); ?> +
+
+ + \ No newline at end of file diff --git a/M4/emensa/storage/cache/main.index_f9ba54cc63d68ab97f296301b5ce3ed3926b073a.bladec b/M4/emensa/storage/cache/main.index_f9ba54cc63d68ab97f296301b5ce3ed3926b073a.bladec new file mode 100644 index 0000000..a984cc4 --- /dev/null +++ b/M4/emensa/storage/cache/main.index_f9ba54cc63d68ab97f296301b5ce3ed3926b073a.bladec @@ -0,0 +1,62 @@ + + +startSection("header"); ?> + +stopSection(); ?> + +startSection("nav"); ?> + +stopSection(); ?> + +startSection("text"); ?> + + Essen +

Bald gibt es auch Essen online ;)

+

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et + dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet + clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, + consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, + sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no + sea takimata sanctus est Lorem ipsum dolor sit amet.

+

Köstlichkeiten die Sie erwarten

+ +stopSection(); ?> + +startSection("gerichte"); ?> + + +

Es gab ein Problem mit der Datenbankverbindung

+

Fehlermeldung

+
 
+ + + + + +stopSection(); ?> + +startSection("footer"); ?> + + + (c) E-Mensa GmbH + Şafak Hazinedar & Robert Joel + Impressum + + +stopSection(); ?> +runChild("layouts.main_layout", ['title' => "E-Mensa"]); } ?> \ No newline at end of file diff --git a/M4/emensa/views/layouts/m4_7d_layout.blade.php b/M4/emensa/views/layouts/m4_7d_layout.blade.php index 653c109..2ae864d 100644 --- a/M4/emensa/views/layouts/m4_7d_layout.blade.php +++ b/M4/emensa/views/layouts/m4_7d_layout.blade.php @@ -1,5 +1,3 @@ - - diff --git a/M4/emensa/views/layouts/main_layout.blade.php b/M4/emensa/views/layouts/main_layout.blade.php new file mode 100644 index 0000000..aba28e5 --- /dev/null +++ b/M4/emensa/views/layouts/main_layout.blade.php @@ -0,0 +1,30 @@ + + + + + + {{ $title }} + + @yield("header") + + + + +@yield("nav") +
+
+
+
+@yield("text") + +@yield("gerichte") +
+
+
+
+ + @yield("footer") +
+
+ + \ No newline at end of file diff --git a/M4/emensa/views/main/index.blade.php b/M4/emensa/views/main/index.blade.php new file mode 100644 index 0000000..72b5b17 --- /dev/null +++ b/M4/emensa/views/main/index.blade.php @@ -0,0 +1,61 @@ +@extends("layouts.main_layout", ['title' => "E-Mensa"]) + +@section("header") + +@endsection + +@section("nav") + +@endsection + +@section("text") + + Essen +

Bald gibt es auch Essen online ;)

+

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et + dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet + clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, + consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, + sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no + sea takimata sanctus est Lorem ipsum dolor sit amet.

+

Köstlichkeiten die Sie erwarten

+ +@endsection + +@section("gerichte") + + @if (isset($data['error'])) +

Es gab ein Problem mit der Datenbankverbindung

+

Fehlermeldung

+
 {{$data['beschreibung']}}
+ + @else + + @endif + +@endsection + +@section("footer") + + + (c) E-Mensa GmbH + Şafak Hazinedar & Robert Joel + Impressum + + +@endsection \ No newline at end of file