Passed
Push — master ( 8ea442...f74d4d )
by Anthony
02:56
created

GestionModule::getNom()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
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
5
	class GestionModule {
6
		use CheckVersionModule;
7
8
		private $id_module;
9
		private $url;
10
		private $nom;
11
		private $version;
12
		private $online_version;
13
		private $icone;
14
		private $url_telechargement;
15
		
16
		
17
		//-------------------------- CONSTRUCTEUR ----------------------------------------------------------------------------//
18
		//-------------------------- FIN CONSTRUCTEUR ----------------------------------------------------------------------------//
19
		
20
		
21
		//-------------------------- GETTER ----------------------------------------------------------------------------//
22
		public function getIdModule() {
23
			return $this->id_module;
24
		}
25
		public function getUrl() {
26
			return $this->url;
27
		}
28
		public function getNom() {
29
			return $this->nom;
30
		}
31
		public function getVersion() {
32
			return $this->version;
33
		}
34
		public function getOnlineVersion() {
35
			return $this->online_version;
36
		}
37
		public function getIcone() {
38
			return $this->icone;
39
		}
40
		public function getUrlTelechargement() {
41
			return $this->url_telechargement;
42
		}
43
44
		/**
45
		 * récupere la liste des modules activé utilisé pour toutes les pages
46
		 */
47
		public function getListeModuleActiver() {
48
			$dbc = App::getDb();
49
50
			$query = $dbc->query("SELECT * FROM module WHERE activer=1 AND installer=1");
51
52
			if ((is_array($query)) && (count($query) > 0)) {
53
				$id_module = [];
54
				$url = [];
55
				$nom = [];
56
				$version = [];
57
				$icone = [];
58
59
				foreach ($query as $obj) {
60
					$id_module[] = $obj->ID_module;
61
					$url[] = $obj->url;
62
					$nom[] = $obj->nom_module;
63
					$version[] = $obj->version;
64
					$icone[] = $obj->icone;
65
				}
66
67
				$this->setListeModuleActiver($id_module, $url, $version, $nom, $icone);
68
			}
69
		}
70
71
		/**
72
		 * @param null $systeme
73
		 * recupere la listes des modules ajouter par un autre admin
74
		 * fonction utilisée uniquement dans la config
75
		 */
76
		public function getListeModule($systeme = 0) {
77
			$dbc = App::getDb();
78
79
			$query = $dbc->query("SELECT * FROM module WHERE systeme=".$dbc->quote($systeme));
80
81
			if ((is_array($query)) && (count($query) > 0)) {
82
				$id_module = [];
83
				$url = [];
84
				$nom = [];
85
				$version = [];
86
				$url_telechargement = [];
87
88
				foreach ($query as $obj) {
89
					$id_module[] = $obj->ID_module;
90
					$url[] = $obj->url;
91
					$nom[] = $obj->nom_module;
92
					$version[] = $obj->version;
93
					$url_telechargement[] = $obj->url_telechargement;
94
				}
95
96
				$this->setListeModuleActiver($id_module, $url, $version, $nom, null, $url_telechargement);
97
			}
98
		}
99
100
		/**
101
		 * @param $nom_module
102
		 * @return bool
103
		 * permets de savoir si un module est installé ou non
104
		 */
105
		public static function getModuleInstaller($nom_module) {
106
			$dbc = App::getDb();
107
108
			$query = $dbc->query("SELECT * FROM module WHERE nom_module = ".$dbc->quote($nom_module));
109
110
			if ((is_array($query)) && (count($query) > 0)) {
111
				$installer = 0;
112
113
				foreach ($query as $obj) {
114
					$installer = $obj->installer;
115
				}
116
117
				return $installer;
118
			}
119
		}
120
121
		/**
122
		 * @param $nom_module
123
		 * @return boolean|null
124
		 * return true si le module est activer sinon false
125
		 */
126
		public static function getModuleActiver($nom_module) {
127
			$dbc = App::getDb();
128
129
			$query = $dbc->query("SELECT activer FROM module WHERE nom_module = ".$dbc->quote($nom_module));
130
131
			if ((is_array($query)) && (count($query) > 0)) {
132
				foreach ($query as $obj) {
133
					if ($obj->activer == 1) {
134
						return true;
135
					}
136
					else {
137
						return false;
138
					}
139
				}
140
			}
141
		}
142
143
144
		//-------------------------- FIN GETTER ----------------------------------------------------------------------------//
145
		
146
		
147
		//-------------------------- SETTER ----------------------------------------------------------------------------//
148
		private function setListeModuleActiver($id_module, $url, $version, $nom, $icone = null, $url_telechargement = null) {
149
			$this->id_module = $id_module;
150
			$this->url = $url;
151
			$this->nom = $nom;
152
			$this->version = $version;
153
			$this->icone = $icone;
154
			$this->url_telechargement = $url_telechargement;
155
		}
156
157
		/**
158
		 * @param $activer
159
		 * @param $url
160
		 * fonction qui permet d'activer || désactiver un module
161
		 */
162
		public static function setActiverDesactiverModule($activer, $url) {
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
163
			$dbc = App::getDb();
164
165
			$value = array(
166
				"activer" => $activer,
167
				"url" => $url
168
			);
169
170
			$dbc->prepare("UPDATE module SET activer=:activer WHERE url=:url", $value);
171
		}
172
		//-------------------------- FIN SETTER ----------------------------------------------------------------------------//
173
	}