3 Commits

Author SHA1 Message Date
S170H
fcba35dc00 M6 Abschluss 2024-01-19 18:57:43 +01:00
Robert
91856073e1 Alles 2024-01-19 17:59:21 +01:00
Robert
15d9287b47 Alles bis auf paar sachen 2024-01-19 17:35:34 +01:00
13 changed files with 304 additions and 124 deletions

21
.idea/workspace.xml generated
View File

@@ -4,12 +4,10 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="6dcbe3e4-9d68-41d8-8c39-5cfbe5cd4a21" name="Changes" comment="Bewertungs model"> <list default="true" id="6dcbe3e4-9d68-41d8-8c39-5cfbe5cd4a21" name="Changes" comment="Alles bis auf paar sachen">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/app/Http/Controllers/MainController.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/app/Http/Controllers/MainController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/app/Models/benutzer.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/app/Models/benutzer.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/app/Models/bewertungen.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/app/Models/bewertungen.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/M6/emensamobile/app/Models/bewertungen.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/app/Models/bewertungen.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/resources/views/layouts/main_layout.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/resources/views/layouts/main_layout.blade.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/M6/emensamobile/public/css/style.css" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/public/css/style.css" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/bewertung.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/bewertung.blade.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/bewertung.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/bewertung.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/index.blade.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/index.blade.php" afterDir="false" />
</list> </list>
@@ -116,7 +114,7 @@
<workItem from="1705492444098" duration="553000" /> <workItem from="1705492444098" duration="553000" />
<workItem from="1705493014644" duration="21207000" /> <workItem from="1705493014644" duration="21207000" />
<workItem from="1705627589042" duration="2719000" /> <workItem from="1705627589042" duration="2719000" />
<workItem from="1705630465063" duration="10294000" /> <workItem from="1705630465063" duration="13023000" />
</task> </task>
<task id="LOCAL-00001" summary="Webseite ohne Anmeldung läuft auf laravel"> <task id="LOCAL-00001" summary="Webseite ohne Anmeldung läuft auf laravel">
<option name="closed" value="true" /> <option name="closed" value="true" />
@@ -174,7 +172,15 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1705675225498</updated> <updated>1705675225498</updated>
</task> </task>
<option name="localTasksCounter" value="8" /> <task id="LOCAL-00008" summary="Alles bis auf paar sachen">
<option name="closed" value="true" />
<created>1705679416721</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1705679416721</updated>
</task>
<option name="localTasksCounter" value="9" />
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
@@ -187,6 +193,7 @@
<MESSAGE value="Aufgabe 1 ca 80%" /> <MESSAGE value="Aufgabe 1 ca 80%" />
<MESSAGE value="Aufgabe 1" /> <MESSAGE value="Aufgabe 1" />
<MESSAGE value="Bewertungs model" /> <MESSAGE value="Bewertungs model" />
<option name="LAST_COMMIT_MESSAGE" value="Bewertungs model" /> <MESSAGE value="Alles bis auf paar sachen" />
<option name="LAST_COMMIT_MESSAGE" value="Alles bis auf paar sachen" />
</component> </component>
</project> </project>

114
M6/Dossier/ED 1 a).drawio Normal file
View File

