/**
  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);
}