en | fr  | Contact  | Print  | Share

FrameBeurk File

Fmbk/Module/Uzers/PermissionAction/Maj/modifiePermissionAction.php

<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.

require_once(INSTALL_PATH '/Module/Uzers/PermissionAction/modelePermissionAction.php');

// IdRef, IdAction, IdEntite et IdNoeud sont instanciés et castés en entier par ControleurMaj, car ils sont déclarés en clef de l'action dans $CONFIG

if ($IdAction == 0)
    
Beurk_messageEtape('Action obligatoire'true'IdAction');
elseif (
Beurk_estDeType($IdActionfalse) != 'Action')
    
Beurk_messageEtape('Action invalide'true'IdAction');
elseif (
$IdEntite == && $IdNoeud == 0)
    
Beurk_messageEtape('Entités ou Id obligatoire'true'IdEntite');
elseif (
$IdNoeud == && (Beurk_estDeType($IdEntitefalse) != 'Entite'))
    
Beurk_messageEtape('Entité invalide'true'IdEntite');
elseif (
$IdNoeud != && ($terminal Beurk_terminal($IdNoeud)) == '')
    
Beurk_messageEtape('Id Entité inconnu'true'IdNoeud');
elseif (
$IdNoeud != && ! isset($CONFIG['Entite'][$terminal]))
    
Beurk_messageEtape("Id n'est pas celui d'une entité"true'IdNoeud');
else {
    
//lecture du périmètre de permission à modifier
    
$result1 db_QUERY("SELECT IdPermission, IdEtat, NoVersion FROM Uzers_PermissionAction WHERE IdPermissionAction = '$IdMaj'");
    if (list(
$IdPermission$IdEtatPermissionAction$NoVersionCourante) = db_FETCH_ROW($result1)) {

        
//recherche d'unicité sur (IdPermission, IdAction, IdEntite)
        
$result2 db_QUERY(Uzers_queryDoublonPermissionActions($IdPermission$IdAction$IdEntite$IdMaj));
        
        if (list(
$DoublonExiste) = db_FETCH_ROW($result2))
            
Beurk_messageEtape('Action déjà existante'true);
        else {
            
$requete = array('UPDATE' => 'Uzers_PermissionAction',
                            
'SET' => array('IdAction' => $IdAction,
                                        
'IdEntite' => (($IdNoeud != 0) ? $IdNoeud $IdEntite)
                                        ),
                            
'WHERE' => "IdPermissionAction = '$IdMaj'");

            
Beurk_modifieEntite($requete'Action modifiée'$IdEtatPermissionAction$NoVersionCourante$IdMaj);
        }
    } else 
Beurk_messageEtape('Action de Permission inconnue'true);
    
db_FREE($result1);
}


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