7 Commits

Author SHA1 Message Date
Robert
95689fc70c M6 zwischenstand 2024-01-19 17:25:28 +01:00
S170H
d95bbc4d47 Merge branch 'dev/m6_robert' into dev/m6_safak
# Conflicts:
#	M6/emensamobile/app/Http/Controllers/MainController.php
#	M6/emensamobile/app/Models/bewertungen.php
2024-01-19 17:14:53 +01:00
S170H
a133967282 M6 Nr3 3a)&c) 2024-01-19 16:59:27 +01:00
S170H
c7b96bc214 Merge branch 'dev/m6_robert' into dev/m6_safak 2024-01-19 15:41:30 +01:00
S170H
4442d17d52 Merge branch 'dev/m6_robert' into dev/m6_safak 2024-01-19 15:30:17 +01:00
S170H
650972d246 Merge branch 'dev/m6_robert' into dev/m6_safak
# Conflicts:
#	M6/emensamobile/resources/views/main/index.blade.php
2024-01-19 14:49:44 +01:00
S170H
6155f81409 M6 Nr3 4)-6) 2024-01-19 01:04:23 +01:00
8 changed files with 127 additions and 46 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Models\bewertungen;
use App\Models\Gericht;
use App\Models\benutzer;
use Illuminate\Routing\Controller as BaseController;
use App\Models\Gerichte;
@@ -54,11 +55,14 @@ class MainController extends BaseController
if ($data["gerichtid"] != null) {
$gericht = new Gerichte();
$g = $gericht->db_gericht_bewertung($data["gerichtid"]);
$gericht = Gericht::query()->find($data["gerichtid"]);
$gerichtName = $gericht->getGerichtName();
$bildname = $gericht->getBildname();
return view('main.bewertung', [
"gericht" => $g,
"gerichtName" => $gerichtName,
"bildname" => $bildname,
"data" => $data,
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
]);
@@ -75,7 +79,7 @@ class MainController extends BaseController
}
$bewertungen = $b->bewertungen();
$bewertungen = $b->getBewertungen();
$benutzer = new benutzer();
$admin = $benutzer->isAdmin(session("benutzer_id"),0);
@@ -97,11 +101,17 @@ class MainController extends BaseController
$bemerkung = $data["bemerkung"] ?? NULL;
$benutzer = session("benutzer_id",0);
bewertungen::query()->firstOrCreate(
[
'ersteller_id' => $benutzer,
'gericht_id' => $id,
'bemerkung' => $bemerkung,
'sterne' => $sterne
]
);
$b = new bewertungen();
$check = $b->bewerten($benutzer,$id,$sterne, $bemerkung);
$bewertungen = $b->bewertungen();
$bewertungen = $b->getBewertungen();
return redirect('/bewertung');
}
@@ -123,15 +133,14 @@ class MainController extends BaseController
$data = $rd;
if ($data["loschen"] != null) {
$check = $b->loschen($data["loschen"]);
$check = $b->deleteMeineBewertung($data["loschen"]);
return redirect('/meinebewertungen');
}
}
$meine = $b->meine_bewertungen($benutzer_id);
$meine = $b->getMeineBewertungen($benutzer_id);
return view('main.meine_bewertungen', [
"meine_bewertungen" => $meine,

View File

@@ -0,0 +1,69 @@
<?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,14 +9,9 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
class Gerichte extends Model
{
class Gerichte extends Model {
use HasFactory;
function db_gericht_select_karte()
{
function db_gericht_select_karte(){
try {
$sql_gerichte = "SELECT * FROM gericht ORDER BY RAND() LIMIT 5";
@@ -79,12 +74,14 @@ class Gerichte extends Model
}
// Überflüssig
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;
}
//Überflüssig
function db_gericht_name(int $id){
$sql_gerichte = "SELECT gericht.name FROM gericht WHERE id =". $id;
$result_sql_gerichte = DB::select($sql_gerichte);

View File

@@ -8,34 +8,42 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
class bewertungen extends Model
{
class bewertungen extends Model {
protected $table = 'bewertungen';
protected $primaryKey = 'id';
public $incrementing = true;
protected $attributes = [
'hervorgehoben' => 0
];
public $fillable = [
'ersteller_id',
'gericht_id',
'bemerkung',
'sterne'
];
public $timestamps = false;
use HasFactory;
function bewerten(int $ersteller, int $gericht, int $sterne, string $bemerkung){
$sql = "INSERT INTO bewertungen (ersteller_id,gericht_id,bemerkung,sterne,hervorgehoben) VALUES (".$ersteller. ",". $gericht.",\"". $bemerkung."\",".$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";
function getBewertungen()
{
$sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.sterne, bewertungen.bemerkung, bewertungen.hervorgehoben FROM bewertungen ORDER BY bewertungen.erstellungsdatum LIMIT 30";
$result_sql_bewertungen = DB::select($sql_bewertungen);
$result = [];
foreach ($result_sql_bewertungen as $row) {
$sql = "SELECT gericht.name FROM gericht WHERE gericht.id=". $row->gericht_id;
array_push($result,[DB::select($sql),$row->sterne,$row->bemerkung,$row->id,$row->hervorgehoben]);
array_push($result,[DB::select($sql),$row->sterne,$row->bemerkung,$row->hervorgehoben]);
}
return $result;
}
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";
function getMeineBewertungen(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";
$result_sql_bewertungen = DB::select($sql_bewertungen);
$result = [];
@@ -49,19 +57,20 @@ class bewertungen extends Model
}
function loschen(int $id){
$sql_bewertungen = "SELECT bewertungen.ersteller_id FROM bewertungen WHERE bewertungen.id =". $id;
function deleteMeineBewertung(int $id)
{
$sql_bewertungen = "SELECT bewertungen.ersteller_id FROM bewertungen WHERE bewertungen.id =" . $id;
$result_sql_bewertungen = DB::select($sql_bewertungen);
if($result_sql_bewertungen == null){
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;
}
$sql_bewertungen = "DELETE FROM bewertungen WHERE bewertungen.id = ".$id;
$sql_bewertungen = "DELETE FROM bewertungen WHERE bewertungen.id = " . $id;
DB::delete($sql_bewertungen);
return 1;

View File

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

View File

@@ -39,11 +39,8 @@
@if(isset($admin))
@endif
@if(isset($gericht))
@if(isset($gerichtName, $bildname))
<?php
$gericht = $gericht[0];
$bildname = $gericht->bildname;
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";
@@ -61,7 +58,7 @@
<img class="bewertung" src="{{$bildname}}" alt="Bild vom Gericht" width= "10" height="10">
</div>
<div>
<h1>{{$gericht->name}}</h1>
<h1>{{$gerichtName}}</h1>
<form action="/bewertung_abschicken" method="post">

View File

@@ -76,10 +76,10 @@
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;
$gericht = \App\Models\Gericht::query()->find($row_gerichte->id);
$preisintern = $gericht->getPreisIntern();
$preisextern = $gericht->getPreisExtern();;
$bildname = $gericht->getBildName();
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";