Merge branch 'dev/m6_robert' into dev/m6_safak

# Conflicts:
#	M6/emensamobile/resources/views/main/index.blade.php
This commit is contained in:
S170H
2024-01-19 14:49:44 +01:00
12 changed files with 1424 additions and 1132 deletions

View File

@@ -74,6 +74,9 @@ class AnmeldungController extends BaseController
session()->pull("name");
session()->pull("uid");
session()->pull("email");
session()->pull("bewertung");
session()->regenerate();
Log::info('Abmeldung erfolgreich!');

View File

@@ -1,6 +1,7 @@
<?php
namespace App\Http\Controllers;
use App\Models\bewertungen;
use Illuminate\Routing\Controller as BaseController;
use App\Models\Gerichte;
use Illuminate\Http\Request;
@@ -26,5 +27,56 @@ class MainController extends BaseController
]);
}
public function bewertung(Request $rd) {
/*
Wenn Sie hier landen:
bearbeiten Sie diese Action,
so dass Sie die Aufgabe löst
*/
if(session("start",0)== 0){
session(["bewertung" => 1]);
return view('m5_a1.anmeldung', [
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}"
]);
}
if($rd->isMethod("get")){
$data = $rd;
$gericht = new Gerichte();
$g = $gericht->db_gericht_bewertung($data["gerichtid"]);
return view('main.bewertung', [
"gericht" => $g,
"data" => $data,
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
]);
}
return view('main.bewertung', [
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
]);
}
public function bewertung_abschicken(Request $rd) {
if($rd->isMethod("post")){
$data = $rd;}
$id = $data["gericht_id"] ?? NULL;
$sterne = $data["sterne"] ?? NULL;
$bemerkung = $data["bemerkung"] ?? NULL;
$benutzer = session("benutzer_id",0);
$b = new bewertungen();
$check = $b->bewerten($benutzer,$id,$sterne, $bemerkung);
return view('main.bewertung', [
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
]);
}
}

View File

@@ -40,6 +40,7 @@ class Benutzer extends Model
session(["login" => 1]);
session(["name" => $row->name]);
session(["email" => $row->email]);
session(["benutzer_id"=> $row->id]);
return 1;
} else {

View File

@@ -74,4 +74,16 @@ class Gerichte extends Model {
}
function db_gericht_bewertung(int $id){
$sql_gerichte = "SELECT gericht.name, gericht.bildname FROM gericht WHERE id =". $id;
$result_sql_gerichte = DB::select($sql_gerichte);
return $result_sql_gerichte;
}
function db_gericht_name(int $id){
$sql_gerichte = "SELECT gericht.name FROM gericht WHERE id =". $id;
$result_sql_gerichte = DB::select($sql_gerichte);
return $result_sql_gerichte;
}
}

View File

@@ -7,6 +7,12 @@
grid-template-columns: 200px auto 200px;
}
.grid_bewertung {
display: grid;
grid-template-columns: 200px 300px auto 200px;
}
img {
width: 100%;
height: auto;
@@ -94,3 +100,11 @@ footer {
padding-left: 20px;
padding-right: 20px;
}
.bewertung{
width: 300px;
height: 300px;
}

View File

@@ -2,9 +2,17 @@
@section("main")
@if($anmeldung == 1)
@if($anmeldung == 1){
<meta http-equiv="refresh" content="/"/>
<form id="form_ok" action="/"></form>
<?php if(session("bewertung",0)==0){
echo "<form id=\"form_ok\" action=\"/\"></form>";
}else{
echo "<form id=\"form_ok\" action=\"/bewertung\"></form>";
session(["bewertung" => 0]);
}
?>
<script type="text/javascript">
@@ -19,7 +27,7 @@
window.onload = formAutoSubmit;
</script>
</script>}
@else
<form method="post" id="auto_form" action="/anmeldung_fehler">

View File

@@ -0,0 +1,106 @@
@extends("layouts.main_layout", ['title' => "E-Mensa"])
<?php use Illuminate\Support\Facades\Session; ?>
@section("header")
<link rel="stylesheet" href="/css/style.css">
@endsection
@section("nav")
<div class="grid">
<div>
<img src="/img/fh-logo.jpg" alt="FH-Logo">
</div>
<div>
<a href="#ankündigung">Ankündigung</a>
<a href="#speisen">Speisen</a>
<a href="#zahlen">Zahlen</a>
<a href="#kontakt">Kontakt</a>
<a href="#wichtig">Wichtig für uns</a>
</div>
<div>
@if(session("start",0)== 0)
<a href="/anmeldung">Anmelden</a>
@else
Angemeldet als:<br>
<div>{{ session("name")}}</div>
<a href="/abmeldung">Abmelden</a>
@endif
</div>
</div>
@endsection
@section("text")
@if(isset($data))
{{$id = $data["gerichtid"]}}
@endif
@if(isset($gericht))
<?php
$gericht = $gericht[0];
$bildname = $gericht->bildname;
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";
}
$bildname = "/img/gerichte/" . $bildname;
?>
<div class="grid_bewertung">
<div>
</div>
<div>
<img class="bewertung" src="{{$bildname}}" alt="Bild vom Gericht" width= "10" height="10">
</div>
<div>
<h1>{{$gericht->name}}</h1>
<form action="/bewertung_abschicken" method="post">
@method("post")
@csrf <!-- {{ csrf_field() }} -->
<label for="sterne">Sterne 1-4</label>
<input id="sterne" name="sterne" type="number" placeholder="1-4" required maxlength="4">
<label for="Bemerkung">Bemerkung</label>
<input id="bemerkung" name="bemerkung" type="text" placeholder="Bemerkung" required maxlength="200">
<input type="hidden" name="gericht_id" value={{ $id}}>
<button type="submit" >Bewerten</button>
</form>
</div>
<div>
</div>
</div>
@else
@endif
@endsection
@section("gerichte")
@endsection
@section("footer")
<tr>
<td>(c) E-Mensa GmbH</td>
<td>Şafak Hazinedar & Robert Joel</td>
<td><a href="">Impressum</a></td>
</tr>
@endsection

