FrameBeurk File
Fmbk/Module/Uzers/PermissionPerimetre/Maj/creePermissionPerimetre.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 {
// recherche de la permission
$result = db_QUERY("SELECT IdPermission FROM Uzers_Permission WHERE IdPermission = '$IdRef'");
if (list($IdPermission) = db_FETCH_ROW($result)) {
//recherche d'unicité sur (IdPermission, IdEntite)
$result2 = db_QUERY(Uzers_queryDoublonPermissionPerimetres($IdRef, $IdEntite));
if (list($DoublonExiste) = db_FETCH_ROW($result2))
Beurk_messageEtape('Périmètre déjà existant', true);
else {
$requete = array('INSERT' => 'Uzers_PermissionPerimetre',
'VALUES' => array('IdPermission' => $IdRef,
'IdEntite' => (($IdNoeud != 0) ? $IdNoeud : $IdEntite),
'PermisOuInterdit' => Beurk_Request2DB($_REQUEST['PermisOuInterdit'])
));
Beurk_creeEntite($requete, 'Périmètre ajouté', 'V', $IdRef);
}
db_FREE($result2);
} else Beurk_messageEtape('Permission inconnue', true);
db_FREE($result);
}