51 lines
1.5 KiB
PHP
51 lines
1.5 KiB
PHP
<?php /* Name: initialise.php
|
|
Beschreibung: Initialisierung der grundlegenden Verarbeitungen
|
|
für die Seiten des Intranets (1. Aufruf)
|
|
(Ausgenommen davon sind die An-/Abmeldung und Registrierung)
|
|
|
|
Ladung: Session, Parameter, Funktionen,
|
|
Datenbankverbindung und Authentifizierung des Nutzers */
|
|
|
|
if (session_status() == PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
|
|
require_once $_SERVER['DOCUMENT_ROOT'].'/intranet_repo/general_files/ini/parameters.php';
|
|
require_once $_SERVER['DOCUMENT_ROOT'].'/intranet_repo/general_files/ini/functions.php';
|
|
|
|
if (!isset($_SESSION['user_id']) || (int) $_SESSION['user_id'] <= 0) {
|
|
header("Location: {$g_httpLoginPath}");
|
|
exit();
|
|
}
|
|
|
|
$pdo = require_once($_SERVER['DOCUMENT_ROOT']."/intranet_repo/general_files/ini/database.php");
|
|
$userId = (int) $_SESSION['user_id'];
|
|
|
|
// Eine Session ist nur gültig, solange Nutzer UND Login-Datensatz weiterhin existieren.
|
|
$stmt = $pdo->prepare(
|
|
"SELECT u.* FROM user_general_information u "
|
|
. "INNER JOIN user_login l ON l.user_id = u.user_id "
|
|
. "WHERE u.user_id = ?"
|
|
);
|
|
$stmt->execute([$userId]);
|
|
$user = $stmt->fetch();
|
|
|
|
if (!$user || empty($user['mail'])) {
|
|
$_SESSION = [];
|
|
session_destroy();
|
|
header("Location: {$g_httpLoginPath}");
|
|
exit();
|
|
}
|
|
|
|
$stmt_groups = $pdo->prepare("SELECT * FROM user_permissions WHERE user_id = ?");
|
|
$stmt_groups->execute([$userId]);
|
|
$groups = $stmt_groups->fetch();
|
|
|
|
if (!$groups) {
|
|
$_SESSION = [];
|
|
session_destroy();
|
|
header("Location: {$g_httpLoginPath}");
|
|
exit();
|
|
}
|
|
?>
|