PluginProbe
User Access Manager / 2.2.23
User Access Manager v2.2.23
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | src/Controller/Backend/BackendController.php +65 -9 2.3.142.2.23 View file →
@@ -1,5 +1,18 @@
1 1 <?php
2 +/**
3 + * BackendController.php
4 + *
5 + * The BackendController class file.
6 + *
7 + * PHP versions 5
8 + *
9 + * @author Alexander Schneider <alexanderschneider85@gmail.com>
10 + * @copyright 2008-2017 Alexander Schneider
11 + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
12 + * @version SVN: $id$
13 + * @link http://wordpress.org/extend/plugins/user-access-manager/
14 + */
2 15
3 16 declare(strict_types=1);
4 17
5 18 namespace UserAccessManager\Controller\Backend;
@@ -5,9 +18,9 @@
5 18 namespace UserAccessManager\Controller\Backend;
6 19
7 20 use UserAccessManager\Config\WordpressConfig;
8 21 use UserAccessManager\Controller\Controller;
9 -use UserAccessManager\Setup\Database\MissingColumnsException;
22 +use UserAccessManager\File\FileHandler;
10 23 use UserAccessManager\Setup\SetupHandler;
11 24 use UserAccessManager\User\UserHandler;
12 25 use UserAccessManager\UserAccessManager;
13 26 use UserAccessManager\Wrapper\Php;
@@ -12,8 +25,13 @@
12 25 use UserAccessManager\UserAccessManager;
13 26 use UserAccessManager\Wrapper\Php;
14 27 use UserAccessManager\Wrapper\Wordpress;
15 28
29 +/**
30 + * Class BackendController
31 + *
32 + * @package UserAccessManager\Controller
33 + */
16 34 class BackendController extends Controller
17 35 {
18 36 public const HANDLE_STYLE_ADMIN = 'UserAccessManagerAdmin';
19 37 public const HANDLE_SCRIPT_GROUP_SUGGEST = 'UserAccessManagerGroupSuggest';
@@ -20,24 +38,47 @@
20 38 public const HANDLE_SCRIPT_TIME_INPUT = 'UserAccessManagerTimeInput';
21 39 public const HANDLE_SCRIPT_ADMIN = 'UserAccessManagerFunctions';
22 40 public const UAM_ERRORS = 'UAM_ERRORS';
23 41
24 - private string $notice = '';
42 + /**
43 + * @var UserHandler
44 + */
45 + private $userHandler;
25 46
47 + /**
48 + * @var SetupHandler
49 + */
50 + private $setupHandler;
51 +
52 + /**
53 + * @var string
54 + */
55 + private $notice = '';
56 +
57 + /**
58 + * BackendController constructor.
59 + * @param Php $php
60 + * @param Wordpress $wordpress
61 + * @param WordpressConfig $wordpressConfig
62 + * @param UserHandler $userHandler
63 + * @param SetupHandler $setupHandler
64 + */
26 65 public function __construct(
27 66 Php $php,
28 67 Wordpress $wordpress,
29 68 WordpressConfig $wordpressConfig,
30 - private UserHandler $userHandler,
31 - private SetupHandler $setupHandler
69 + UserHandler $userHandler,
70 + SetupHandler $setupHandler
32 71 ) {
33 72 parent::__construct($php, $wordpress, $wordpressConfig);
73 + $this->userHandler = $userHandler;
74 + $this->setupHandler = $setupHandler;
34 75 }
35 76
36 77 /**
37 - * @throws MissingColumnsException
78 + * Shows the admin notices.
38 79 */
39 - public function showAdminNotice(): void
80 + public function showAdminNotice()
40 81 {
41 82 $messages = isset($_SESSION[self::UAM_ERRORS]) === true ? $_SESSION[self::UAM_ERRORS] : [];
42 83 $updateAction = $this->getRequestParameter('uam_update_db');
43 84
@@ -53,14 +94,21 @@
53 94 echo $this->getIncludeContents('AdminNotice.php');
54 95 }
55 96 }
56 97
98 + /**
99 + * Returns the set notice.
100 + * @return string
101 + */
57 102 public function getNotice(): string
58 103 {
59 104 return $this->notice;
60 105 }
61 106
62 - private function registerStylesAndScripts(): void
107 + /**
108 + * Register styles and scripts with handle for admin panel.
109 + */
110 + private function registerStylesAndScripts()
63 111 {
64 112 $urlPath = $this->wordpressConfig->getUrlPath();
65 113
66 114 $this->wordpress->registerStyle(
@@ -92,9 +140,12 @@
92 140 UserAccessManager::VERSION
93 141 );
94 142 }
95 143
96 - public function enqueueStylesAndScripts(): void
144 + /**
145 + * The function for the admin_enqueue_scripts action for styles and scripts.
146 + */
147 + public function enqueueStylesAndScripts()
97 148 {
98 149 $this->registerStylesAndScripts();
99 150 $this->wordpress->enqueueStyle(self::HANDLE_STYLE_ADMIN);
100 151 $this->wordpress->enqueueScript(self::HANDLE_SCRIPT_GROUP_SUGGEST);
@@ -101,9 +152,14 @@
101 152 $this->wordpress->enqueueScript(self::HANDLE_SCRIPT_TIME_INPUT);
102 153 $this->wordpress->enqueueScript(self::HANDLE_SCRIPT_ADMIN);
103 154 }
104 155
105 - public function setupAdminDashboard(): void
156 +
157 + /**
158 + * The function for the wp_dashboard_setup action.
159 + * Removes widgets to which a user should not have access.
160 + */
161 + public function setupAdminDashboard()
106 162 {
107 163 if ($this->userHandler->checkUserAccess(UserHandler::MANAGE_USER_GROUPS_CAPABILITY) === false) {
108 164 $metaBoxes = $this->wordpress->getMetaBoxes();
109 165 unset($metaBoxes['dashboard']['normal']['core']['dashboard_recent_comments']);