Passed
Push — master ( de0e88...de0e88 )
by Anthony
04:58 queued 02:36
created

Contenus::getMenu()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 19
Code Lines 14

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.2
cc 4
eloc 14
nc 3
nop 1
1
<?php
2
	namespace core\contenus;
3
4
	use core\RedirectError;
5
6
7
	class Contenus {
8
		//pour la table page
9
		protected $id_page;
10
		protected $titre;
11
		protected $contenu;
12
		protected $url;
13
		protected $meta_description;
14
		protected $balise_title;
15
		protected $parent;
16
17
18
19
		//-------------------------- CONSTRUCTEUR ----------------------------------------------------------------------------//
20
		public function __construct($init_all = 0) {
21
			$dbc = \core\App::getDb();
22
23
			if ($init_all == 1) {
24
				//on construit le menu
25
				$query = $dbc->query("SELECT ID_page, titre, balise_title, parent, url FROM page WHERE affiche=1 ORDER BY ordre");
26
27
				$this->getMenu($query);
28
			}
29
		}
30
		//-------------------------- FIN CONSTRUCTEUR ----------------------------------------------------------------------------//
31
32
33
34
		//-------------------------- GETTER ----------------------------------------------------------------------------//
35
		//pour la table page
36
		public function getIdPage() {
37
			return $this->id_page;
38
		}
39
		public function getTitre() {
40
			return $this->titre;
41
		}
42
		public function getContenu() {
43
			return $this->contenu;
44
		}
45
		public function getUrl() {
46
			return $this->url;
47
		}
48
		public function getMetaDescription() {
49
			return $this->meta_description;
50
		}
51
		public function getBaliseTitle() {
52
			return $this->balise_title;
53
		}
54
		public function getParent() {
55
			return $this->parent;
56
		}
57
58
		/**
59
		 * @param $query
60
		 * fonction qui permet de récupérer le menu dans admin et front
61
		 */
62
		protected function getMenu($query) {
63
			if ((is_array($query)) && (count($query) > 0)) {
64
				$id_page = [];
65
				$titre = [];
66
				$balise_title = [];
67
				$url = [];
68
				$parent = [];
69
70
				foreach ($query as $obj) {
71
					$id_page[] = $obj->ID_page;
72
					$titre[] = $obj->titre;
73
					$balise_title[] = $obj->balise_title;
74
					$url[] = $obj->url;
75
					$parent[] = $obj->parent;
76
				}
77
78
				$this->setMenu($id_page, $titre, $balise_title, $url, $parent);
79
			}
80
		}
81
82
83
		/**
84
		 * pour récupérer l'en tete d'une page (balise title ++ meta description)
85
		 * @param $id_page
86
		 */
87
		public function getHeadPage($id_page, $url = null) {
88
			$dbc = \core\App::getDb();
89
90
			if ($id_page != 0) {
91
				$query = $dbc->query("SELECT balise_title, meta_description, ID_page FROM page WHERE ID_page=".$id_page);
92
			}
93
			else {
94
				$query = $dbc->query("SELECT balise_title, meta_description, ID_page FROM page WHERE url LIKE '$url'");
95
			}
96
97
			if (RedirectError::testRedirect404($query, $url) === true) {
98
				if ((is_array($query)) && (count($query) > 0)) {
99
					foreach ($query as $obj) {
100
						$this->id_page = $obj->ID_page;
101
						$this->meta_description = $obj->meta_description;
102
						$this->balise_title = $obj->balise_title;
103
					}
104
				}
105
			}
106
		}
107
108
		/**
109
		 * pour récupérer une page en particulier
110
		 * @param $id_page
111
		 */
112
		public function getContenuPage($id_page = null) {
113
			$dbc = \core\App::getDb();
114
115
			if ($id_page == null) {
116
				$id_page = $this->id_page;
117
			}
118
119
			if ($id_page != null) {
120
				$query = $dbc->query("SELECT * FROM page WHERE ID_page=".$id_page);
121
122
				if ((is_array($query)) && (count($query) > 0)) {
123
					foreach ($query as $obj) {
124
						$this->id_page = $obj->ID_page;
125
						$this->titre = $obj->titre;
126
						$this->contenu = $obj->contenu;
127
						$this->url = $obj->url;
128
						$this->parent = $obj->parent;
129
					}
130
				}
131
			}
132
		}
133
		//-------------------------- FIN GETTER ----------------------------------------------------------------------------//
134
135
136
137
		//-------------------------- SETTER ----------------------------------------------------------------------------//
138
		protected function setMenu($id_page, $titre, $balise_title, $url, $parent) {
139
			$this->id_page = $id_page;
140
			$this->titre = $titre;
141
			$this->balise_title = $balise_title;
142
			$this->url = $url;
143
			$this->parent = $parent;
144
		}
145
		//-------------------------- FIN SETTER ----------------------------------------------------------------------------//
146
	}