Passed
Push — master ( ddbf02...3bc871 )
by Anthony
03:03
created

Configuration::getConfigurationGenerale()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 21
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 21
rs 9.0534
cc 4
eloc 15
nc 3
nop 0
1
<?php
2
	namespace core;
3
4
	class Configuration {
5
		//pour la configuration générale du site
6
		private $mail_site; //-> pour le gérant du site contact@nomdedomaine;com
7
		private $mail_administrateur; //-> mail de l'administrateur [email protected]
8
		private $last_save; //-> derniere sauvegarde de la bdd
9
		private $acces_admin; //-> si == 1 on a acces à l'admin
10
		private $contenu_dynamique; //->savoir si es contenus sont dynamique (stockés in DB)
11
		private $cache; //-> si == 1 alors on mets les pages du site en cache
12
		private $desactiver_navigation; //-> si == 1 alors on n'affichera pas la nav dans principal.php
13
14
		//pour la configuration des comptes
15
		private $valider_inscription;
16
		private $activer_inscription;
17
		private $activer_connexion;
18
19
20
		//-------------------------- CONSTRUCTEUR ----------------------------------------------------------------------------//
21
		public function __construct() {
22
			//pour la configuration générale du site
23
			$arr = $this->getConfigurationGenerale();
24
25
			//pour la configuration des comptes
26
			$arr1 = $this->getConfigurationCompte();
27
			
28
			App::setValues(["configuration" => array_merge($arr, $arr1)]);
29
		}
30
		//-------------------------- FIN CONSTRUCTEUR ----------------------------------------------------------------------------//
31
32
33
34
		//-------------------------- GETTER ----------------------------------------------------------------------------//
35
		/**
36
		 * @return string|null
37
		 */
38
		public function getMailSite() {
39
			return $this->mail_site;
40
		}
41
		public function getMailAdministrateur() {
42
			return $this->mail_administrateur;
43
		}
44
		public function getLastSave() {
45
			return $this->last_save;
46
		}
47
		public function getAccesAdmin() {
48
			return $this->acces_admin;
49
		}
50
		public function getContenusDynamique() {
51
			return $this->contenu_dynamique;
52
		}
53
		public function getCache() {
54
			return $this->cache;
55
		}
56
		public function getDesactiverNavigation(){
57
		    return $this->desactiver_navigation;
58
		}
59
60
		//pour la configuration des comptes
61
		public function getValiderInscription() {
62
			return $this->valider_inscription;
63
		}
64
		public function getActiverInscription() {
65
			return $this->activer_inscription;
66
		}
67
		public function getActiverConnexion() {
68
			return $this->activer_connexion;
69
		}
70
71
		private function getConfigurationGenerale() {
72
			$dbc = App::getDb();
73
74
			$query = $dbc->select()->from("configuration")->where("ID_configuration", "=", 1)->get();
75
76
			if ((is_array($query)) && (count($query) > 0)) {
77
				foreach ($query as $obj) {
78
					return [
79
						"nom_site" => $obj->nom_site,
80
						"mail_site" => $this->mail_site = $obj->mail_site,
81
						"gerant_site" => $obj->gerant_site,
82
						"mail_administrateur" => $this->mail_administrateur = $obj->mail_administrateur,
83
						"last_save" => $this->last_save = $obj->last_save,
84
						"acces_admin" => $this->acces_admin = $obj->acces_admin,
85
						"contenu_dynamique" => $this->contenu_dynamique = $obj->contenu_dynamique,
86
						"cache" => $this->cache = $obj->cache,
87
						"desactiver_navigation" => $this->desactiver_navigation = $obj->desactiver_navigation
88
					];
89
				}
90
			}
91
		}
92
93
		private function getConfigurationCompte() {
94
			$dbc = App::getDb();
95
96
			$query = $dbc->select()->from("configuration_compte")->where("ID_configuration_compte", "=", 1)->get();
97
98
			if ((is_array($query)) && (count($query) > 0)) {
99
				foreach ($query as $obj) {
100
					return [
101
						"valider_inscription" => $this->valider_inscription = $obj->valider_inscription,
102
						"activer_inscription" => $this->activer_inscription = $obj->activer_inscription,
103
						"activer_connexion" => $this->activer_connexion = $obj->activer_connexion,
104
					];
105
				}
106
			}
107
		}
108
		//-------------------------- FIN GETTER ----------------------------------------------------------------------------//
109
110
111
112
		//-------------------------- SETTER ----------------------------------------------------------------------------//
113
		/**
114
		 * fonction qui permet de mettre à jour la date de la derniere save de la bdd
115
		 * + supprimer la sauverde ancienne d'il y a 1 mois
116
		 */
117
		public function setDateSaveToday() {
118
			$dbc = App::getDb();
119
120
			$dbc->update("last_save", date("Y-m-d"))->from("configuration")->where("ID_configuration", "=", 1)->set();
121
122
			$today = new \DateTime(date("Y-m-d"));
123
			$today->sub(new \DateInterval('P32D'));
124
125
			$nom_save = "save-".$today->format("Y-m-d").".sql";
126
127
			if (file_exists(ROOT."bdd_backup/".$nom_save)) {
128
				unlink(ROOT."bdd_backup/".$nom_save);
129
			}
130
		}
131
		//-------------------------- FIN SETTER ----------------------------------------------------------------------------//
132
	}