Passed
Push — master ( db3018...d8e72c )
by Anthony
03:00
created

GestionModule::getUrlTelechargement()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
	namespace core\modules;
3
	use core\App;
4
	use core\Navigation;
5
6
	class GestionModule {
7
		private $id_module;
8
		private $url;
9
		private $icone;
10
		private $nom;
11
		private $version;
12
		private $url_telechargement;
13
		
14
		
15
		//-------------------------- CONSTRUCTEUR ----------------------------------------------------------------------------//
16
		//-------------------------- FIN CONSTRUCTEUR ----------------------------------------------------------------------------//
17
		
18
		
19
		//-------------------------- GETTER ----------------------------------------------------------------------------//
20
		public function getIdModule() {
21
			return $this->id_module;
22
		}
23
		public function getUrl() {
24
			return $this->url;
25
		}
26
		public function getNom() {
27
			return $this->nom;
28
		}
29
		public function getVersion() {
30
			return $this->version;
31
		}
32
		public function getIcone() {
33
			return $this->icone;
34
		}
35
		public function getUrlTelechargement() {
36
			return $this->url_telechargement;
37
		}
38
39
		/**
40
		 * récupere la liste des modules activé utilisé pour toutes les pages
41
		 */
42
		public function getListeModuleActiver() {
43
			$dbc = App::getDb();
44
			$query = $dbc->select()->from("module")->where("activer", "=", 1, "AND")->where("installer", "=", 1)->get();
45
46
			if ((is_array($query)) && (count($query) > 0)) {
47
				$id_module = [];
48
				$url = [];
49
				$nom = [];
50
				$version = [];
51
				$icone = [];
52
53
				foreach ($query as $obj) {
54
					$id_module[] = $obj->ID_module;
55
					$url[] = $obj->url;
56
					$nom[] = $obj->nom_module;
57
					$version[] = $obj->version;
58
					$icone[] = $obj->icone;
59
				}
60
61
				$this->setListeModuleActiver($id_module, $url, $version, $nom, $icone);
62
			}
63
		}
64
65
		/**
66
		 */
67
		public function getListeModule() {
68
			$dbc = App::getDb();
69
70
			$query = $dbc->select()->from("module")->get();
71
72
			if ((is_array($query)) && (count($query) > 0)) {
73
				$values = [];
74
				
75
				foreach ($query as $obj) {
76
					$values[] = [
77
						"id_module" => $obj->ID_module,
78
						"url" => $obj->url,
79
						"nom" => $obj->nom_module,
80
						"version" => $obj->version,
81
						"icone" => $obj->icone,
82
						"activer" => $obj->activer,
83
						"installer" => $obj->installer
84
					];
85
				}
86
				
87
				App::setValues(["test" => "test","active_modules" => $values]);
88
			}
89
		}
90
91
		/**
92
		 * @param $nom_module
93
		 * @return boolean|null
94
		 * return true si le module est activer sinon false
95
		 */
96
		public static function getModuleActiver($nom_module) {
97
			$dbc = App::getDb();
98
99
			$query = $dbc->select("activer")->from("module")->where("nom_module", "=", $dbc->quote($nom_module), "", true)->get();
100
101
			if ((is_array($query)) && (count($query) > 0)) {
102
				foreach ($query as $obj) {
103
					if ($obj->activer == 1) {
104
						return true;
105
					}
106
					else {
107
						return false;
108
					}
109
				}
110
			}
111
		}
112
113
		private static function getUrlToId($url) {
114
			$dbc = App::getDb();
115
116
			$query = $dbc->select("ID_module")->from("module")->where("url", "=", $url)->get();
117
118
			if ((is_array($query)) && (count($query) > 0)) {
119
				foreach ($query as $obj) {
120
					return $obj->ID_module;
121
				}
122
			}
123
		}
124
125
126
		//-------------------------- FIN GETTER ----------------------------------------------------------------------------//
127
		
128
		
129
		//-------------------------- SETTER ----------------------------------------------------------------------------//
130
		private function setListeModuleActiver($id_module, $url, $version, $nom, $icone = null, $url_telechargement = null) {
131
			$this->id_module = $id_module;
132
			$this->url = $url;
133
			$this->nom = $nom;
134
			$this->version = $version;
135
			$this->icone = $icone;
136
			$this->url_telechargement = $url_telechargement;
137
		}
138
139
		/**
140
		 * @param $activer
141
		 * @param $url
142
		 * fonction qui permet d'activer || désactiver un module
143
		 */
144
		public static function setActiverDesactiverModule($activer, $url) {
145
			$dbc = App::getDb();
146
147
			$dbc->update("activer", $activer)->from("module")->where("url", "=", $url)->set();
148
149
			$nav = new Navigation();
150
151
			if ($activer == 1) {
152
				$nav->setAjoutLien("ID_module", self::getUrlToId($url));
153
			}
154
			else {
155
				$nav->setSupprimerLien("ID_module", self::getUrlToId($url));
156
			}
157
		}
158
		//-------------------------- FIN SETTER ----------------------------------------------------------------------------//
159
	}