Files
ms1inscription-v5/mobile.php
stephan af2b0a7faa Refactor mobile registration access logic to utilize new permission functions
This commit updates the mobile registration access checks across multiple files to use the newly implemented `fxInscrMobileCanAccess` and `fxInscrMobileCanScan` functions. The changes enhance the permission handling for mobile event registrations, ensuring a more robust access control mechanism. Additionally, the mobile URL generation is updated for consistency, and new functions for managing event access permissions are introduced to streamline the codebase.
2026-06-19 11:55:00 -04:00

89 lines
2.6 KiB
PHP

<?php
define('MS1_INSCR_MOBILE_ENTRY', true);
require_once('php/inc_start_time.php');
require_once('php/inc_fonctions.php');
require_once('php/inc_fx_messages.php');
require_once('php/inc_fx_compte.php');
require_once('php/inc_fx_promoteur.php');
require_once('php/inc_fx_inscriptions_mobile.php');
global $objDatabase, $vDomaine, $vPage;
$vPage = 'mobile.php';
$strCode = 'mobile';
if (!empty($_GET['lang'])) {
$strLangue = $_GET['lang'];
} else {
$strLangue = 'fr';
}
if (!isset($_SESSION['com_id'])) {
$_SESSION['redirect_after_login'] = $_SERVER['REQUEST_URI'];
header('Location: ' . $vDomaine . ($strLangue === 'fr' ? '/compte' : '/account'));
exit;
}
$intEveId = 0;
if (!empty($_GET['promoteur_eve_id'])) {
$intEveId = fxInscrMobileParseEveId($_GET['promoteur_eve_id']);
}
$tabEveIds = fxInscrMobileGetPromoteurEveIds($_SESSION['com_id']);
if ($intEveId > 0 && !fxInscrMobileCanAccess($_SESSION['com_id'], $intEveId)) {
header('Location: ' . $vDomaine . '/mobile');
exit;
}
if ($intEveId === 0 && count($tabEveIds) === 1) {
header('Location: ' . $vDomaine . '/mobile?promoteur_eve_id=' . urlencode(base64_encode($tabEveIds[0])));
exit;
}
$strMetaTitle = ($strLangue === 'fr') ? 'Inscriptions mobile' : 'Mobile registrations';
$strMetaDescription = '';
$strMetaKeywords = '';
$blnBoutonRetour = false;
$footer_script = ($intEveId > 0);
$strSousTitre = '';
if ($intEveId > 0) {
$arrEvenement = fxGetEvenementsId($intEveId);
$strSousTitre = '<br><small class="text-muted">' . fxUnescape($arrEvenement['eve_nom_' . $strLangue]) . '</small>';
}
require_once('inc_header.php');
?>
<div id="page">
<div id="main">
<div class="container bg-white p-3 p-xl-4">
<?php
if (isset($_SESSION['msg'])) {
echo fxMessage($_SESSION['msg'], '', $strLangue);
}
if ($intEveId === 0) {
if (count($tabEveIds) === 0) {
echo '<div class="alert alert-warning" role="alert">';
echo ($strLangue === 'fr')
? 'Aucun acces inscriptions mobile (v2) n\'est actif pour ce compte.'
: 'No active mobile registration access (v2) for this account.';
echo '</div>';
} else {
fxInscrMobileRenderEventPicker($tabEveIds, $strLangue, fxInscrMobileBaseUrl($strLangue, true));
}
} else {
include('inc_tableau_inscriptions_mobile.php');
}
?>
</div>
</div>
</div>
<?php
require_once('inc_footer.php');