GestionDroitAcces::getNomDroitAcces()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 13
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 13
rs 9.4285
cc 3
eloc 7
nc 3
nop 1
1
<?php
2
	namespace core\admin\droitsacces;
3
4
	use core\App;
5
	use core\HTML\flashmessage\FlashMessage;
6
	
7
	class GestionDroitAcces extends DroitAcces {
8
		use GetDetailListeAcces;
9
		
10
		
11
12
		//-------------------------- CONSTRUCTEUR ----------------------------------------------------------------------------//
13
		public function __construct() {
14
				$this->getListeDroitAccesAdmin();
15
		}
16
		//-------------------------- FIN CONSTRUCTEUR ----------------------------------------------------------------------------//
17
18
19
20
		//-------------------------- GETTER ----------------------------------------------------------------------------//
21
		/**
22
		 * appellee dans le constructeur pour afficher les listes de droit d'acces
23
		 */
24
		private function getListeDroitAccesAdmin() {
25
			$dbc = App::getDb();
26
			
27
			$query = $dbc->select()->from("liste_droit_acces")->get();
28
29
			if ((is_array($query)) && (count($query) > 0)) {
30
				$values = [];
31
				foreach ($query as $obj) {
32
					$values[] = [
33
						"id_liste" => $obj->ID_liste_droit_acces,
34
						"nom_liste" => $obj->nom_liste,
35
						"nb_droit_acces" => $this->getNombreDroitAccesListe($obj->ID_liste_droit_acces),
36
						"nb_droit_acces_page" => $this->getNombrePageListe($obj->ID_liste_droit_acces),
37
						"nb_user" => $this->getNombreUtilisateurListe($obj->ID_liste_droit_acces),
38
					];
39
				}
40
				App::setValues(["liste_droit_acces" => $values]);
41
			}
42
		}
43
		
44
		/**
45
		 * @param $id_droit_acces
46
		 * @return string
47
		 * fonction qui renvoi le nom d'un droit d'accès en fonction de son id
48
		 */
49
		private function getNomDroitAcces($id_droit_acces) {
50
			$dbc = App::getDb();
51
			
52
			$query = $dbc->select("droit_acces")->from("droit_acces")->where("ID_droit_acces", "=", $id_droit_acces)->get();
53
		
54
			if (count($query) > 0) {
55
				foreach ($query as $obj) {
56
					return $obj->droit_acces;
57
				}
58
			}
59
			
60
			return "";
61
		}
62
		
63
		/**
64
		 * fonction qui récupère tous les droits d'accès
65
		 */
66
		private function getAllDroitAcces() {
67
			$dbc = App::getDb();
68
			
69
			$query = $dbc->select()->from("droit_acces")->get();
70
			
71
			if (count($query) > 0) {
72
				$values = [];
73
				foreach ($query as $obj) {
74
					$values[] = [
75
						"id_droit_acces" => $obj->ID_droit_acces,
76
						"droit_acces" => $obj->droit_acces,
77
						"nom_module" => $obj->nom_module
78
					];
79
				}
80
				
81
				App::setValues(["droit_acces" => $values]);
82
			}
83
		}
84
		
85
		/**
86
		 * @param $id_liste
87
		 * recupere tous les id des droits dc'acces d'une liste
88
		 */
89
		public function getDroiAccesListe($id_liste) {
90
			$dbc = App::getDb();
91
			
92
			$query = $dbc->select()->from("liste_droit_acces, liaison_liste_droit")
93
				->where("liste_droit_acces.ID_liste_droit_acces", "=", $id_liste, "AND")
94
				->where("liste_droit_acces.ID_liste_droit_acces", "=", "liaison_liste_droit.ID_liste_droit_acces", "", true)
95
				->get();
96
			
97
			if (count($query) > 0) {
98
				$values = []; $nom_liste = ""; $id_liste = "";
99
				foreach ($query as $obj) {
100
					$values[] = $this->getNomDroitAcces($obj->ID_droit_acces);
101
					$nom_liste = $obj->nom_liste;
102
					$id_liste = $obj->ID_liste_droit_acces;
103
				}
104
				
105
				App::setValues(["droit_acces_liste" => $values, "nom_liste" => $nom_liste, "id_liste" => $id_liste]);
106
				$this->getAllDroitAcces();
107
			}
108
		}
109
		//-------------------------- FIN GETTER ----------------------------------------------------------------------------//
110
111
112
113
		//-------------------------- SETTER ----------------------------------------------------------------------------//
114
		public function setGestionDroitAccesListe($id_droit_acces, $id_liste, $activer) {
115
			$dbc = App::getDb();
116
			
117
			if ($activer == 1) {
118
				$dbc->insert("ID_droit_acces", $id_droit_acces)->insert("ID_liste_droit_acces", $id_liste)
119
					->into("liaison_liste_droit")->set();
120
				FlashMessage::setFlash("Le droit d'acces a bien été ajouté", "success");
121
				return true;
122
			}
123
			
124
			$dbc->delete()->from("liaison_liste_droit")->where("ID_liste_droit_acces", "=", $id_liste, "AND")
125
				->where("ID_droit_acces", "=", $id_droit_acces)->del();
126
			FlashMessage::setFlash("Le droit d'acces a bien été supprimé", "success");
127
			return true;
128
		}
129
		//-------------------------- FIN SETTER ----------------------------------------------------------------------------//
130
	}