PageRenderTime 72ms CodeModel.GetById 37ms RepoModel.GetById 0ms app.codeStats 0ms

/src/2.071.0/_fonctions.class.php

https://github.com/crepeausucre/soothERP
PHP | 721 lines | 535 code | 145 blank | 41 comment | 94 complexity | 251e3056c07ebe833efefef1dc39d9a5 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, LGPL-3.0
  1. <?php
  2. // *************************************************************************************************************
  3. // CLASSE PERMETTANT LA GESTION DES FONCTIONS DES UTILISATEURS
  4. // *************************************************************************************************************
  5. class fonctions {
  6. protected $id_fonction;
  7. protected $lib_fonction;
  8. protected $desc_fonction;
  9. protected $id_fonction_parent;
  10. protected $id_profil;
  11. function __construct ($id_fonction = "") {
  12. global $bdd;
  13. if (!is_numeric($id_fonction)) {
  14. return false;
  15. }
  16. $query = "SELECT id_fonction, lib_fonction, desc_fonction, id_fonction_parent, id_profil
  17. FROM fonctions
  18. WHERE id_fonction = '".$id_fonction."' ";
  19. $resultat = $bdd->query ($query);
  20. if (!$fonctions = $resultat->fetchObject()) {
  21. return false;
  22. }
  23. $this->id_fonction = $fonctions->id_fonction;
  24. $this->lib_fonction = $fonctions->lib_fonction;
  25. $this->desc_fonction = $fonctions->desc_fonction;
  26. $this->id_fonction_parent = $fonctions->id_fonction_parent;
  27. $this->id_profil = $fonctions->id_profil;
  28. return true;
  29. }
  30. // Ajoute une nouvelle fonction
  31. public function create_fonction ($lib_fonction, $desc_fonction, $id_fonction_parent, $id_profil) {
  32. global $bdd;
  33. if ($lib_fonction == "") {
  34. $GLOBALS['_ALERTES']['lib_fonction_vide'] = 1;
  35. }
  36. // *************************************************
  37. // Verification qu'il n'y a pas eu d'erreur
  38. if (count($GLOBALS['_ALERTES'])) {
  39. return false;
  40. }
  41. $query = "INSERT INTO fonctions (lib_fonction, desc_fonction, id_fonction_parent, id_profil)
  42. VALUES ('".addslashes($lib_fonction)."', '".addslashes($desc_fonction)."',
  43. ".num_or_null($id_fonction_parent).", '".$id_profil."') ";
  44. $bdd->exec ($query);
  45. $this->id_fonction = $bdd->lastInsertId();
  46. $this->lib_fonction = $lib_fonction;
  47. $this->desc_fonction = $desc_fonction;
  48. $this->id_fonction_parent = $id_fonction_parent;
  49. $this->id_profil = $id_profil;
  50. return true;
  51. }
  52. // Met a jour une fonction
  53. public function maj_fonction ($lib_fonction, $desc_fonction, $id_fonction_parent, $id_profil) {
  54. global $bdd;
  55. if ($lib_fonction == "") {
  56. $GLOBALS['_ALERTES']['lib_fonction_vide'] = 1;
  57. }
  58. // *************************************************
  59. // Verification qu'il n'y a pas eu d'erreur
  60. if (count($GLOBALS['_ALERTES'])) {
  61. return false;
  62. }
  63. $query = "UPDATE fonctions
  64. SET lib_fonction = '".addslashes($lib_fonction)."',
  65. desc_fonction = '".addslashes($desc_fonction)."',
  66. id_fonction_parent = ".num_or_null($id_fonction_parent).",
  67. id_profil = '".$id_profil."'
  68. WHERE id_fonction = '".$this->id_fonction."'";
  69. $bdd->exec ($query);
  70. $this->lib_fonction = $lib_fonction;
  71. $this->desc_fonction = $desc_fonction;
  72. $this->id_fonction_parent = $id_fonction_parent;
  73. $this->id_profil = $id_profil;
  74. return true;
  75. }
  76. // Défini les permissions d'une fonction
  77. public function set_fonction_perms ($permission_liste) {
  78. global $bdd;
  79. //suppression des droit existants
  80. $query = "DELETE FROM fonctions_permissions
  81. WHERE id_fonction = '".$this->id_fonction."'";
  82. $bdd->exec ($query);
  83. // Création des droits associés
  84. $query_insert = "";
  85. foreach ($permission_liste as $permission) {
  86. if (!$permission) {continue;}
  87. if ($query_insert) { $query_insert .= ","; }
  88. $query_insert .= "('".$this->id_fonction."', '".$permission."', 1)";
  89. }
  90. if ($query_insert) {
  91. $query = "INSERT INTO fonctions_permissions
  92. ( id_fonction, id_permission, value)
  93. VALUES ".$query_insert;
  94. $bdd->exec ($query);
  95. }
  96. return true;
  97. }
  98. // Défini les fonctions d'un user
  99. static function set_user_fonction ($ref_user, $liste_fonctions) {
  100. global $bdd;
  101. //suppression des fonctions de l'utilisateur existants
  102. $query = "DELETE FROM users_fonctions
  103. WHERE ref_user = '".$ref_user."'";
  104. $bdd->exec ($query);
  105. // Création des droits associés
  106. $query_insert = "";
  107. foreach ($liste_fonctions as $id_fonction) {
  108. if ($query_insert) { $query_insert .= ","; }
  109. $query_insert .= "('".$id_fonction."', '".$ref_user."')";
  110. }
  111. if ($query_insert) {
  112. $query = "INSERT INTO users_fonctions
  113. ( id_fonction, ref_user)
  114. VALUES ".$query_insert;
  115. $bdd->exec ($query);
  116. }
  117. return true;
  118. }
  119. //mise ŕ jour des permissions des utilisateurs
  120. static function maj_user_permissions ($ref_contact , $ref_user = "") {
  121. global $bdd;
  122. $contact_perms = array();
  123. //selection des permissions liées aux fonctions définies pour un utilisateur
  124. $query = "SELECT fp.id_fonction,id_permission, value
  125. FROM fonctions_permissions fp
  126. RIGHT JOIN annu_collab_fonctions acf ON acf.id_fonction = fp.id_fonction && acf.ref_contact = '".$ref_contact."'
  127. WHERE fp.id_fonction IS NOT NULL
  128. ORDER BY id_fonction,id_permission ASC
  129. ";
  130. $resultat = $bdd->query ($query);
  131. $perms_list = array();
  132. while ($perms_fonctions = $resultat->fetchObject()) {
  133. if(array_key_exists($perms_fonctions->id_permission,$contact_perms)){
  134. $tmp_values = explode(",",$perms_fonctions->value);
  135. foreach($tmp_values as $value){
  136. if ($value == "ALL"){ $contact_perms[$perms_fonctions->id_permission] = array("ALL");}
  137. if(!in_array($value,$contact_perms[$perms_fonctions->id_permission]) && !in_array("ALL",$contact_perms[$perms_fonctions->id_permission])){
  138. $contact_perms[$perms_fonctions->id_permission][] = $value;
  139. }
  140. }
  141. }else{
  142. $contact_perms[$perms_fonctions->id_permission] = explode(",",$perms_fonctions->value);
  143. }
  144. }
  145. foreach ($contact_perms as $key=>$value){
  146. $contact_perms[$key] = implode (",",$value);
  147. }
  148. $query_user = "SELECT ref_user
  149. FROM users u
  150. WHERE u.ref_contact = '".$ref_contact."'
  151. ";
  152. if ($ref_user != ""){ $query_user.= " AND u.ref_user='".$ref_user."'"; }
  153. $result_users = $bdd->query ($query_user);
  154. while ($users_list= $result_users->fetchObject()) {
  155. $query_insert = "";
  156. foreach ($contact_perms as $perm_id=>$perm_value) {
  157. if ($perm_id) {
  158. if ($query_insert) { $query_insert .= ","; }
  159. $query_insert .= "('".$users_list->ref_user."', '".$perm_id."', '".$perm_value."')";
  160. }
  161. }
  162. //liste des permissions
  163. $query_perms = "";
  164. $querya = "SELECT p.id_permission
  165. FROM permissions p
  166. WHERE !ISNULL(id_permission_parent) ";
  167. $resultata= $bdd->query($querya);
  168. while ($tmp = $resultata->fetchObject()) {
  169. if (!$tmp->id_permission) {continue;}
  170. if ($query_perms) { $query_perms .= ","; }
  171. $query_perms .= "'".$tmp->id_permission."'";
  172. }
  173. //suppression des permissions de l'utilisateur existants
  174. if ($query_perms) {
  175. $query = "DELETE FROM users_permissions
  176. WHERE ref_user = '".$users_list->ref_user."' && id_permission IN (".$query_perms.")";
  177. $bdd->exec ($query);
  178. }
  179. //insertion des permissions
  180. if ($query_insert) {
  181. $query = "INSERT INTO users_permissions (ref_user, id_permission, value)
  182. VALUES ".$query_insert;
  183. $bdd->exec ($query);
  184. }
  185. }
  186. return true;
  187. }
  188. // Maj des permissions utilisateurs lors de mise ŕ jour de fonction
  189. public function maj_fonction_user_permissions () {
  190. global $bdd;
  191. //selection des utilisateurs liées aux fonctions
  192. $query = "SELECT DISTINCT u.ref_contact
  193. FROM users u
  194. LEFT JOIN users_permissions up ON up.ref_user = u.ref_user
  195. LEFT JOIN annu_collab_fonctions acf ON acf.ref_contact = u.ref_contact
  196. WHERE up.id_permission = '3' && acf.id_fonction = '".$this->id_fonction."'
  197. ";
  198. $resultat = $bdd->query ($query);
  199. while ($tmp = $resultat->fetchObject()) {
  200. if ($tmp->ref_contact) {$this->maj_user_permissions ($tmp->ref_contact); }
  201. }
  202. return true;
  203. }
  204. // Supprime une fonction
  205. public function delete_fonction () {
  206. global $bdd;
  207. $query = "DELETE FROM fonctions WHERE id_fonction = '".$this->id_fonction."' ";
  208. $bdd->exec ($query);
  209. unset ($this);
  210. return true;
  211. }
  212. static function add_user_permission ($ref_user, $id_permission, $value = "ALL") {
  213. global $bdd;
  214. if ($ref_user && $id_permission) {
  215. $query = "INSERT INTO users_permissions (ref_user, id_permission, value)
  216. VALUES ('".$ref_user."', '".$id_permission."', '".$value."')";
  217. $bdd->exec ($query);
  218. }
  219. return true;
  220. }
  221. static function add_fonction_permission ($id_fonction, $id_permission, $value = "ALL") {
  222. global $bdd;
  223. if ($id_fonction && $id_permission) {
  224. $query = "INSERT INTO fonctions_permissions (id_fonction, id_permission, value)
  225. VALUES ('".$id_fonction."', '".$id_permission."', '".$value."')";
  226. echo $query;
  227. $bdd->exec ($query);
  228. }
  229. return true;
  230. }
  231. static function del_user_permission ($ref_user, $id_permission) {
  232. global $bdd;
  233. if ($ref_user && $id_permission) {
  234. $query = "DELETE FROM users_permissions WHERE ref_user = '".$ref_user."' && id_permission = '".$id_permission."'
  235. ";
  236. $bdd->exec ($query);
  237. }
  238. return true;
  239. }
  240. static function del_fonction_permission ($id_fonction, $id_permission) {
  241. global $bdd;
  242. if ($id_fonction && $id_permission) {
  243. $query = "DELETE FROM fonctions_permissions WHERE id_fonction = '".$id_fonction."' && id_permission = '".$id_permission."'
  244. ";
  245. $bdd->exec ($query);
  246. }
  247. return true;
  248. }
  249. // *************************************************************************************************************
  250. // FONCTIONS DE RESTITUTION DES DONNEES
  251. // *************************************************************************************************************
  252. // Recupere le Libelle du profil de la fonction
  253. public function get_profil_lib(){
  254. global $bdd;
  255. $query = "SELECT lib_profil
  256. FROM profils
  257. WHERE id_profil = '".$this->id_profil."'";
  258. $resultat = $bdd->query ($query);
  259. if($var = $resultat->fetchObject()){
  260. return $var->lib_profil;
  261. }else{
  262. return "";
  263. }
  264. }
  265. public function get_liste_membres(){
  266. global $bdd;
  267. $liste_membres = array();
  268. $query = "SELECT DISTINCT acf.ref_contact,u.ref_user,nom,pseudo
  269. FROM annu_collab_fonctions acf
  270. LEFT JOIN users u ON u.ref_contact = acf.ref_contact
  271. LEFT JOIN annuaire a ON acf.ref_contact = a.ref_contact
  272. WHERE id_fonction = '".$this->id_fonction."' AND u.ref_user IS NOT NULL AND u.actif = 1;";
  273. $resultat = $bdd->query ($query);
  274. while ($membres = $resultat->fetchObject()){
  275. $membre_courant = $membres->nom." (".$membres->pseudo.") - <I>";
  276. $query = "SELECT DISTINCT acf.id_fonction,lib_fonction
  277. FROM annu_collab_fonctions acf
  278. LEFT JOIN fonctions f ON acf.id_fonction = f.id_fonction
  279. WHERE ref_contact = '".$membres->ref_contact."'";
  280. $resultat2 = $bdd->query ($query);
  281. while ($fonctions = $resultat2->fetchObject()){
  282. $membre_courant .=$fonctions->lib_fonction." ";
  283. }
  284. $result = array ();
  285. $result["datas"] = $membres;
  286. $result["string"] = $membre_courant."</I>";
  287. $liste_membres[] = $result;
  288. }
  289. if (count($liste_membres) > 0){
  290. return $liste_membres;
  291. }else{
  292. return false;
  293. }
  294. }
  295. }
  296. // FIN DE LA CLASSE
  297. // Chargement de la liste des fonctions
  298. function charger_fonctions ($id_profil = "") {
  299. global $bdd;
  300. $query_where = "";
  301. if ($id_profil) { $query_where = " WHERE id_profil = '".$id_profil."' "; }
  302. $fonction_tmp = array();
  303. $query = "SELECT id_fonction, lib_fonction, desc_fonction, id_fonction_parent, id_profil
  304. FROM fonctions
  305. ".$query_where."
  306. ";
  307. $resultat = $bdd->query ($query);
  308. while ($var = $resultat->fetchObject()) {
  309. $var->permissions = array();
  310. $query_perms = "SELECT fp.id_permission, p.lib_permission, fp.value
  311. FROM fonctions_permissions fp
  312. LEFT JOIN permissions p ON p.id_permission = fp.id_permission
  313. WHERE id_fonction = '".$var->id_fonction."'
  314. ";
  315. $resultat_perms = $bdd->query ($query_perms);
  316. while ($var_fperms = $resultat_perms->fetchObject()) { $var->permissions[] = $var_fperms;}
  317. $fonction_tmp[] = $var;
  318. unset ($query_perms, $var_fperms, $resultat_perms);
  319. }
  320. unset ($query, $var, $resultat );
  321. $fonction = order_by_parent ($fonction,$fonction_tmp,"id_fonction","id_fonction_parent","","");
  322. return $fonction;
  323. }
  324. // Chargement de la liste des permissions dépendantes
  325. function charger_permissions_dependantes ($id_permission = "") {
  326. global $bdd;
  327. $permissions_dependantes = array();
  328. $query = "SELECT pd.id_permission, p.lib_permission
  329. FROM permissions_dependances pd
  330. LEFT JOIN permissions p ON pd.id_permission = p.id_permission
  331. WHERE id_permission_necessaire = ".$id_permission;
  332. $resultat = $bdd->query ($query);
  333. while ($var_depends = $resultat->fetchObject()) {
  334. $permissions_dependantes[$var_depends->id_permission] = $var_depends->lib_permission;
  335. }
  336. return $permissions_dependantes;
  337. }
  338. // Chargement de la liste des permissions dépendantes activées pour un utilisateur
  339. function charger_permissions_dependantes_actives ($id_permission = "", $ref_user = "", $reset=false) {
  340. global $bdd;
  341. static $permissions_dependantes_a = array();
  342. if($reset){$permissions_dependantes_a = array();}
  343. $query = "SELECT pd.id_permission, p.lib_permission, up.ref_user
  344. FROM permissions_dependances pd
  345. LEFT JOIN permissions p ON pd.id_permission = p.id_permission
  346. LEFT JOIN users_permissions up ON pd.id_permission = up.id_permission
  347. WHERE id_permission_necessaire = ".$id_permission." && up.ref_user = '".$ref_user."'";
  348. $resultat = $bdd->query ($query);
  349. while ($var_depends = $resultat->fetchObject()) {
  350. $permissions_dependantes_a[$var_depends->id_permission] = $var_depends->lib_permission;
  351. charger_permissions_dependantes_actives ($var_depends->id_permission,$ref_user);
  352. }
  353. return $permissions_dependantes_a;
  354. }
  355. // Chargement de la liste des permissions dépendantes activées pour une fonction
  356. function charger_permissions_dependantes_actives_fonctions ($id_permission = "", $id_fonction = "", $reset=false) {
  357. global $bdd;
  358. static $permissions_dependantes_a = array();
  359. if($reset){$permissions_dependantes_a = array();}
  360. $query = "SELECT pd.id_permission, p.lib_permission, fp.id_fonction
  361. FROM permissions_dependances pd
  362. LEFT JOIN permissions p ON pd.id_permission = p.id_permission
  363. LEFT JOIN fonctions_permissions fp ON pd.id_permission = fp.id_permission
  364. WHERE id_permission_necessaire = ".$id_permission." && fp.id_fonction = '".$id_fonction."'";
  365. $resultat = $bdd->query ($query);
  366. while ($var_depends = $resultat->fetchObject()) {
  367. $permissions_dependantes_a[$var_depends->id_permission] = $var_depends->lib_permission;
  368. charger_permissions_dependantes_actives_fonctions ($var_depends->id_permission,$id_fonction);
  369. }
  370. return $permissions_dependantes_a;
  371. }
  372. // Chargement de la liste des permissions dépendantes du meme type
  373. function charger_permissions_dependantes_meme_type ($id_permission = "", $reset=false) {
  374. global $bdd;
  375. static $permissions_dependantes_mt = array();
  376. static $perm_depart = 0;
  377. if($reset){
  378. $permissions_dependantes_mt = array();
  379. $perm_depart = $id_permission;
  380. }
  381. $query = "SELECT p.id_permission,p.lib_permission
  382. FROM permissions_dependances pd
  383. LEFT JOIN permissions p ON pd.id_permission=p.id_permission
  384. WHERE pd.id_permission_necessaire=".$id_permission." && `values` in (select `values` from permissions where id_permission=".$id_permission.")";
  385. $resultat = $bdd->query ($query);
  386. while ($var_depends = $resultat->fetchObject()) {
  387. if (!array_key_exists($var_depends->id_permission,$permissions_dependantes_mt) && $var_depends->id_permission!=$perm_depart){
  388. $permissions_dependantes_mt[$var_depends->id_permission] = $var_depends->lib_permission;
  389. charger_permissions_dependantes_meme_type ($var_depends->id_permission);
  390. }
  391. }
  392. return $permissions_dependantes_mt;
  393. }
  394. // Chargement de la liste des permissions dépendantes du meme type
  395. function charger_permissions_parentes_meme_type ($id_permission = "", $reset=false) {
  396. global $bdd;
  397. static $permissions_parentes = array();
  398. static $perm_depart = 0;
  399. if($reset){
  400. $permissions_parentes = array();
  401. $perm_depart = $id_permission;
  402. }
  403. $query = "SELECT p.id_permission,p.lib_permission
  404. FROM permissions_dependances pd
  405. LEFT JOIN permissions p ON pd.id_permission_necessaire=p.id_permission
  406. WHERE pd.id_permission=".$id_permission." && `values` in (select `values` from permissions where id_permission=".$id_permission.")";
  407. $resultat = $bdd->query ($query);
  408. while ($var_depends = $resultat->fetchObject()) {
  409. if (!array_key_exists($var_depends->id_permission,$permissions_parentes) && $var_depends->id_permission!=$perm_depart){
  410. $permissions_parentes[$var_depends->id_permission] = $var_depends->lib_permission;
  411. charger_permissions_parentes_meme_type ($var_depends->id_permission);
  412. }
  413. }
  414. return $permissions_parentes;
  415. }
  416. // Chargement de la liste des permissions dépendantes désactivées pour un utilisateur
  417. function charger_permissions_dependantes_inactives ($id_permission = "", $ref_user = "", $reset=false) {
  418. global $bdd;
  419. static $permissions_dependantes_i = array();
  420. if($reset){$permissions_dependantes_i = array();}
  421. $query = "SELECT pd.id_permission_necessaire, p.lib_permission,up.ref_user
  422. FROM permissions_dependances pd
  423. LEFT JOIN permissions p ON pd.id_permission_necessaire = p.id_permission
  424. LEFT JOIN users_permissions up on (p.id_permission=up.id_permission && (ref_user='".$ref_user."' || ref_user is null))
  425. WHERE pd.id_permission = ".$id_permission."";
  426. $resultat = $bdd->query ($query);
  427. while ($var_depends = $resultat->fetchObject()) {
  428. if(is_null($var_depends->ref_user)){
  429. $permissions_dependantes_i[$var_depends->id_permission_necessaire] = $var_depends->lib_permission;
  430. }
  431. charger_permissions_dependantes_inactives ($var_depends->id_permission_necessaire,$ref_user);
  432. }
  433. return $permissions_dependantes_i;
  434. }
  435. // Chargement de la liste des permissions dépendantes désactivées pour une fonction
  436. function charger_permissions_dependantes_inactives_fonctions ($id_permission = "", $id_fonction = "", $reset=false) {
  437. global $bdd;
  438. static $permissions_dependantes_i = array();
  439. if($reset){$permissions_dependantes_i = array();}
  440. $query = "SELECT pd.id_permission_necessaire, p.lib_permission,fp.id_fonction
  441. FROM permissions_dependances pd
  442. LEFT JOIN permissions p ON pd.id_permission_necessaire = p.id_permission
  443. LEFT JOIN fonctions_permissions fp on (p.id_permission=fp.id_permission && (id_fonction='".$id_fonction."' || id_fonction is null))
  444. WHERE pd.id_permission = ".$id_permission."";
  445. $resultat = $bdd->query ($query);
  446. while ($var_depends = $resultat->fetchObject()) {
  447. if(is_null($var_depends->id_fonction)){
  448. $permissions_dependantes_i[$var_depends->id_permission_necessaire] = $var_depends->lib_permission;
  449. }
  450. charger_permissions_dependantes_inactives_fonctions ($var_depends->id_permission_necessaire,$id_fonction);
  451. }
  452. return $permissions_dependantes_i;
  453. }
  454. // Chargement de la liste des permissions
  455. function charger_permissions ($id_profil = "") {
  456. global $bdd;
  457. $query_where = "";
  458. if ($id_profil) { $query_where = " && id_profil = '".$id_profil."' "; }
  459. $permissions_tmp = array();
  460. $query = "SELECT id_permission, lib_permission, desc_permission, `values`, id_permission_parent
  461. FROM permissions
  462. WHERE !ISNULL(id_permission_parent) ".$query_where."
  463. ORDER BY ordre, lib_permission ASC";
  464. $resultat = $bdd->query ($query);
  465. while ($var_perms = $resultat->fetchObject()) {
  466. $var_perms->depends = array();
  467. $query = "SELECT id_permission, id_permission_necessaire
  468. FROM permissions_dependances
  469. WHERE id_permission=".$var_perms->id_permission;
  470. $resultat2 = $bdd->query ($query);
  471. while ($var_depends = $resultat2->fetchObject()) {
  472. $var_perms->depends[] = $var_depends->id_permission_necessaire;
  473. }
  474. $permissions_tmp[] = $var_perms;
  475. }
  476. unset ($query, $var_perms, $resultat, $resultat2, $var_depends );
  477. $perms = order_by_parent_bis ($perms, $permissions_tmp, "id_permission", "id_permission_parent", "3", "3");
  478. //$perms = $permissions_tmp;
  479. return $perms;
  480. }
  481. // Chargement de la liste des fonctions d'un utilisateur
  482. function charger_user_fonctions ($ref_user = "") {
  483. global $bdd;
  484. $user_fonctions = array();
  485. if (!$ref_user) { return false;}
  486. $query = "SELECT id_fonction, ref_user
  487. FROM users_fonctions
  488. WHERE ref_user = '".$ref_user."' ";
  489. $resultat = $bdd->query ($query);
  490. while ($var = $resultat->fetchObject()) { $user_fonctions[] = $var; }
  491. return $user_fonctions;
  492. }
  493. // Chargement de la liste des fonctions d'un utilisateur
  494. function charger_user_permissions ($ref_user = "") {
  495. global $bdd;
  496. $user_permissions = array();
  497. if (!$ref_user) { return false;}
  498. $query = "SELECT id_permission, ref_user, value
  499. FROM users_permissions
  500. WHERE ref_user = '".$ref_user."'";
  501. $resultat = $bdd->query ($query);
  502. while ($var = $resultat->fetchObject()) { $user_permissions[$var->id_permission] = $var; }
  503. return $user_permissions;
  504. }
  505. // Chargement de la liste des permissions d'une fonction
  506. function charger_fonction_permissions ($id_fonction = "") {
  507. global $bdd;
  508. $fonction_permissions = array();
  509. if (!$id_fonction) { return false;}
  510. $query = "SELECT id_permission, id_fonction, value
  511. FROM fonctions_permissions
  512. WHERE id_fonction = '".$id_fonction."'";
  513. $resultat = $bdd->query ($query);
  514. while ($var = $resultat->fetchObject()) { $fonction_permissions[$var->id_permission] = $var; }
  515. return $fonction_permissions;
  516. }
  517. function getDroitVoirAgenda($ref_user, $id_perm){
  518. global $bdd;
  519. $tab_tmp = array();
  520. $tableauDroits = array();
  521. $tab_droits = array("Voir la dispo","Voir les détails","Modifier");
  522. $query = "SELECT value FROM users_permissions WHERE ref_user = '".$ref_user."' AND id_permission = ".$id_perm." ";
  523. $res = $bdd->query($query);
  524. if($retour = $res->fetchObject()){
  525. $values = $retour->value;
  526. $tabValues = explode(";",$values);
  527. for($i=0;$i<count($tabValues);$i++){
  528. $tab_tmp[] = explode("#",$tabValues[$i]);
  529. }
  530. for($i=0;$i<count($tab_tmp);$i++){
  531. $tableauDroits[$tab_tmp[$i][0]][$tab_tmp[$i][1]]=$tab_tmp[$i][2];
  532. }
  533. return $tableauDroits;
  534. }
  535. else
  536. return $tableauDroits;
  537. }
  538. function getDroitVoirAdresse($ref_user){
  539. global $bdd;
  540. $tableauDroits = array();
  541. $query = "SELECT value FROM users_permissions WHERE ref_user = '".$ref_user."' AND id_permission = 39 ";
  542. $res = $bdd->query($query);
  543. if($retour = $res->fetchObject()){
  544. $values = $retour->value;
  545. $tabValues = explode(",",$values);
  546. return $tabValues;
  547. }
  548. else
  549. return $tableauDroits;
  550. }
  551. function getDroitVoirCoordonnees($ref_user){
  552. global $bdd;
  553. $tableauDroits = array();
  554. $query = "SELECT value FROM users_permissions WHERE ref_user = '".$ref_user."' AND id_permission = 40 ";
  555. $res = $bdd->query($query);
  556. if($retour = $res->fetchObject()){
  557. $values = $retour->value;
  558. $tabValues = explode(",",$values);
  559. return $tabValues;
  560. }
  561. else
  562. return $tableauDroits;
  563. }
  564. function getDroitVoirSiteWeb($ref_user){
  565. global $bdd;
  566. $tableauDroits = array();
  567. $query = "SELECT value FROM users_permissions WHERE ref_user = '".$ref_user."' AND id_permission = 41 ";
  568. $res = $bdd->query($query);
  569. if($retour = $res->fetchObject()){
  570. $values = $retour->value;
  571. $tabValues = explode(",",$values);
  572. return $tabValues;
  573. }
  574. else
  575. return $tableauDroits;
  576. }