25 lines
No EOL
745 B
PHP
25 lines
No EOL
745 B
PHP
<?php
|
|
class Auth {
|
|
|
|
// Unser neuer, objektorientierter Türsteher
|
|
public static function check($project) {
|
|
$baseUrl = Config::get('BASE_URL', '/');
|
|
|
|
// 1. Ist der User eingeloggt?
|
|
if (!isset($_SESSION['user_email'])) {
|
|
header('Location: ' . $baseUrl . '?error=2');
|
|
exit();
|
|
}
|
|
|
|
// 2. Hat der User die Rechte für dieses Projekt?
|
|
if (!isset($_SESSION['user_projects']) || !in_array($project, $_SESSION['user_projects'])) {
|
|
header('Location: ' . $baseUrl);
|
|
exit();
|
|
}
|
|
}
|
|
|
|
// Helfer, um schnell die E-Mail des aktuellen Users abzufragen
|
|
public static function user() {
|
|
return $_SESSION['user_email'] ?? null;
|
|
}
|
|
} |