Files
ms1inscription-v5/inc_tableau_promoteur.php
stephan 5f73db0a59 MSIN-4401 Implement event access management features, including team invitation capabilities and menu integration
This commit introduces functions for managing event access, allowing promoters to invite team members and manage permissions. The `fxEveAccesCanTeamInvite` function is added to check if a user can invite others, and the UI is updated to include access management options in the navigation. Additionally, relevant includes are added to ensure the necessary functions are available. These changes enhance the event management experience for promoters.
2026-07-13 09:49:12 -04:00

353 lines
15 KiB
PHP

<?php
// MSIN-3880 nouveau tableau
include_once("php/inc_fx_modifierinscriptions.php");
include_once("php/inc_fx_memberships.php");
include_once("php/inc_fx_promoteur.php");
require_once('php/inc_fx_eve_acces.php');
require_once('superadm/php/inc_manager.php');
global $objDatabase, $vDomaine, $strLangue;
$intEveId = 0;
$blnDon = false;
if ($strLangue == 'fr') {
$strPage = '/compte';
} else {
$strPage = '/account';
}
if (isset($_GET['promoteur_eve_id'])) {
$intEveId = base64_decode(urldecode($_GET['promoteur_eve_id']));
$arrEvenement = fxGetEvenementsId($intEveId);
//$tabEvenement['general'] = $arrEvenement;
}
// recalculer les catégorie
if (isset($_REQUEST['resetcategorie'])) {
fxregles_niveau_updateall($intEveId);
}
// Annuler/retablir une inscriptions dans le tableau du promoteur
if (isset($_POST['btn_cancel_event_promo'])) {
$int_pec_id = $_POST['pec_id_original'];
$int_epr_id = $_POST['epr_id'];
$tabEpreuve = fxGetEpreuve($int_epr_id);
fxAnnulerRetablirInscription($tabEpreuve, $int_pec_id);
}
if ($intEveId != 0) {
$arrEvenement = fxGetEvenementsId($intEveId);
$tabRapports = fxGetMenussuperadm(0, 0, 1, $intEveId);
if ($arrEvenement['te_id'] == 9) {
$blnDon = true;
}
//$tabEvenement['general'] = $arrEvenement;
?>
<ul class="nav flex-column ms1-menu-compte">
<!--
<li class="nav-item">
<a data-toggle="collapse" href="#collapseDashboard" class="nav-list"><i class="fa fa-tachometer"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_menudashboard', 0); ?>
</a>
</li>
<div class="animate__animated animate__fadeIn collapse" id="collapseDashboard">
<div class="promoteur p-3">
<div class="card box_participant mb-1">
<div class="card-header">
</div>
</div>
</div>
</div>
-->
<li class="nav-item">
<a data-toggle="collapse" href="#collapseRapports" class="nav-list"><i class="fa fa-file"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_menurapports', 0); ?>
</a>
</li>
<div class="animate__animated animate__fadeIn collapse" id="collapseRapports">
<ul class="list-unstyled">
<?php
if ($arrEvenement['te_id'] != 9) {
?>
<li class="nav-list p-2">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=chrono&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>"
target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>chrono + questions
</a>
</li>
<?php
}
$year = date('Y'); // Année courante
$datetq = $year . '-04-01 00:00:00';
if ($arrEvenement['te_id'] == 13) {
?>
<li class="nav-list p-2"
">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=finances-membership&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>&a-ach_maj_from=<?php echo $datetq; ?> &btn_search="
target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>Transactions-Finances-Tout
</a>
</li>
<?php
}else{
?>
<li class="nav-list p-2"
">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=finances&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>"
target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>Transactions-Finances
</a>
</li>
<?php
}
if ($arrEvenement['te_id'] == 13) {
?>
<li class="nav-list p-2">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=finances-membership-tq&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>&a-ach_maj_from=<?php echo $datetq; ?> &btn_search="
target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>Transactions-Finances-Adhésions Seul
</a>
</li>
<li class="nav-list p-2">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=finances-membership-autre&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>&a-ach_maj_from=<?php echo $datetq; ?> &btn_search="
target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>Transactions-Finances-Événements Seul
</a>
</li>
<li class="nav-list p-2">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=adhesions&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>"
target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>adhésions actives
</a>
</li>
<li class="nav-list p-2">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=adhesions-ventes&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>"
target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>liste d'adhésions annuelles
</a>
</li>
<?php
}
if ($arrEvenement['eve_rapport_finances_capitaines'] == 1) {
?>
<li class="nav-list p-2">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=finances-pnq&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>"
target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>Transactions-Finances (capitaines
seulement)
</a>
</li>
<?php
}
?>
<li class="nav-list p-2"
">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=remboursements&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>"
target="_blank">
<i class="fa fa-bar-chart mr-2"
aria-hidden="true"></i><?php if ($strLangue == 'fr') echo "Paiements"; else echo "Payments" ?>
</a>
</li>
<!--
<li class="mb-2">
<a class="btn btn-primary rounded-pill" href="<?php echo $vDomaine; ?>/superadm/rapport_new.php?r=remboursements&e=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>" target="_blank">
<i class="fa fa-bar-chart mr-2" aria-hidden="true"></i><?php if ($strLangue == 'fr') echo "liste de participant"; else echo "liste de participant" ?>
</a>
</li>
-->
<?php
for ($intCtr = 1; $intCtr <= count($tabRapports); $intCtr++) {
?>
<li class="nav-list p-2"">
<a class="btn btn-primary"
href="<?php echo $vDomaine; ?>/superadm/index.php?t=<?php echo urlencode(base64_encode(fxUnescape($tabRapports[$intCtr]['men_id']))); ?>&amp;a=report&lng=<?php echo $strLangue; ?>"
data-toto="<?php echo $intCtr; ?>" target="_blank">
<i class="fa fa-bar-chart mr-2"
aria-hidden="true"></i><?php echo fxUnescape($tabRapports[$intCtr]['men_nom']); ?>
</a>
</li>
<?php
}
?>
</ul>
</div>
<?php ;
if (!$blnDon) {
?>
<li class="nav-item">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_dossards?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?> &lng=<?php echo $strLangue; ?>"
data-toto="<?php echo $intCtr; ?>"> <i class="fa fa-id-card-o"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_menudossard', 0); ?>
</a>
</li>
<?php
$sqlQteLimitee = "SELECT eve_qte_modifiable FROM inscriptions_evenements WHERE eve_id = " . intval($intEveId);
$qryQteLimitee = $objDatabase->fxGetVar($sqlQteLimitee);
if ($qryQteLimitee == 1) {
?>
<li class="nav-item">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_epreuves?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?> &lng=<?php echo $strLangue; ?>"
data-toto="<?php echo $intCtr; ?>"> <i class="fa fa-pencil-square-o"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_menuepreuves', 0); ?>
</a>
</li><?php
}
if (!empty($_SESSION['usa_id'])
|| fxEveAccesHasAnyPermission($_SESSION['com_id'] ?? 0, $intEveId, array('dossards.manage', 'epreuves.edit_qte'))) {
?>
<li class="nav-item">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_gestion_epreuves?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?> &lng=<?php echo $strLangue; ?>">
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
<?php
$strMenuGestionQteDossards = afficheTexte('tableau_promoteur_menu_gestion_qte_dossards', 0, 0);
echo (strpos($strMenuGestionQteDossards, '*tableau_promoteur_menu_gestion_qte_dossards*') !== false)
? 'Gestion des quantités et dossards'
: $strMenuGestionQteDossards;
?>
<?php echo fxEveAccesPermInspectBadge('dossards.manage', 'menu'); ?>
<?php echo fxEveAccesPermInspectBadge('epreuves.edit_qte', 'menu'); ?>
</a>
</li>
<?php
}
}
?>
<li class="nav-item">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_inscriptions?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?> &lng=<?php echo $strLangue; ?>"
data-toto="<?php echo $intCtr; ?>"> <i class="fa fa-users"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_menueinscription', 0); ?>
</a>
</li>
<?php if (fxInscrGestionCanAccess($_SESSION['com_id'], $intEveId)) { ?>
<li class="nav-item">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_inscriptions_gestion?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?>&amp;lng=<?php echo $strLangue; ?>">
<i class="fa fa-users" aria-hidden="true"></i> <?php echo htmlspecialchars(fxInscrGestionPromoteurMenuLabel(), ENT_QUOTES, 'UTF-8'); ?>
<?php echo fxEveAccesPermInspectBadge('inscriptions_gestion.view', 'menu'); ?>
<?php echo fxEveAccesPermInspectBadge('registrations.view', 'menu'); ?>
</a>
</li>
<?php } ?>
<!-- MSIN-3875 -->
<li class="nav-item">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_rabais?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?> &lng=<?php echo $strLangue; ?>"
data-toto="<?php echo $intCtr; ?>"> <i class="fa fa-money"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_rabais', 0); ?>
</a>
</li>
<?php
// MSIN-4401
if (!function_exists('fxEveAccesCanTeamInvite')) {
require_once('php/inc_fx_eve_acces.php');
}
if (!function_exists('fxEveAccesPromoteurMenuLabel')) {
require_once('php/inc_fx_eve_acces_promoteur.php');
}
if (fxEveAccesCanTeamInvite($_SESSION['com_id'] ?? 0, $intEveId)) {
?>
<li class="nav-item">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_eve_acces?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?>&amp;lng=<?php echo $strLangue; ?>">
<i class="fa fa-key" aria-hidden="true"></i>
<?php echo htmlspecialchars(fxEveAccesPromoteurMenuLabel($strLangue), ENT_QUOTES, 'UTF-8'); ?>
<?php echo fxEveAccesPermInspectBadge('team.invite', 'menu'); ?>
<?php echo fxEveAccesPermInspectBadge('team.manage', 'menu'); ?>
</a>
</li>
<?php
}
?>
<?php
// MSIN-3984
if ($arrEvenement['te_id'] == 13) {
?>
<!-- envoie de email
<li class="nav-item">
<a data-toggle="collapse" href="#collapseemail" class="nav-list"><i class="fa fa-paper-plane"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_envoie_email', 0); ?>
</a>
</li> -->
<li class="nav-list">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_mail_questions?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?> &lng=<?php echo $strLangue; ?>"
data-toto="<?php echo $intCtr; ?>"> <i class="fa fa-paper-plane"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_envoie_email_questions', 0); ?>
</a>
</li>
<!--
<li class="nav-list p-2">
<a class="nav-list"
href="<?php echo $vDomaine; ?>/compte/inc_tableau_mail_entraineurs?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?> &lng=<?php echo $strLangue; ?>"
data-toto="<?php echo $intCtr; ?>"> <i class="fa fa-paper-plane"
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_entraineurs', 0); ?>
</a>
</li>
-->
</ul>
</div>
<?php
}
} else {
if ($strLangue == 'fr')
echo "Une erreur quelconque est survenue.";
else
echo "A generic error occurred.";
}