FrameBeurk File
Fmbk/Module/Uzers/PermissionPerimetre/Maj/modifiePermissionPerimetre.php
<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.
require_once(INSTALL_PATH . '/Module/Uzers/PermissionPerimetre/modelePermissionPerimetre.php');
// IdRef, 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 ($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');
elseif (! isset($_REQUEST['PermisOuInterdit']) || $_REQUEST['PermisOuInterdit'] == '')
Beurk_messageEtape('Permission obligatoire', true, 'PermisOuInterdit');
elseif ($_REQUEST['PermisOuInterdit'] != '0' && $_REQUEST['PermisOuInterdit'] != '1')
Beurk_messageEtape('Valeur Permission erronée', true, 'PermisOuInterdit');
else {
//lecture du périmètre de permission à modifier
$result1 = db_QUERY("SELECT IdPermission, IdEtat, NoVersion FROM Uzers_PermissionPerimetre WHERE IdPermissionPerimetre = '$IdMaj'");
if (list($IdPermission, $IdEtatPermissionPerimetre, $NoVersionCourante) = db_FETCH_ROW($result1)) {
//recherche d'unicité sur (IdPermission, IdEntite)
$result2 = db_QUERY(Uzers_queryDoublonPermissionPerimetres($IdPermission, $IdEntite, $IdMaj));
if (list($DoublonExiste) = db_FETCH_ROW($result2))
Beurk_messageEtape('Périmètre déjà existant', true);
else {
$requete = array('UPDATE' => 'Uzers_PermissionPerimetre',
'SET' => array('IdEntite' => (($IdNoeud != 0) ? $IdNoeud : $IdEntite),
'PermisOuInterdit' => Beurk_Request2DB($_REQUEST['PermisOuInterdit'])
),
'WHERE' => "IdPermissionPerimetre = '$IdMaj'");
Beurk_modifieEntite($requete, 'Périmètre modifié', $IdEtatPermissionPerimetre, $NoVersionCourante, $IdMaj);
}
db_FREE($result2);
} else Beurk_messageEtape('Périmètre de Permission inconnu', true);
db_FREE($result1);
}