<?php

namespace App\Http\Controllers;
use App\Models\bewertungen;
use App\Models\benutzer;
use Illuminate\Routing\Controller as BaseController;
use App\Models\Gerichte;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
use Illuminate\Routing\Redirector;


class MainController extends BaseController
{
    public function index() {
        /*
           Wenn Sie hier landen:
           bearbeiten Sie diese Action,
           so dass Sie die Aufgabe löst
        */


        $gericht = new Gerichte();
        $data = $gericht->db_gericht_select_karte();

        $bewertung = new bewertungen();
        $bewertungen = $bewertung->hervorgehobene_bewertungen();

        return view('main.index', [
            'data'=>$data,
            "bewertungen" => $bewertungen,
            'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
        ]);
    }

    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']}"
            ]);
        }

        $b = new bewertungen();

        if($rd->isMethod("get")) {
            $data = $rd;

            if ($data["gerichtid"] != null) {

                $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){
                $b->hervorheben($data["hervorheben"]);
                return redirect('/bewertung');
            }
            if($data["dehervorheben"]!=null){
                $b->dehervorheben($data["dehervorheben"]);
                return redirect('/bewertung');
            }
        }


        $bewertungen = $b->bewertungen();

        $benutzer = new benutzer();
        $admin = $benutzer->isAdmin(session("benutzer_id"),0);

        return view('main.bewertung', [
            "admin" => $admin,
            "bewertungen" => $bewertungen,
            '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);

        $bewertungen = $b->bewertungen();
        return redirect('/bewertung');
    }

    public function meinebewertungen(Request $rd){
        if(session("start",0)== 0){
            return redirect('/bewertung');
        }

        $benutzer_id = session("benutzer_id",0);
        if($benutzer_id == 0){
            return view('main.index', [
                'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
            ]);
        }

        $b = new bewertungen();

        if($rd->isMethod("get")) {
            $data = $rd;

            if ($data["loschen"] != null) {
                $check = $b->loschen($data["loschen"]);
                return redirect('/meinebewertungen');
            }

        }



        $meine = $b->meine_bewertungen($benutzer_id);

        return view('main.meine_bewertungen', [
            "meine_bewertungen" => $meine,
            'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}./bewertungen"
        ]);
    }

}
