FrameBeurk File
Fmbk/Module/Beurk/controleurMaj.php
<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.
$TRANSAC['Etape'] = 'Maj'; // initialisation de l'action en cours
$TRANSAC['Maj'] = array('Module' => 'Beurk', // module par défaut (utilisé par Beurk_traduit pour les messages de ce controleur)
'Erreur' => false,
'Form' => '',
'ChampErreur' => '',
'Div' => '',
'Champ' => array(),
'sommeControle' => -1,
'ClefPermission' => '');
// récupération des variables standart de Maj
$ActMaj = isset($_REQUEST['ActMaj']) ? Beurk_terminal($_REQUEST['ActMaj']) : '';
$IdMaj = isset($_REQUEST['IdMaj']) ? Beurk_id($_REQUEST['IdMaj']) : '';
$JetonMaj = isset($_REQUEST['JetonMaj']) ? $_REQUEST['JetonMaj'] : '';
$TRANSAC['Maj']['sommeControle'] = isset($_REQUEST['sommeControle']) ? $_REQUEST['sommeControle'] : -1; //décodage de la clé anti-robot
// décodage d'un jeton d'action de Maj stocké en table.
if ($JetonMaj != '') {
include(INSTALL_PATH . '/Module/' . $CONFIG['Entite']['Clef']['Module'] . '/Clef/Maj/utiliseClef.php');
unset($JetonMaj);
// si pas de jeton d'action de Maj, vérification en session du jeton anti-double soumission
} else {
if (! isset($_REQUEST['JetonAct']) || ! isset($DIALOG['JetonAct']) || $_REQUEST['JetonAct'] != $DIALOG['JetonAct'])
Beurk_messageEtape('MAJ ignorée', true);
}
if (! $TRANSAC['Maj']['Erreur']) {
//vérification existence de l'action pour l'entité ou un type parent
if ($EntAct = Beurk_entiteAction('Maj', $ActMaj, $IdMaj)) { // à partir d'ici, $ActMaj, $IdMaj et $EntAct sont sûrs
$tabEntite = &$CONFIG['Entite'][$EntAct];
$TRANSAC['Maj']['Module'] = $tabEntite['Module'];
$TRANSAC['Maj']['ClefPermission'] = $ActMaj . '.' . $IdMaj; // clef de la permission
$TRANSAC['Maj']['Form'] = 'form' . $ActMaj . $IdMaj; // nom du form traité par défaut
// instanciation des variables globales et controles des champs de la clef
Beurk_alimenteChampsAction('Maj', $ActMaj, $EntAct, $IdMaj);
if (! isset($IdRef)) // si IdRef n'était pas en clef,
$IdRef = Beurk_estElementDe($IdMaj); // on va chercher le contenant dans les relations
//vérification autorisation
$messageAuto = Beurk_controleurAutorisation($tabEntite['Maj'][$ActMaj]['Auto'], // autorisation nécessaire
array('ActMaj' => $ActMaj, // paramètres supplémentaires
'IdMaj' => $IdMaj,
'IdRef' => $IdRef,
'sommeControle' => $TRANSAC['Maj']['sommeControle'],
'IdEtatJetonClef' => (isset($TRANSAC['JetonMaj']) ? $TRANSAC['JetonMaj']['IdEtatClef'] : '')));
if ($messageAuto == '') {
include_once(INSTALL_PATH . '/Module/Beurk/fonctionsBeurkMaj.php');
include(INSTALL_PATH . '/Module/' . $TRANSAC['Maj']['Module'] . '/' . $EntAct . '/Maj/' . $ActMaj . $EntAct . '.php'); //appel de l'action
} else {
if (is_array($messageAuto) && $messageAuto[0] == 'Somme de contrôle incorrecte')
$reposChamp = 'sommeControle';
else
$reposChamp = '';
Beurk_messageEtape($messageAuto, true, $reposChamp);
}
} else Beurk_messageEtape('Action Maj invalide', true);
}