@@ -36,21 +36,21 @@ discard block |
||
36 | 36 | * |
37 | 37 | * @param string $event The event to use. |
38 | 38 | */ |
39 | - public function initialize(array $config) |
|
40 | - { |
|
41 | - parent::initialize($config); |
|
39 | + public function initialize(array $config) |
|
40 | + { |
|
41 | + parent::initialize($config); |
|
42 | 42 | |
43 | - $this->controller = $this->_registry->getController(); |
|
44 | - $this->session = $this->controller->request->session(); |
|
43 | + $this->controller = $this->_registry->getController(); |
|
44 | + $this->session = $this->controller->request->session(); |
|
45 | 45 | |
46 | - $this->actions = array(); |
|
46 | + $this->actions = array(); |
|
47 | 47 | $this->allow = true; |
48 | 48 | $this->redirect = ''; |
49 | 49 | $this->params = ''; |
50 | 50 | $this->message = ''; |
51 | 51 | $this->userType = ''; |
52 | 52 | $this->action = null; |
53 | - } |
|
53 | + } |
|
54 | 54 | |
55 | 55 | /** |
56 | 56 | * Initialization to get controller variable |
@@ -58,45 +58,45 @@ discard block |
||
58 | 58 | * @param array $rules Array of rules for permissions. |
59 | 59 | * @return string '0' if user / group doesn't have permission, 1 if has permission |
60 | 60 | */ |
61 | - public function allow ($rules) { |
|
62 | - $this->setUserValues(); |
|
63 | - $this->bindConfiguration($rules); |
|
61 | + public function allow ($rules) { |
|
62 | + $this->setUserValues(); |
|
63 | + $this->bindConfiguration($rules); |
|
64 | 64 | |
65 | 65 | if (!$this->applyGroupsRules($rules)) { |
66 | 66 | $this->applyViewsRules($rules); |
67 | 67 | } |
68 | 68 | |
69 | 69 | return $this->allow; |
70 | - } |
|
70 | + } |
|
71 | 71 | |
72 | - private function setUserValues() |
|
73 | - { |
|
74 | - $userId = $this->session->read('Auth.User.id'); |
|
72 | + private function setUserValues() |
|
73 | + { |
|
74 | + $userId = $this->session->read('Auth.User.id'); |
|
75 | 75 | |
76 | - if (!isset($userId)) { |
|
76 | + if (!isset($userId)) { |
|
77 | 77 | $this->userType = 'guest'; |
78 | 78 | } |
79 | - } |
|
79 | + } |
|
80 | 80 | |
81 | - private function bindConfiguration(array $rules) |
|
82 | - { |
|
83 | - foreach($rules as $key => $value){ |
|
81 | + private function bindConfiguration(array $rules) |
|
82 | + { |
|
83 | + foreach($rules as $key => $value){ |
|
84 | 84 | switch($key){ |
85 | 85 | case "user_type": |
86 | - $this->userType = $value; |
|
87 | - break; |
|
88 | - case "redirect": |
|
89 | - $this->redirect = $value; |
|
90 | - break; |
|
91 | - case "action": |
|
92 | - $this->action = $value; |
|
93 | - break; |
|
94 | - case "controller": |
|
95 | - $this->controller = $value; |
|
96 | - break; |
|
97 | - case "message": |
|
98 | - $this->message = $value; |
|
99 | - break; |
|
86 | + $this->userType = $value; |
|
87 | + break; |
|
88 | + case "redirect": |
|
89 | + $this->redirect = $value; |
|
90 | + break; |
|
91 | + case "action": |
|
92 | + $this->action = $value; |
|
93 | + break; |
|
94 | + case "controller": |
|
95 | + $this->controller = $value; |
|
96 | + break; |
|
97 | + case "message": |
|
98 | + $this->message = $value; |
|
99 | + break; |
|
100 | 100 | } |
101 | 101 | } |
102 | 102 | |
@@ -107,61 +107,61 @@ discard block |
||
107 | 107 | } |
108 | 108 | } |
109 | 109 | } |
110 | - } |
|
110 | + } |
|
111 | 111 | |
112 | - private function applyGroupsRules(array $rules) : bool |
|
113 | - { |
|
114 | - $existRulesForGroups = false; |
|
112 | + private function applyGroupsRules(array $rules) : bool |
|
113 | + { |
|
114 | + $existRulesForGroups = false; |
|
115 | 115 | |
116 | - if(isset($rules['groups'])){ |
|
116 | + if(isset($rules['groups'])){ |
|
117 | 117 | foreach($rules['groups'] as $key => $value){ |
118 | 118 | $this->searchForApplyGroupRules($key, $value); |
119 | 119 | } |
120 | 120 | } |
121 | 121 | |
122 | 122 | return $existRulesForGroups; |
123 | - } |
|
123 | + } |
|
124 | 124 | |
125 | - private function searchForApplyGroupRules($key, $value) |
|
126 | - { |
|
127 | - if($key == $this->userType){ |
|
128 | - if ($this->notInArrayAction()) { |
|
125 | + private function searchForApplyGroupRules($key, $value) |
|
126 | + { |
|
127 | + if($key == $this->userType){ |
|
128 | + if ($this->notInArrayAction()) { |
|
129 | 129 | $existRulesForGroups = true; |
130 | 130 | $this->redirectIfIsSet(); |
131 | 131 | |
132 | 132 | $this->allow = false; |
133 | 133 | } |
134 | 134 | } |
135 | - } |
|
135 | + } |
|
136 | 136 | |
137 | - private function notInArrayAction() |
|
138 | - { |
|
139 | - return ((!in_array('*', $this->actions)) && (!in_array($this->action, $this->actions))); |
|
140 | - } |
|
137 | + private function notInArrayAction() |
|
138 | + { |
|
139 | + return ((!in_array('*', $this->actions)) && (!in_array($this->action, $this->actions))); |
|
140 | + } |
|
141 | 141 | |
142 | - private function applyViewsRules(array $rules) |
|
143 | - { |
|
144 | - if(isset($rules['views'])){ |
|
142 | + private function applyViewsRules(array $rules) |
|
143 | + { |
|
144 | + if(isset($rules['views'])){ |
|
145 | 145 | foreach($rules['views'] as $key => $value){ |
146 | 146 | $this->searchForApplyViewRules($key, $value); |
147 | 147 | } |
148 | 148 | } |
149 | - } |
|
149 | + } |
|
150 | 150 | |
151 | - private function searchForApplyViewRules($key, $value) |
|
152 | - { |
|
153 | - if($key == $this->action){ |
|
151 | + private function searchForApplyViewRules($key, $value) |
|
152 | + { |
|
153 | + if($key == $this->action){ |
|
154 | 154 | if(!$this->controller->$value()){ |
155 | 155 | $this->redirectIfIsSet(); |
156 | 156 | |
157 | 157 | $this->allow = false; |
158 | 158 | } |
159 | 159 | } |
160 | - } |
|
160 | + } |
|
161 | 161 | |
162 | - private function redirectIfIsSet() |
|
163 | - { |
|
164 | - if($this->redirect != ''){ |
|
162 | + private function redirectIfIsSet() |
|
163 | + { |
|
164 | + if($this->redirect != ''){ |
|
165 | 165 | if($this->message != ''){ |
166 | 166 | $this->Flash->set($this->message); |
167 | 167 | } |