Geizkragen/lib/bootstrap.php

52 lines
1.1 KiB
PHP

<?php
/**
* @file bootstrap.php
* @brief Zentrale Initialisierung der Anwendung
*
* Startet die Session, lädt die Datenbankverbindung
* und aktualisiert die Benutzerrollen.
*/
require_once __DIR__ . '/db.php';
//ini_set('display_errors', '1');
//ini_set('display_startup_errors', '1');
//error_reporting(E_ALL);
if (session_status() !== PHP_SESSION_ACTIVE)
{
session_start();
}
// Rollen bei jedem Request aus der DB aktualisieren
if (!empty($_SESSION['user_id']))
{
$__bsConn = db_connect();
$__bsStmt = $__bsConn->prepare('SELECT r.name FROM userRoles ur JOIN roles r ON r.roleID = ur.roleID WHERE ur.userID = ?');
if ($__bsStmt)
{
$__bsUid = (int)$_SESSION['user_id'];
$__bsStmt->bind_param('i', $__bsUid);
$__bsStmt->execute();
$__bsResult = $__bsStmt->get_result();
$_SESSION['user_roles'] = [];
while ($__bsRow = $__bsResult->fetch_assoc())
{
$_SESSION['user_roles'][] = $__bsRow['name'];
}
$__bsStmt->close();
}
$__bsConn->close();
}
else
{
$_SESSION['user_roles'] = [];
}
?>