@@ -0,0 +1,114 @@
<mxfile host="app.diagrams.net" modified="2024-01-17T16:40:46.603Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0" etag="yOiPrTY5I7Bd3XpJF8Jn" version="22.1.21" type="device">
<diagram name="Seite-1" id="uZLJn0IZBSqR1Bpxcyc-">
<mxGraphModel dx="988" dy="540" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="CqnDATPZ74Ucb4dWbnLU-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-2" target="CqnDATPZ74Ucb4dWbnLU-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-2" target="CqnDATPZ74Ucb4dWbnLU-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-2" target="CqnDATPZ74Ucb4dWbnLU-31">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-2" value="Benutzer" style="whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="150" y="530" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-4" target="CqnDATPZ74Ucb4dWbnLU-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-4" value="erstellt" style="shape=rhombus;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="360" y="520" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-5" target="CqnDATPZ74Ucb4dWbnLU-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-5" target="CqnDATPZ74Ucb4dWbnLU-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-5" target="CqnDATPZ74Ucb4dWbnLU-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-5" target="CqnDATPZ74Ucb4dWbnLU-27">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-5" target="CqnDATPZ74Ucb4dWbnLU-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-5" target="CqnDATPZ74Ucb4dWbnLU-26">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-5" target="CqnDATPZ74Ucb4dWbnLU-38">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-5" value="Bewertung" style="whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="590" y="530" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-9" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="500" y="550" as="sourcePoint" />
<mxPoint x="590" y="549.5" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-10" value="N" style="resizable=0;html=1;whiteSpace=wrap;align=right;verticalAlign=bottom;" connectable="0" vertex="1" parent="CqnDATPZ74Ucb4dWbnLU-9">
<mxGeometry x="1" relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-11" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="340" y="549.76" as="sourcePoint" />
<mxPoint x="260" y="549.76" as="targetPoint" />
<Array as="points">
<mxPoint x="320" y="549.76" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-12" value="1" style="resizable=0;html=1;whiteSpace=wrap;align=right;verticalAlign=bottom;" connectable="0" vertex="1" parent="CqnDATPZ74Ucb4dWbnLU-11">
<mxGeometry x="1" relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-13" value="Sterne" style="ellipse;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="630" y="420" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-15" value="&lt;div&gt;Erstellungs&lt;/div&gt;&lt;div&gt;zeitpunkt&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="500" y="420" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-17" value="Benutzer ID" style="ellipse;whiteSpace=wrap;html=1;align=center;fontStyle=4;" vertex="1" parent="1">
<mxGeometry x="150" y="440" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-18" value="Hervorgehoben" style="ellipse;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="690" y="610" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-25" value="&lt;div&gt;Gericht ID&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="500" y="610" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-26" value="Benutzer ID" style="ellipse;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="727" y="530" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-27" value="Bemerkung" style="ellipse;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="600" y="670" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-31">
<mxGeometry relative="1" as="geometry">
<mxPoint x="480" y="790" as="targetPoint" />
<Array as="points">
<mxPoint x="200" y="790" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-31" value="admin" style="ellipse;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="150" y="620" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="CqnDATPZ74Ucb4dWbnLU-35" target="CqnDATPZ74Ucb4dWbnLU-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-35" value="hervorheben" style="shape=rhombus;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="480" y="760" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="CqnDATPZ74Ucb4dWbnLU-38" value="Bewertungs ID" style="ellipse;whiteSpace=wrap;html=1;align=center;fontStyle=4;" vertex="1" parent="1">
<mxGeometry x="727" y="470" width="100" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -2,7 +2,7 @@
return [ return [
'host' => 'localhost', // 'localhost' or '127.0.0.1' 'host' => 'localhost', // 'localhost' or '127.0.0.1'
'user' => 'root', // '<yourusername>' 'user' => 'root', // '<yourusername>'
'password' => 'admin', // '<yourpassword>' 'password' => 'wm#32', // '<yourpassword>'
'database' => 'emensawerbeseite', 'database' => 'emensawerbeseite',
// optionally: set port below if it differs from the default 3306 // optionally: set port below if it differs from the default 3306
// 'port' => 13306 // !! this is not your webserver port, but the mariadb port // 'port' => 13306 // !! this is not your webserver port, but the mariadb port

View File

@@ -2,7 +2,6 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\bewertungen; use App\Models\bewertungen;
use App\Models\Gericht;
use App\Models\benutzer; use App\Models\benutzer;
use Illuminate\Routing\Controller as BaseController; use Illuminate\Routing\Controller as BaseController;
use App\Models\Gerichte; use App\Models\Gerichte;
@@ -55,7 +54,7 @@ class MainController extends BaseController
if ($data["gerichtid"] != null) { if ($data["gerichtid"] != null) {
$gericht = Gericht::query()->find($data["gerichtid"]); $gericht = Gerichte::query()->find($data["gerichtid"]);
$gerichtName = $gericht->getGerichtName(); $gerichtName = $gericht->getGerichtName();
$bildname = $gericht->getBildname(); $bildname = $gericht->getBildname();
@@ -66,6 +65,18 @@ class MainController extends BaseController
"data" => $data, "data" => $data,
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}" 'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
]); ]);
/*
$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']}"
]);
*/
} }
if($data["hervorheben"]!=null){ if($data["hervorheben"]!=null){
@@ -79,7 +90,7 @@ class MainController extends BaseController
} }
$bewertungen = $b->getBewertungen(); $bewertungen = $b->bewertungen();
$benutzer = new benutzer(); $benutzer = new benutzer();
$admin = $benutzer->isAdmin(session("benutzer_id"),0); $admin = $benutzer->isAdmin(session("benutzer_id"),0);
@@ -111,7 +122,7 @@ class MainController extends BaseController
); );
$b = new bewertungen(); $b = new bewertungen();
$bewertungen = $b->getBewertungen(); $bewertungen = $b->bewertungen();
return redirect('/bewertung'); return redirect('/bewertung');
} }
@@ -127,20 +138,21 @@ class MainController extends BaseController
]); ]);
} }
$b = new bewertungen();
if($rd->isMethod("get")) { if($rd->isMethod("get")) {
$data = $rd; $data = $rd;
if ($data["loschen"] != null) { if ($data["loschen"] != null) {
$check = $b->deleteMeineBewertung($data["loschen"]);
bewertungen::destroy($data["loschen"]);
//$b->delete();
return redirect('/meinebewertungen'); return redirect('/meinebewertungen');
} }
} }
$b = new bewertungen();
$meine = $b->meine_bewertungen($benutzer_id);
$meine = $b->getMeineBewertungen($benutzer_id);
return view('main.meine_bewertungen', [ return view('main.meine_bewertungen', [
"meine_bewertungen" => $meine, "meine_bewertungen" => $meine,

View File

@@ -1,69 +0,0 @@
<?php
namespace App\Models;
use Exception;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class Gericht extends Model {
protected $table = 'gericht';
protected $primaryKey = 'id';
public $incrementing = true;
function getPreisIntern(){
return $this->formatPreis($this->attributes['preisintern']);
}
function getPreisExtern(){
return $this->formatPreis($this->attributes['preisextern']);
}
private function formatPreis($unformatted){
return number_format($unformatted, 2, ',');
}
function getBildname(){
return $this->attributes['bildname'];
}
function getGerichtName(){
return $this->attributes['name'];
}
function setVegetarischAttribut($value){
if ($value == 1 || $value == 0){
$this->attributes['vegetarisch'] = $value;
return;
}
$parsed = $this->parse_wahrheitswert($value) ;
$this->attributes['vegetarisch'] = $parsed;
}
function setVeganAttribut($value){
if ($value == 1 || $value == 0){
$this->attributes['vegan'] = $value;
return;
}
$parsed = $this->parse_wahrheitswert($value) ;
$this->attributes['vegetarisch'] = $parsed;
}
private function parse_wahrheitswert($value){
$value = strtolower(str_replace(" ", "", $value));
if ($value == "yes" || $value == "ja"){
return 1;
}
elseif ($value == "no" || $value == "nein"){
return 0;
}
else{
trigger_error("Could not parse value");
}
// Wenn versucht wird das in die Datenbank zu schreiben sollte es eine Fehlermeldung geben
}
}

View File

@@ -9,9 +9,72 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Session;
class Gerichte extends Model { class Gerichte extends Model
{
protected $table = 'gericht';
protected $primaryKey = 'id';
public $incrementing = true;
use HasFactory; use HasFactory;
function db_gericht_select_karte(){
function getPreisIntern(){
return $this->formatPreis($this->attributes['preisintern']);
}
function getPreisExtern(){
return $this->formatPreis($this->attributes['preisextern']);
}
private function formatPreis($unformatted){
return number_format($unformatted, 2, ',');
}
function getBildname(){
return $this->attributes['bildname'];
}
function getGerichtName(){
return $this->attributes['name'];
}
function setVegetarischAttribut($value){
if ($value == 1 || $value == 0){
$this->attributes['vegetarisch'] = $value;
return;
}
$parsed = $this->parse_wahrheitswert($value) ;
$this->attributes['vegetarisch'] = $parsed;
}
function setVeganAttribut($value){
if ($value == 1 || $value == 0){
$this->attributes['vegan'] = $value;
return;
}
$parsed = $this->parse_wahrheitswert($value) ;
$this->attributes['vegetarisch'] = $parsed;
}
private function parse_wahrheitswert($value){
$value = strtolower(str_replace(" ", "", $value));
if ($value == "yes" || $value == "ja"){
return 1;
}
elseif ($value == "no" || $value == "nein"){
return 0;
}
else{
trigger_error("Could not parse value");
}
// Wenn versucht wird das in die Datenbank zu schreiben sollte es eine Fehlermeldung geben
}
function db_gericht_select_karte()
{
try { try {
$sql_gerichte = "SELECT * FROM gericht ORDER BY RAND() LIMIT 5"; $sql_gerichte = "SELECT * FROM gericht ORDER BY RAND() LIMIT 5";
@@ -74,14 +137,12 @@ class Gerichte extends Model {
} }
// Überflüssig
function db_gericht_bewertung(int $id){ function db_gericht_bewertung(int $id){
$sql_gerichte = "SELECT gericht.name, gericht.bildname FROM gericht WHERE id =". $id; $sql_gerichte = "SELECT gericht.name, gericht.bildname FROM gericht WHERE id =". $id;
$result_sql_gerichte = DB::select($sql_gerichte); $result_sql_gerichte = DB::select($sql_gerichte);
return $result_sql_gerichte; return $result_sql_gerichte;
} }
//Überflüssig
function db_gericht_name(int $id){ function db_gericht_name(int $id){
$sql_gerichte = "SELECT gericht.name FROM gericht WHERE id =". $id; $sql_gerichte = "SELECT gericht.name FROM gericht WHERE id =". $id;
$result_sql_gerichte = DB::select($sql_gerichte); $result_sql_gerichte = DB::select($sql_gerichte);

View File

@@ -8,7 +8,8 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Session;
class bewertungen extends Model { class bewertungen extends Model
{
protected $table = 'bewertungen'; protected $table = 'bewertungen';
protected $primaryKey = 'id'; protected $primaryKey = 'id';
public $incrementing = true; public $incrementing = true;
@@ -19,31 +20,41 @@ class bewertungen extends Model {
'ersteller_id', 'ersteller_id',
'gericht_id', 'gericht_id',
'bemerkung', 'bemerkung',
'sterne' 'sterne',
'hervorgehoben'
]; ];
public $timestamps = false; public $timestamps = false;
use HasFactory; use HasFactory;
function getBewertungen() function bewerten(int $ersteller, int $gericht, int $sterne, string $bemerkung){
{ if($ersteller != session("benutzerid",0)||$sterne <0||$sterne>4||strlen($bemerkung)<4||strlen($bemerkung)>100){
$sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.sterne, bewertungen.bemerkung, bewertungen.hervorgehoben FROM bewertungen ORDER BY bewertungen.erstellungsdatum LIMIT 30"; return 0;
}
$sql = "INSERT INTO bewertungen (ersteller_id,gericht_id,bemerkung,sterne,hervorgehoben) VALUES (".mysqli_real_escape_string($ersteller). ",". mysqli_real_escape_string($gericht).",\"". mysqli_real_escape_string($bemerkung)."\",".mysqli_real_escape_string($sterne).",0);";
DB::insert($sql);
return 1;
}
function bewertungen(){
$sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.id, bewertungen.sterne, bewertungen.bemerkung, bewertungen.hervorgehoben FROM bewertungen ORDER BY bewertungen.erstellungsdatum LIMIT 30";
$result_sql_bewertungen = DB::select($sql_bewertungen); $result_sql_bewertungen = DB::select($sql_bewertungen);
$result = []; $result = [];
foreach ($result_sql_bewertungen as $row) { foreach ($result_sql_bewertungen as $row) {
$sql = "SELECT gericht.name FROM gericht WHERE gericht.id=". $row->gericht_id; $sql = "SELECT gericht.name FROM gericht WHERE gericht.id=". $row->gericht_id;
array_push($result,[DB::select($sql),$row->sterne,$row->bemerkung,$row->hervorgehoben]); array_push($result,[DB::select($sql),$row->sterne,$row->bemerkung,$row->id,$row->hervorgehoben]);
} }
return $result; return $result;
} }
function getMeineBewertungen(int $id) function meine_bewertungen(int $id){
{ $sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.id ,bewertungen.sterne, bewertungen.bemerkung FROM bewertungen WHERE bewertungen.ersteller_id =". $id." ORDER BY bewertungen.erstellungsdatum";
$sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.id ,bewertungen.sterne, bewertungen.bemerkung FROM bewertungen WHERE bewertungen.ersteller_id =" . $id . " ORDER BY bewertungen.erstellungsdatum";
$result_sql_bewertungen = DB::select($sql_bewertungen); $result_sql_bewertungen = DB::select($sql_bewertungen);
$result = []; $result = [];
@@ -57,20 +68,19 @@ class bewertungen extends Model {
} }
function deleteMeineBewertung(int $id) function loschen(int $id){
{ $sql_bewertungen = "SELECT bewertungen.ersteller_id FROM bewertungen WHERE bewertungen.id =". $id;
$sql_bewertungen = "SELECT bewertungen.ersteller_id FROM bewertungen WHERE bewertungen.id =" . $id;
$result_sql_bewertungen = DB::select($sql_bewertungen); $result_sql_bewertungen = DB::select($sql_bewertungen);
if($result_sql_bewertungen == null){ if($result_sql_bewertungen == null){
return 0; return 0;
} }
if ($result_sql_bewertungen[0]->ersteller_id != session("benutzer_id", 0)) { if($result_sql_bewertungen[0]->ersteller_id != session("benutzer_id",0)){
return 0; return 0;
} }
$sql_bewertungen = "DELETE FROM bewertungen WHERE bewertungen.id = " . $id; $sql_bewertungen = "DELETE FROM bewertungen WHERE bewertungen.id = ".$id;
DB::delete($sql_bewertungen); DB::delete($sql_bewertungen);
return 1; return 1;
@@ -82,8 +92,13 @@ class bewertungen extends Model {
return 0; return 0;
} }
$sql = "UPDATE bewertungen SET hervorgehoben =1 WHERE id =" .$id; $this->query()->updateOrCreate(
DB::update($sql); ['id'=>$id],
['hervorgehoben' => 1]
);
// $sql = "UPDATE bewertungen SET hervorgehoben =1 WHERE id =" .$id;
// DB::update($sql);
return 1; return 1;
@@ -95,8 +110,13 @@ class bewertungen extends Model {
return 0; return 0;
} }
$sql = "UPDATE bewertungen SET hervorgehoben =0 WHERE id =" .$id; $this->query()->updateOrCreate(
DB::update($sql); ['id'=>$id],
['hervorgehoben' => 0]
);
// $sql = "UPDATE bewertungen SET hervorgehoben =0 WHERE id =" .$id;
// DB::update($sql);
return 1; return 1;

View File

@@ -50,7 +50,7 @@ return [
'port' => env('DB_PORT', '3306'), 'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'emensawerbeseite'), 'database' => env('DB_DATABASE', 'emensawerbeseite'),
'username' => env('DB_USERNAME', 'root'), 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'wm#32'), 'password' => env('DB_PASSWORD', 'admin'),
'unix_socket' => env('DB_SOCKET', ''), 'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4', 'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci', 'collation' => 'utf8mb4_unicode_ci',

View File

@@ -2,6 +2,20 @@
font-family: Arial; font-family: Arial;
} }
@media screen and (max-width: 600px) {
.bewertungen_mobile::after {
content: '\A';
white-space: pre;
}
body{
background-color: #0a3622;
}
.grid_bewertung {
display: grid;
grid-template-columns: 0px 300px auto 0px;
}
}
.grid { .grid {
display: grid; display: grid;
grid-template-columns: 200px auto 200px; grid-template-columns: 200px auto 200px;
@@ -107,4 +121,11 @@ footer {
height: 300px; height: 300px;
} }
.bewertung_hervorgehoben{
border-color: black;
border-width: 1px;
border-style: solid;
}

View File

@@ -50,17 +50,17 @@
?> ?>
<div class="grid_bewertung"> <div class="grid_bewertung">
<div> <div>
</div>
<div>
<img class="bewertung" src="{{$bildname}}" alt="Bild vom Gericht" width= "10" height="10">
</div>
<div>
<h1>{{$gerichtName}}</h1>
</div>
<div>
<img class="bewertung" src="{{$bildname}}" alt="Bild vom Gericht" width= "10" height="10">
</div>
<div>
<h1>{{$gerichtName}}</h1>
<div class="bewertungen_mobile">
<form action="/bewertung_abschicken" method="post"> <form action="/bewertung_abschicken" method="post">
@method("post") @method("post")
@csrf <!-- {{ csrf_field() }} --> @csrf <!-- {{ csrf_field() }} -->
@@ -74,6 +74,7 @@
<button type="submit" >Bewerten</button> <button type="submit" >Bewerten</button>
</form> </form>
</div>
</div> </div>
<div> <div>
@@ -92,7 +93,13 @@
$bewertungs_id = $row[3]; $bewertungs_id = $row[3];
$hervorgehoben = $row[4]; $hervorgehoben = $row[4];
$echo = "<h1>".$name."</h1> Sterne: ". $bewertungen." Bemerkung: ".$bemerkung; $echo = "";
if($hervorgehoben){
$echo = "<div class=\"bewertung_hervorgehoben\"> ";
}
$echo .= "<h1>".$name."</h1> Sterne: ". $bewertungen." Bemerkung: ".$bemerkung;
if($admin){ if($admin){
if($hervorgehoben){ if($hervorgehoben){
@@ -102,6 +109,10 @@
} }
} }
if($hervorgehoben){
$echo .= "</div>";
}
echo $echo; echo $echo;
} }
?> ?>

View File

@@ -76,10 +76,11 @@
foreach ($result_sql_gerichte as $row_gerichte) { foreach ($result_sql_gerichte as $row_gerichte) {
$gericht = \App\Models\Gericht::query()->find($row_gerichte->id); $gericht = App\Models\Gerichte::query()->find($row_gerichte->id);
$preisintern = $gericht->getPreisIntern(); $preisintern = $gericht->getPreisIntern();
$preisextern = $gericht->getPreisExtern();; $preisextern = $gericht->getPreisExtern();
$bildname = $gericht->getBildName();
$bildname = $gericht->getBildname();
if ($bildname == Null) { if ($bildname == Null) {
$bildname = "00_image_missing.jpg"; $bildname = "00_image_missing.jpg";
@@ -118,6 +119,8 @@
@endsection @endsection
@section("bewertungen") @section("bewertungen")
<h1>Meinungen unserer Gäste</h1>
@if(isset($bewertungen)) @if(isset($bewertungen))
<?php <?php
@@ -126,7 +129,7 @@
$bewertungen = $row[1]; $bewertungen = $row[1];
$bemerkung = $row[2]; $bemerkung = $row[2];
$echo = "<h1>".$name."</h1> Sterne: ". $bewertungen." Bemerkung: ".$bemerkung; $echo = "<h3>".$name."</h3> Sterne: ". $bewertungen." Bemerkung: ".$bemerkung;