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.
353 lines
15 KiB
PHP
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']))); ?>&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)); ?>&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)); ?>&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.";
|
|
}
|