View File

@@ -1,8 +1,5 @@
@extends("layouts.main_layout", ['title' => "E-Mensa"])
<?php
use Illuminate\Support\Facades\Session;
?>
<?php use Illuminate\Support\Facades\Session; ?>
@section("header")
<link rel="stylesheet" href="/css/style.css">
@@ -51,13 +48,14 @@ use Illuminate\Support\Facades\Session;
@section("gerichte")
@if (isset($data['error']))
<h1>Es gab ein Problem mit der Datenbankverbindung</h1>
<p>Fehlermeldung</p>
<pre> {{$data['beschreibung']}}</pre>
@else
<?php
<?php
//Daten vom Modell
$result_sql_allergen = $data["result_sql_allergen"];
@@ -66,46 +64,55 @@ use Illuminate\Support\Facades\Session;
$verwendete_allergene_string = $data["allergene"];
$allergene = $data["allergene1"];
$tabelle = "<table class=\"speisen\"><tr class=\"speisen\"> <td>Gerichte</td><td>Preis intern</td><td>Preis extern</td><td>Bild</td></tr>";
foreach ($result_sql_gerichte as $row_gerichte) {
$gericht = \App\Models\Gericht::query()->find($row_gerichte->id);
$preisintern = $gericht->getPreisIntern();
$preisextern = $gericht->getPreisExtern();
$bildname = $gericht->getBildname();
// $preisintern = number_format($row_gerichte->preisintern, 2, ',', '.');
// $preisextern = number_format($row_gerichte->preisextern, 2, ',', '.');
// $bildname = $row_gerichte->bildname;
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";
}
$bildname = "/img/gerichte/" . $bildname;
$tabelle .= "<tr class=\"speisen\"><td>" . htmlspecialchars($row_gerichte->name) . " <sup>" . htmlspecialchars($allergene) . "</sup></td><td>" . htmlspecialchars($preisintern) . "€</td><td>" . htmlspecialchars($preisextern) . "€</td><td> <img src=\"" . $bildname . "\" alt =\"Bild vom Gericht\" width= \"10\" height=\"10\"> </td></tr>";
$tabelle = "<table class=\"speisen\"><tr class=\"speisen\"> <td>Gerichte</td><td>Preis intern</td><td>Preis extern</td><td>Bild</td>";
if(session("start",0)== 1){
$tabelle .= "<td>Bewerten</td></tr>";
}
$tabelle .= "</table>";
foreach ($result_sql_allergen as $row_allergen) {
foreach ($verwendete_allergene_code as $verwendet) {
if ($row_allergen->code == $verwendet) {
$verwendete_allergene_string .= "<sup>" . htmlspecialchars($row_allergen->code) . "</sup> " . htmlspecialchars($row_allergen->name) . ", ";
}
}
else{
$tabelle .= "</tr>";
}
//Ausgabe
echo $tabelle;
echo $verwendete_allergene_string;
?>
foreach ($result_sql_gerichte as $row_gerichte) {
$preisintern = number_format($row_gerichte->preisintern, 2, ',', '.');
$preisextern = number_format($row_gerichte->preisextern, 2, ',', '.');
$bildname = $row_gerichte->bildname;
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";
}
$bildname = "/img/gerichte/" . $bildname;
$tabelle .= "<tr class=\"speisen\"><td>" . htmlspecialchars($row_gerichte->name) . " <sup>" . htmlspecialchars($allergene) . "</sup></td><td>" . htmlspecialchars($preisintern) . "€</td><td>" . htmlspecialchars($preisextern) . "€</td><td> <img src=\"" . $bildname . "\" alt =\"Bild vom Gericht\" width= \"10\" height=\"10\"> </td>";
if(session("start",0)== 1){
$tabelle .= "<td><a href=\"/bewertung?gerichtid=".$row_gerichte->id ."\">Bewerten</a></td></tr>";
}
else{
$tabelle .= "</tr>";
}
}
$tabelle .= "</table>";
foreach ($result_sql_allergen as $row_allergen) {
foreach ($verwendete_allergene_code as $verwendet){
if($row_allergen->code == $verwendet){
$verwendete_allergene_string .= "<sup>" . htmlspecialchars($row_allergen->code) . "</sup> " . htmlspecialchars($row_allergen->name) . ", ";
}
}
}
//Ausgabe
echo $tabelle;
echo $verwendete_allergene_string;
?>
@endif
@endsection

View File

@@ -17,6 +17,8 @@ use Illuminate\Http\Request;
//Main Controller
Route::get('/', [MainController::class, 'index' ]);
Route::get('/bewertung', [MainController::class, 'bewertung' ]);
Route::post("/bewertung_abschicken",[MainController::class, 'bewertung_abschicken' ]);
//Anmeldungs Controller
Route::get('/anmeldung', [AnmeldungController::class, 'start']);