en | fr  | Contact  | Print  | Share

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($messageAutotrue$reposChamp);
        }
    } else 
Beurk_messageEtape('Action Maj invalide'true);
}


© 2010-2015 by ToolOscope SASU. © 2016-2018 by Arnaud De Rette. All rights reserved