452 lines
20 KiB
PHP
452 lines
20 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 ($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>
|
|
</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');
|