Passed
Push — master ( bae2e5...39e222 )
by Anthony
03:12
created

DroitAcces::getDroitAccesContenu()   A

Complexity

Conditions 4
Paths 2

Size

Total Lines 15
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 15
rs 9.2
cc 4
eloc 8
nc 2
nop 2
1
<?php
2
	namespace core\admin\droitsacces;
3
4
	use core\App;
5
6
	class DroitAcces {
7
8
		//pour la table identite
9
		protected $id_identite;
10
		private $super_admin;
11
12
		//pour la table liste_droit_acces
13
		protected $id_liste_droit_acces;
14
15
		//pour des droits pour la gestion des contenus
16
		private $modif_seo;
17
		private $modif_contenu;
18
		private $modif_navigation;
19
		private $supprimer_page;
20
		
21
		private $liste_droits_acces;
22
23
24
		//-------------------------- CONSTRUCTEUR ----------------------------------------------------------------------------//
25
		public function __construct() {
26
			$dbc = \core\App::getDb();
27
28
			$this->id_identite = $_SESSION["idlogin".CLEF_SITE];
29
30
			//on test voir si super admin
31
			$query = $dbc->select("super_admin")->select("liste_droit")->from("identite")->where("ID_identite", "=", $this->id_identite)->get();
32
33
			if ((is_array($query)) && (count($query) > 0)) {
34
				foreach ($query as $obj) {
35
					$this->super_admin = $obj->super_admin;
36
					$this->id_liste_droit_acces = $obj->liste_droit;
37
				}
38
				$this->liste_droits_acces = $this->getListeDroitAcces();
39
				App::setValues(["super_admin" => $this->super_admin]);
40
			}
41
		}
42
		//-------------------------- FIN CONSTRUCTEUR ----------------------------------------------------------------------------//
43
    
44
    
45
    
46
		//-------------------------- GETTER ----------------------------------------------------------------------------//
47
		public function getSuperAdmin() {
48
			return $this->super_admin;
49
		}
50
		public function getModifSeo() {
51
			return $this->modif_seo;
52
		}
53
		public function getModifContenu() {
54
			return $this->modif_contenu;
55
		}
56
		public function getModifNavigation() {
57
			return $this->modif_navigation;
58
		}
59
		public function getSupprimerPage() {
60
			return $this->supprimer_page;
61
		}
62
		public function getListeDroitsAcces(){
63
		    return $this->liste_droits_acces;
64
		}
65
66
		/**
67
		 * @return array
68
		 */
69
		private function getListeDroitAcces() {
70
			$dbc = App::getDb();
71
72
			$liste_droit_acces = [];
73
74
			$query = $dbc->select()->from("droit_acces")
75
				->from("liste_droit_acces")
76
				->from("liaison_liste_droit")
77
				->where("liste_droit_acces.ID_liste_droit_acces", "=", $this->id_liste_droit_acces, "AND")
78
				->where("droit_acces.ID_droit_acces", "=", "liaison_liste_droit.ID_droit_acces", "AND", true)
79
				->where("liste_droit_acces.ID_liste_droit_acces", "=", "liaison_liste_droit.ID_liste_droit_acces", "", true)
80
				->get();
81
82
			if ((is_array($query)) && (count($query) > 0)) {
83
				foreach ($query as $obj) $liste_droit_acces[] = $obj->droit_acces;
84
			}
85
			
86
			App::setValues(["droit_acces_user" => $liste_droit_acces]);
87
			return $liste_droit_acces;
88
		}
89
90
		/**
91
		 * @param $id_page
92
		 */
93
		public function getListeDroitModificationContenu($id_page) {
94
			$dbc = App::getDb();
95
96
			//on check si il a le droit de modifier ou supprimer cette page
97
			$query = $dbc->select()->from("droit_acces_page")
98
				->from("liste_droit_acces")
99
				->where("droit_acces_page.ID_page", "=", $id_page, "AND")
100
				->where("liste_droit_acces.ID_liste_droit_acces", "=", $this->id_liste_droit_acces, "AND")
101
				->where("droit_acces_page.ID_liste_droit_acces", "=", "liste_droit_acces.ID_liste_droit_acces", "", true)
102
				->get();
103
104
			//si on a un resultat
105
			if ((is_array($query)) && (count($query) > 0)) {
106
				foreach ($query as $obj) {
107
					App::setValues(["droit_acces_page" => [
108
						"seo" => $this->modif_seo = $obj->seo,
109
						"contenu" => $this->modif_contenu = $obj->contenu,
110
						"navigation" => $this->modif_navigation = $obj->navigation,
111
						"supprimer" => $this->supprimer_page = $obj->supprimer
112
					]]);
113
				}
114
			}
115
		}
116
		//-------------------------- FIN GETTER ----------------------------------------------------------------------------//
117
    
118
    
119
    
120
		//-------------------------- SETTER ----------------------------------------------------------------------------//
121
122
		//-------------------------- FIN SETTER ----------------------------------------------------------------------------//
123
	}