This commit introduces new functions for permission inspection, allowing super admins to toggle and manage access rights more effectively. It adds visual elements for permission badges in the admin interface and updates the sidebar navigation to include a migration section for legacy accounts. Additionally, CSS styles are enhanced for better user experience and clarity. The version code is updated to reflect these changes.
577 lines
25 KiB
PHP
577 lines
25 KiB
PHP
<?php
|
|
global $db, $objDatabase, $vblnEnvironementDev, $vDomaine, $objDatabasePreProd, $objDatabaseProd;
|
|
ini_set('display_errors', 0);
|
|
ini_set('display_startup_errors', 0);
|
|
error_reporting(E_ALL);
|
|
// vérifier les paramètres
|
|
if (!empty($_GET['t']))
|
|
$intMenu = $_GET['t'];
|
|
else
|
|
$intMenu = 0;
|
|
|
|
if (!empty($_GET['a'])) {
|
|
$strAction = $_GET['a'];
|
|
|
|
if (!empty($_GET['batch']))
|
|
$strAction .= '_batch';
|
|
} else
|
|
$strAction = '';
|
|
|
|
$strPage = 'index.php';
|
|
$strLangue = 'fr';
|
|
|
|
if (isset($_GET['lng'])) {
|
|
if ($_GET['lng'] != '')
|
|
$strLangue = $_GET['lng'];
|
|
}
|
|
|
|
require_once('php/inc_functions.php');
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'doubler' && isset($_GET['eve_id'])) {
|
|
|
|
|
|
$new_id = fxcopieevenement($_GET['eve_id']);
|
|
|
|
if ($new_id) {
|
|
// Rediriger vers le nouvel événement copié
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id='.$new_id);
|
|
exit;
|
|
} else {
|
|
echo "<div style='color:red;'>Erreur lors de la duplication.</div>";
|
|
}
|
|
}
|
|
if ($_GET['action'] == 'deletepromoteur') {
|
|
|
|
|
|
fxDeleteEvenementFromPromoteur($_GET['id'], $_GET['promoteur_id']);
|
|
|
|
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id='.$_GET['id']);
|
|
exit;
|
|
}
|
|
if ($_GET['action'] == 'deletepromoteurcompte') {
|
|
|
|
|
|
|
|
fxDeleteEvenementFromPromoteur($_GET['eve_id'], $_GET['promoteur_id']);
|
|
|
|
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id='.$_GET['id']);
|
|
exit;
|
|
}
|
|
if ($_GET['action'] == 'addpromoteur') {
|
|
|
|
fxAddEvenementToPromoteur($_GET['id'], $_GET['promoteur_id']);
|
|
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id='.$_GET['id']);
|
|
exit;
|
|
}
|
|
if ($_GET['action'] == 'addpromoteurToGroupe') {
|
|
|
|
fxAddEvenementToGroupe($_GET['id'], $_GET['groupe']);
|
|
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id='.$_GET['id']);
|
|
exit;
|
|
}
|
|
|
|
if ($_GET['action'] == 'addevenement') {
|
|
|
|
fxAddEvenementToPromoteur($_GET['evenement_id'], $_GET['id']);
|
|
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id='.$_GET['id']);
|
|
exit;
|
|
}
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'addeveacces') {
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
require_once(dirname(__FILE__) . '/../php/inc_fx_eve_acces.php');
|
|
$intGrantedBy = isset($_SESSION['usa_id']) ? intval($_SESSION['usa_id']) : 0;
|
|
$arrResult = fxEveAccesGrant(
|
|
intval($_GET['id']),
|
|
intval($_GET['evenement_id']),
|
|
intval($_GET['role_id']),
|
|
intval($_GET['expire_days'] ?? 0),
|
|
$intGrantedBy,
|
|
'Super admin'
|
|
);
|
|
$strAnchor = ($arrResult['state'] === 'success') ? '#eve-acces-v2' : '';
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id=' . intval($_GET['id']) . $strAnchor);
|
|
exit;
|
|
}
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'revokeveacces') {
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
require_once(dirname(__FILE__) . '/../php/inc_fx_eve_acces.php');
|
|
$intRevokedBy = isset($_SESSION['usa_id']) ? intval($_SESSION['usa_id']) : 0;
|
|
fxEveAccesRevoke(intval($_GET['ea_id']), $intRevokedBy);
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id=' . intval($_GET['id']) . '#eve-acces-v2');
|
|
exit;
|
|
}
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'addeveaccesextra') {
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
require_once(dirname(__FILE__) . '/../php/inc_fx_eve_acces.php');
|
|
$intGrantedBy = isset($_SESSION['usa_id']) ? intval($_SESSION['usa_id']) : 0;
|
|
fxEveAccesGrantExtra(
|
|
intval($_GET['id']),
|
|
intval($_GET['evenement_id']),
|
|
$_GET['perm_key'] ?? '',
|
|
$intGrantedBy,
|
|
'Super admin extra'
|
|
);
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id=' . intval($_GET['id']) . '#eve-acces-v2');
|
|
exit;
|
|
}
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'revokeveaccesextra') {
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
require_once(dirname(__FILE__) . '/../php/inc_fx_eve_acces.php');
|
|
$intRevokedBy = isset($_SESSION['usa_id']) ? intval($_SESSION['usa_id']) : 0;
|
|
fxEveAccesRevokeExtra(intval($_GET['ae_id']), $intRevokedBy);
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id=' . intval($_GET['id']) . '#eve-acces-v2');
|
|
exit;
|
|
}
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'reactivateveacces') {
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
require_once(dirname(__FILE__) . '/../php/inc_fx_eve_acces.php');
|
|
$intGrantedBy = isset($_SESSION['usa_id']) ? intval($_SESSION['usa_id']) : 0;
|
|
fxEveAccesReactivate(intval($_GET['ea_id']), $intGrantedBy);
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id=' . intval($_GET['id']) . '#eve-acces-v2');
|
|
exit;
|
|
}
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'reactivateveaccesextra') {
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
require_once(dirname(__FILE__) . '/../php/inc_fx_eve_acces.php');
|
|
$intGrantedBy = isset($_SESSION['usa_id']) ? intval($_SESSION['usa_id']) : 0;
|
|
fxEveAccesReactivateExtra(intval($_GET['ae_id']), $intGrantedBy);
|
|
header('Location: index.php?t=' . urlencode($_GET['t']) . '&a=mod&id=' . intval($_GET['id']) . '#eve-acces-v2');
|
|
exit;
|
|
}
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'migrateveacceslegacy') {
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
require_once(dirname(__FILE__) . '/../php/inc_fx_eve_acces.php');
|
|
$intGrantedBy = isset($_SESSION['usa_id']) ? intval($_SESSION['usa_id']) : 0;
|
|
$arrResult = fxEveAccesMigrateCompteFromLegacy(intval($_GET['id']), $intGrantedBy);
|
|
$strQ = 'index.php?t=' . urlencode($_GET['t']) . '&a=mod&id=' . intval($_GET['id'])
|
|
. '#eve-acces-migration'
|
|
. '&mig_msg=' . urlencode($arrResult['message']);
|
|
if (($arrResult['state'] ?? '') !== 'success') {
|
|
$strQ .= '&mig_err=1';
|
|
}
|
|
header('Location: ' . $strQ);
|
|
exit;
|
|
}
|
|
|
|
if (isset($_GET['action']) && $_GET['action'] == 'migrateveacceslegacyall') {
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
require_once(dirname(__FILE__) . '/../php/inc_fx_eve_acces.php');
|
|
$intGrantedBy = isset($_SESSION['usa_id']) ? intval($_SESSION['usa_id']) : 0;
|
|
$intTotalGranted = 0;
|
|
$intTotalSkipped = 0;
|
|
$intComptes = 0;
|
|
foreach (fxEveAccesMigrationListComptesPending() as $arrRow) {
|
|
$arrResult = fxEveAccesMigrateCompteFromLegacy(intval($arrRow['com_id']), $intGrantedBy);
|
|
if (($arrResult['state'] ?? '') === 'success' || ($arrResult['granted'] ?? 0) > 0) {
|
|
$intTotalGranted += intval($arrResult['granted'] ?? 0);
|
|
$intTotalSkipped += intval($arrResult['skipped'] ?? 0);
|
|
$intComptes++;
|
|
}
|
|
}
|
|
header('Location: eve_acces.php?p=migrate&ok=' . urlencode(
|
|
$intTotalGranted . ' acces cree(s) sur ' . $intComptes . ' compte(s)'
|
|
. ($intTotalSkipped > 0 ? ', ' . $intTotalSkipped . ' deja en place' : '')
|
|
));
|
|
exit;
|
|
}
|
|
|
|
if ($strAction != 'report') {
|
|
require_once('php/inc_start_time.php');
|
|
$blnLogged = true;
|
|
|
|
} else {
|
|
session_start();
|
|
$blnLogged = false;
|
|
$intMenu2 = base64_decode(urldecode($intMenu));
|
|
|
|
if (isset($_SESSION['com_info']['com_id'])) {
|
|
$qry = 'select men_ref from adm_menus where men_id = ' . intval($intMenu2);
|
|
$recRapport = $objDatabase->fxGetRow($qry);
|
|
|
|
$qry = 'select com_eve_promoteur, com_rapports, com_eve_modifiable from inscriptions_comptes where com_id = ' . intval($_SESSION['com_info']['com_id']);
|
|
$recPromoteur = $objDatabase->fxGetRow($qry);
|
|
|
|
if ($recPromoteur != null && $recRapport != null) {
|
|
if ((trim($recRapport['men_ref']) != 0 && in_array($recRapport['men_ref'], explode(',', $recPromoteur['com_eve_promoteur']))) || (in_array($intMenu2, explode(',', $recPromoteur['com_rapports'])))) {
|
|
$blnLogged = true;
|
|
}
|
|
}
|
|
}
|
|
if (isset($_SESSION['usa_id'])) {
|
|
$blnLogged = true;
|
|
}
|
|
}
|
|
|
|
if($strAction=='importquestiongo'){
|
|
|
|
// print_r($_POST['choix_produits'] ); echo('<br>');
|
|
foreach ( $_POST['choix'] as $intValue) {
|
|
// echo($intValue);echo('<br>');
|
|
if (in_array($intValue, $_POST['choix_produits'])) {
|
|
// copier les produits
|
|
$sqlQuestion = "SELECT que_choix_produit FROM inscriptions_questions WHERE que_id = " . $intValue;
|
|
$choix_produit = $objDatabase->fxGetVar($sqlQuestion );
|
|
// echo($choix_produit.'<br>');
|
|
$tableau = explode(",", $choix_produit);
|
|
$new='';
|
|
foreach ($tableau as $valeur) {
|
|
$mempro_id=$valeur;
|
|
if ($valeur!=0){
|
|
// echo "Valeur : $valeur<br>";
|
|
$updates2 = [
|
|
'eve_id' => $_POST['hidden_pec_id'],
|
|
'prod_update_qui' => '',
|
|
'prod_update_date' => '',
|
|
];
|
|
$mempro_id=fxDuplicateRow('inscriptions_produits_new', $valeur, 'pro_id',$updates2 );
|
|
|
|
}
|
|
|
|
$new=$new.$mempro_id.",";
|
|
}
|
|
$new = rtrim($new, ',');
|
|
// echo( $new.'<br>');
|
|
|
|
$updates = [
|
|
'eve_id' => $_POST['hidden_pec_id'],
|
|
'que_banque_actif' => 0,
|
|
'que_banque_label' => '',
|
|
'prod_update_qui' => '',
|
|
'prod_update_date' => '',
|
|
'que_choix_produit' => $new,
|
|
'que_epreuves_incluses' => ''
|
|
];
|
|
} else {
|
|
|
|
$updates = [
|
|
'eve_id' => $_POST['hidden_pec_id'],
|
|
'que_banque_actif' => 0,
|
|
'que_banque_label' => '',
|
|
'prod_update_qui' => '',
|
|
'prod_update_date' => '',
|
|
'que_epreuves_incluses' => ''
|
|
];
|
|
}
|
|
|
|
|
|
|
|
fxDuplicateRow('inscriptions_questions', $intValue, 'que_id',$updates ) ;
|
|
|
|
}
|
|
|
|
$strLink = '/superadm/index.php?t=' . urlencode(base64_encode(fxUnescape(4))) . '&a=mod&id=' . $_POST['hidden_pec_id'];
|
|
header("Location: ". $strLink );
|
|
|
|
exit;
|
|
}
|
|
require_once('php/inc_fx_messages.php');
|
|
require_once('php/inc_fx_excell.php');
|
|
|
|
|
|
if (isset($_POST['avant_com_preprod'])){
|
|
// ajouster com_preprod en prod
|
|
if($_POST['avant_com_preprod']!=$_POST['com_preprod']){
|
|
|
|
|
|
$sqlInsert = "update inscriptions_comptes SET com_preprod = " . $_POST['com_preprod'] . " WHERE com_courriel = '" . $_POST['com_courriel'] . "'";
|
|
// $qryInsert = $GLOBALS['db']->fxQuery($sqlInsert);
|
|
|
|
|
|
$qryInsert = $objDatabasePreProd->fxQuery($sqlInsert);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
if (isset($_POST['btn_copie_compte'])){
|
|
|
|
fxcopiecompte($_POST['com_courriel']);
|
|
|
|
|
|
}
|
|
if (isset($_POST['btn_syncro_compte'])){
|
|
|
|
// fxcopiecompte($_POST['com_courriel']);
|
|
|
|
|
|
}
|
|
// si on clique le bouton ajouter
|
|
if (isset($_POST['form_action'])){
|
|
|
|
|
|
fxSetForm($_POST['form_action'], $intMenu, $_POST, $_FILES);
|
|
|
|
}
|
|
// si on clique excel
|
|
if (isset($_POST['download']) && $_POST['download'] == 'excel') {
|
|
if (isset($_POST['strwhere']))
|
|
$strwhere = $_POST['strwhere'];
|
|
else
|
|
$strorder = "";
|
|
if (isset($_POST['strorder']))
|
|
$strorder = $_POST['strorder'];
|
|
else
|
|
$strorder = "";
|
|
$_GET["t"] = "";
|
|
|
|
|
|
fxrapportexcell($intMenu, $strLangue, $strorder, $strwhere);
|
|
}
|
|
|
|
// si on clique le bouton supprimer
|
|
foreach (array_keys($_POST) as $strValue) {
|
|
if (strstr($strValue, 'btn_delete_file_')) {
|
|
fxDeleteFile($intMenu, $_POST, substr($strValue, strrpos($strValue, '_') + 1));
|
|
} elseif (strstr($strValue, 'btn_delete_')) {
|
|
if ($strAction == 'list') {
|
|
fxSetForm('del', $intMenu, $_POST, '');
|
|
} else {
|
|
$tabSubtablesDel = fxGetMenussuperadm('', base64_decode(urldecode($intMenu)));
|
|
|
|
for ($intCtr = 1; $intCtr <= count($tabSubtablesDel); $intCtr++) {
|
|
if (isset($_POST['chk_' . $tabSubtablesDel[$intCtr]['men_id']]))
|
|
fxSetForm('del', urlencode(base64_encode(fxUnescape($tabSubtablesDel[$intCtr]['men_id']))), $_POST, '');
|
|
}
|
|
}
|
|
} elseif (strstr($strValue, 'btn_duplicate_')) {
|
|
fxSetForm('copy', $intMenu, $_POST, '');
|
|
}
|
|
}
|
|
|
|
require_once('inc_header.php');
|
|
|
|
?>
|
|
<div class="container-fluid" id="main">
|
|
<div class="row">
|
|
<div class="<?php if ($strAction == "report") { ?>col-12<?php } else { ?>col-md-9 col-lg-10 order-first order-md-last<?php } ?> py-3">
|
|
<?php
|
|
if ($blnLogged) {
|
|
switch ($strAction) {
|
|
|
|
case 'importquestion':
|
|
|
|
$intMenu = urlencode(base64_encode(fxUnescape(30)));
|
|
$tabResults = fxGetListData($intMenu, '', '', '', 1, $strLangue, $_GET['id']);
|
|
|
|
//MSIN-3872
|
|
//affiche le id de la section
|
|
//echo($tabSubTables[$intCtr]['men_id']);
|
|
|
|
?>
|
|
|
|
<form action="index.php?a=importquestiongo" method="post" id="frm_question_copy">
|
|
<input type="hidden" id="hidden_id" name="hidden_pec_id" value="<?php echo $_GET['id'] ?>">
|
|
<?php
|
|
|
|
$strLink = 'index.php?t=' . urlencode(base64_encode(fxUnescape(4))) . '&a=mod&id=' .$_GET['id'];
|
|
|
|
?>
|
|
|
|
|
|
|
|
<button class="btn_import_question btn btn-sm btn-secondary rounded-0 mb-2" data-id="<?php echo $tabResults['data'][$intCtr][$tabResults['key']]; ?>" data-key="<?php echo $tabResults['key']; ?>" data-table="<?php echo $tabResults['menu']['men_table']; ?>" type="button" data-toggle="tooltip" title="Importer les questions">
|
|
<i class="fa fa-upload" aria-hidden="true"> Importer les questions</i>
|
|
</button>
|
|
<a class="btn btn-danger rounded-0" href="<?php echo $strLink ?>">
|
|
<i class="fa fa-times" aria-hidden="true"></i> Annuler</a>
|
|
<?php
|
|
fxShowList($tabResults, $intMenu, '', '', '', 1, $strLangue);
|
|
?>
|
|
|
|
</form>
|
|
|
|
|
|
<?php
|
|
break;
|
|
case 'add':
|
|
case 'add_batch':
|
|
case 'mod':
|
|
|
|
fxShowForm($strAction, $intMenu, $strLangue);
|
|
|
|
break;
|
|
case 'list':
|
|
case 'report':
|
|
|
|
// récupérer les données pour créer la liste
|
|
if (isset($_GET['pg']))
|
|
$intPage = $_GET['pg'];
|
|
else
|
|
$intPage = 1;
|
|
|
|
|
|
$strOrder = $strWhere = $strGroup = '';
|
|
|
|
// vérifier la clause WHERE
|
|
if (isset($_GET['btn_search'])) {
|
|
$tabWhere = $tabGroup = array();
|
|
|
|
$tabFields = fxGetFormFields2('search', $intMenu);
|
|
|
|
for ($intCtr = 1; $intCtr <= count($tabFields); $intCtr++) { // former le WHERE si la valeur n'est pas vide
|
|
if ($tabFields[$intCtr]['date'] == 1 || $tabFields[$intCtr]['datetime'] == 1) {
|
|
if (isset($_GET[$tabFields[$intCtr]['name'] . '_from']) && trim($_GET[$tabFields[$intCtr]['name'] . '_from']) != '' && isset($_GET[$tabFields[$intCtr]['name'] . '_to']) && trim($_GET[$tabFields[$intCtr]['name'] . '_to']) != '')
|
|
$tabWhere[] = "(" . fxUnescape($tabFields[$intCtr]['name']) . " >= '" . $_GET[fxUnescape($tabFields[$intCtr]['name']) . '_from'] . "' AND " . fxUnescape($tabFields[$intCtr]['name']) . " <= '" . $_GET[fxUnescape($tabFields[$intCtr]['name']) . '_to'] . "')";
|
|
$tabGroup[] = $tabFields[$intCtr]['name'];
|
|
} else {
|
|
if (isset($_GET[$tabFields[$intCtr]['name']]) && trim($_GET[$tabFields[$intCtr]['name']]) != '')
|
|
$tabWhere[] = fxUnescape($tabFields[$intCtr]['alias']).fxUnescape($tabFields[$intCtr]['name']) . " LIKE '%" . $objDatabase->fxEscape(trim($_GET[$tabFields[$intCtr]['name']])) . "%'";
|
|
}
|
|
}
|
|
|
|
// pousser le WHERE dans une variable
|
|
if (count($tabWhere) > 0)
|
|
$strWhere = implode(',', $tabWhere);
|
|
if (count($tabGroup) > 0)
|
|
$strGroup = implode(',', $tabGroup);
|
|
}
|
|
|
|
// vérifier la clause ORDER BY
|
|
if (isset($_GET['o'])) {
|
|
$strOrder = $objDatabase->fxEscape(trim($_GET['o']));
|
|
$tabFields = fxGetFormFields2('sort', $intMenu, $strOrder);
|
|
|
|
$strOrder = $tabFields[1]['alias'] . $tabFields[1]['name'];
|
|
}
|
|
|
|
$tabResults = fxGetListData($intMenu, $strOrder, $strWhere, $strGroup, $intPage, $strLangue);
|
|
|
|
fxShowList($tabResults, $intMenu, $strOrder, $strWhere, $strGroup, $intPage, $strLangue);
|
|
|
|
break;
|
|
default:
|
|
?>
|
|
<h4><?php echo fxJournee(fxGetDate(), $strLangue); ?> le <?php echo fxShowDate(fxGetDate(), $strLangue); ?></h4>
|
|
<p>Bonjour <?php if (isset($_SESSION['usa_info']['com_prenom'])) { echo fxUnescape($_SESSION['usa_info']['com_prenom']); } ?> !</p>
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<h1>Outils</h1>
|
|
<ul class="links">
|
|
<li role="presentation" style="font-size: 20px;"><a href="<?php echo $vDomaine; ?>/superadm/commandes.php"><i class="fa fa-credit-card" aria-hidden="true"></i> Liste des commandes</a></li>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/superadm/email_logs.php"><i class="fa fa-envelope" aria-hidden="true"></i> Liste des logs de courriel</a></li>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/superadm/check_qte_produits.php"><i class="fa fa-archive" aria-hidden="true"></i> Vérification de l'inventaire des produits <i class="fa fa-star text-warning" aria-hidden="true"></i></a></li>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/compte_resend.php" target="_blank"><i class="fa fa-envelope" aria-hidden="true"></i> Renvoyer les courriels de création de compte</a></li>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/maj_age.php?p=<?php echo fxUnescape($_SESSION['usa_info']['com_login']); ?>" target="_blank"><i class="fa fa-birthday-cake" aria-hidden="true"></i> Mettre à jour l'âge des participants</a></li>
|
|
<?php if (fxSuperadmStaticSyncAllowed()) { ?>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/php/sync_static_db.php" target="_blank"><i class="fa fa-database" aria-hidden="true"></i> Sync tables statiques (BD)</a></li>
|
|
<?php } ?>
|
|
</ul>
|
|
<h2>Archives PDF</h2>
|
|
<ul>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/superadm/canmore2015_pdfs.php" target="_blank"><i class="fa fa-bar-chart" aria-hidden="true"></i> 13.6 (labels - individual)</a></li>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/superadm/canmore2015_pdfs.php?id=13_7" target="_blank"><i class="fa fa-bar-chart" aria-hidden="true"></i> 13.7 (labels - teams)</a></li>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/superadm/canmore2015_pdfs.php?id=13_3" target="_blank"><i class="fa fa-bar-chart" aria-hidden="true"></i> 13.3 (teams pdf)</a></li>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/superadm/canmore2015_pdfs.php?id=13_3b" target="_blank"><i class="fa fa-bar-chart" aria-hidden="true"></i> 13.3 - updated (teams pdf)</a></li>
|
|
</ul>
|
|
<h3>Rapports archives</h3>
|
|
<ul>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/superadm/late_fees.php">Page des frais de retard/suivi dashboard équipe</a></li>
|
|
<?php
|
|
$arrCanmore = fxGetMenussuperadm(0, 0, 1, 0, 1);
|
|
|
|
for ($intCtr = 1; $intCtr <= count($arrCanmore); $intCtr++) {
|
|
?>
|
|
<li role="presentation"><a href="<?php echo $vDomaine; ?>/superadm/index.php?t=<?php echo urlencode(base64_encode(fxUnescape($arrCanmore[$intCtr]['men_id']))); ?>&a=report" target="_blank"><i class="fa fa-bar-chart" aria-hidden="true"></i> <?php echo fxUnescape($arrCanmore[$intCtr]['men_nom']); ?></a></li>
|
|
<?php
|
|
}
|
|
?>
|
|
</ul>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<?php
|
|
if ($vblnEnvironementDev) {
|
|
?>
|
|
<h1>Boutons Mise en PROD</h1>
|
|
<h4>Événements</h4>
|
|
<ul>
|
|
<li>Épreuves <sup>*</sup></li>
|
|
<li>Prix des épreuves <sup>*</sup></li>
|
|
<li>Infos participants <sup>*</sup></li>
|
|
<li>Produits <sup>*</sup></li>
|
|
<li>Questions <sup>*</sup></li>
|
|
<li>Questions pour les logs <sup>*</sup></li>
|
|
<li>Rabais <sup>*</sup></li>
|
|
<li>Événements</li>
|
|
<li>CSS</li>
|
|
<li>PDF</li>
|
|
<li>Taxes <sup>*</sup></li>
|
|
<li>Frais <sup>*</sup></li>
|
|
<li>Inscriptions confirmées</li>
|
|
<li>Rapports</li>
|
|
</ul>
|
|
<p><sup>*</sup> EXCLUT: paiements</p>
|
|
<h4>Épreuves</h4>
|
|
<ul>
|
|
<li>Épreuves <sup>*</sup></li>
|
|
<li>Prix des épreuves <sup>*</sup></li>
|
|
</ul>
|
|
<br>
|
|
<h4>Type de taxes</h4>
|
|
<ul>
|
|
<li>Type de taxes <sup>*</sup></li>
|
|
<li>Liste des taux <sup>*</sup></li>
|
|
</ul>
|
|
<br>
|
|
<div class="text-muted">
|
|
<p><sup>*</sup> Peut être mis en PROD séparément</p>
|
|
<p>NOTE: Pour un élément déjà en PROD qui doit être modifié, il doit être modifié en DEV et en PROD (ex. changer le texte d'une question), ne pas réutiliser "mettre en PROD"</p>
|
|
</div>
|
|
<?php
|
|
}
|
|
?>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
}
|
|
} else {
|
|
if ($strLangue == 'fr') {
|
|
?>
|
|
<h1>Accès refusé!</h1>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<h1>Access denied!</h1>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
<p> </p>
|
|
</div>
|
|
<?php
|
|
if ($strAction != "report")
|
|
|
|
require_once('inc_droite.php');
|
|
?>
|
|
</div>
|
|
</div>
|
|
<?php require_once('inc_footer.php');
|