1: | <?php
|
2: | namespace Opencart\Admin\Controller\Startup;
|
3: | |
4: | |
5: | |
6: | |
7: |
|
8: | class Permission extends \Opencart\System\Engine\Controller {
|
9: | |
10: | |
11: | |
12: | |
13: |
|
14: | public function index(): ?\Opencart\System\Engine\Action {
|
15: | if (isset($this->request->get['route'])) {
|
16: | $pos = strrpos($this->request->get['route'], '.');
|
17: |
|
18: | if ($pos === false) {
|
19: | $route = $this->request->get['route'];
|
20: | } else {
|
21: | $route = substr($this->request->get['route'], 0, $pos);
|
22: | }
|
23: |
|
24: |
|
25: | $ignore = [
|
26: | 'common/dashboard',
|
27: | 'common/login',
|
28: | 'common/logout',
|
29: | 'common/forgotten',
|
30: | 'common/authorize',
|
31: | 'common/language',
|
32: | 'error/not_found',
|
33: | 'error/permission'
|
34: | ];
|
35: |
|
36: | if (!in_array($route, $ignore) && !$this->user->hasPermission('access', $route)) {
|
37: | return new \Opencart\System\Engine\Action('error/permission');
|
38: | }
|
39: | }
|
40: |
|
41: | return null;
|
42: | }
|
43: | }
|
44: | |