Passed
Push — master ( 9db407...b7ae74 )
by Anthony
02:58
created

Configuration::setDateSaveToday()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 19
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

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