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