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($IdAction, false) != 'Action')
Beurk_messageEtape('Action invalide', true, 'IdAction');
elseif ($IdEntite == 0 && $IdNoeud == 0)
Beurk_messageEtape('Entités ou Id obligatoire', true, 'IdEntite');
elseif ($IdNoeud == 0 && (Beurk_estDeType($IdEntite, false) != 'Entite'))
Beurk_messageEtape('Entité invalide', true, 'IdEntite');
elseif ($IdNoeud != 0 && ($terminal = Beurk_terminal($IdNoeud)) == '')
Beurk_messageEtape('Id Entité inconnu', true, 'IdNoeud');
elseif ($IdNoeud != 0 && ! 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);
}