FaZeBookSocialNetwork / www / src / FaZeBook / Page / Login.php
Login.php
Raw
<?php

namespace FaZeBook\Page;

require_once(__DIR__.'/../../Application/Page/PageInterface.php');

use Application\Page\PageInterface;
use FaZeBook\Data;
use FaZeBook\Session;

class Login implements PageInterface {
    
    public function getTitle()
    {
        return 'Anmeldung';
    }

    public function getViewScript()
    {
        return __DIR__.'/../../../view/login/login.php';
    }

    public function getViewVariables()
    {
        $wasLoginAttempted = $this->wasLoginAttempted();
        $loginAttempt = ($wasLoginAttempted ? $this->loginAttempt() : false);

        return [
            'isLoggedIn' => Session::getInstance()->isLoggedIn(),
            'wasLoginAttempted' => $wasLoginAttempted,
            'loginAttempt' => $loginAttempt
        ];
    }

    private function wasLoginAttempted() : bool {
        return isset($_POST['email']) && isset($_POST['password']);
    }

    private function loginAttempt() : bool {
        $email = $_POST['email'];
        $password = $_POST['password'];

        return Session::getInstance()->login($email, $password);
    }

    public function getId()
    {
        return "login";
    }

    public function hasNavigationItem()
    {
        return false;
    }
}