/** Recupère toutes les données relatives à un groupe suivant son identifiant et retourne la coquille "Groupe" remplie avec les informations récupérées de la base. */ function Groupe_recuperer($arg) { $groupe = new Groupe(); // On récupère d'abord les données de la table groupes $sql = "SELECT *\n FROM " . $GLOBALS['prefix'] . "sys_groupes\n WHERE 1"; $condition = ""; $condition = is_numeric($arg) ? " AND id_groupe = '{$arg}'" : " AND nom_groupe = '{$arg}'"; $sql .= $condition; $result = Sql_query($sql); $row = Sql_fetch($result); $groupe->id_groupe = $row['id_groupe']; $groupe->nom_groupe = $row['nom_groupe']; $groupe->nb_connect_defaut = $row['nb_connect_defaut']; $nom_groupe = $row['nom_groupe']; // On récupère ensuite les données de la table modules $sql = "SELECT *\n FROM " . $GLOBALS['prefix'] . "sys_groupes_modules\n WHERE nom_groupe = '{$nom_groupe}'"; $result = Sql_query($sql); if ($result && Sql_errorCode($result) === "00000") { while ($row = Sql_fetch($result)) { $groupe->addModule($row['module']); } } // On récupère ensuite les données de la table des droits $sql = "SELECT *\n FROM " . $GLOBALS['prefix'] . "sys_groupes_droits\n WHERE nom_groupe = '{$nom_groupe}'"; $result = Sql_query($sql); if ($result && Sql_errorCode($result) === "00000") { while ($row = Sql_fetch($result)) { $groupe->addDroits($row['champ'], $row['droits']); } } return $groupe; }
function Groupes_ADD($data_in = array()) { Lib_myLog("action: " . $data_in['action']); foreach ($GLOBALS['tab_globals'] as $global) { global ${$global}; } Lib_myLog("IN: ", $data_in); Lib_myLog("FILE: ", __FILE__); /*=============*/ Lib_myLog("Recuperation de la liste des modules autorises"); $liste_modules = $GLOBALS['MODULES']; /*=============*/ Lib_myLog("Creation nouveau Groupe"); $groupe = new Groupe(); $groupe->nom_groupe = $data_in['nom_groupe']; $groupe->nb_connect_defaut = $data_in['nb_connect_defaut']; foreach ($liste_modules as $module) { /*=============*/ Lib_myLog("Rajout du module {$module} au groupe"); if (isset($data_in[$module])) { $groupe->addModule($module); } } /*=============*/ Lib_myLog("Ajout en base du nouveau groupe"); $id_groupe = $groupe->ADD(); $data_out['message_ok'] = $MSG[$lang]['%%groupe_ADD%%']; $data_in['action'] = 'Groupes_Consulter'; call_user_func('Groupes_Consulter', $data_in); }