PluginProbe
User Access Manager / 2.0.3
User Access Manager v2.0.3
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 | user-access-manager.php +204 -46 2.3.192.0.3 View file →
@@ -2,10 +2,9 @@
2 2 /**
3 3 * Plugin Name: User Access Manager
4 4 * Plugin URI: https://wordpress.org/plugins/user-access-manager/
5 5 * Author URI: https://twitter.com/GM_Alex
6 - * Version: 2.3.19
7 - * Requires PHP: 8.0
6 + * Version: 2.0.3
8 7 * Author: Alexander Schneider
9 8 * Description: Manage the access to your posts, pages, categories and files.
10 9 * Text Domain: user-access-manager
11 10 *
@@ -10,9 +9,9 @@
10 9 * Text Domain: user-access-manager
11 10 *
12 11 * user-access-manager.php
13 12 *
14 - * The user access manager main file.
13 + * The the user access manager main file.
15 14 *
16 15 * PHP versions 5
17 16 *
18 17 * @author Alexander Schneider <[email protected]>
@@ -20,62 +19,221 @@
20 19 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
21 20 * @version SVN: $id$
22 21 * @link http://wordpress.org/extend/plugins/user-access-manager/
23 22 */
23 +//Defines
24 +require_once 'includes/language.php';
25 +require_once 'autoload.php';
24 26
25 -function initUam() {
26 - $basePath = __DIR__ . DIRECTORY_SEPARATOR;
27 +//Check requirements
28 +$stop = false;
27 29
28 - //Load language
29 - require_once $basePath . 'includes' . DIRECTORY_SEPARATOR . 'language.php';
30 - $locale = apply_filters('plugin_locale', get_locale(), 'user-access-manager');
31 - load_textdomain(
32 - 'user-access-manager',
33 - WP_LANG_DIR . DIRECTORY_SEPARATOR . 'user-access-manager' . DIRECTORY_SEPARATOR . 'user-access-manager-' . $locale . '.mo'
30 +//Check php version
31 +$phpVersion = phpversion();
32 +
33 +if (version_compare($phpVersion, '5.4') === -1) {
34 + add_action(
35 + 'admin_notices',
36 + function () {
37 + echo '<div id="message" class="error"><p><strong>'
38 + .sprintf(TXT_UAM_PHP_VERSION_TO_LOW, phpversion())
39 + .'</strong></p></div>';
40 + }
34 41 );
35 - load_plugin_textdomain(
36 - 'user-access-manager',
37 - false,
38 - plugin_basename(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'languages'
42 +
43 + $stop = true;
44 +}
45 +
46 +//Check wordpress version
47 +global $wp_version;
48 +
49 +if (version_compare($wp_version, '4.6') === -1) {
50 + add_action(
51 + 'admin_notices',
52 + function () use ($wp_version) {
53 + echo '<div id="message" class="error"><p><strong>'
54 + .sprintf(TXT_UAM_WORDPRESS_VERSION_TO_LOW, $wp_version)
55 + .'</strong></p></div>';
56 + }
39 57 );
40 58
41 - //--- Check requirements ---
59 + $stop = true;
60 +}
42 61
43 - //Check php version
44 - if (version_compare((string)phpversion(), '7.2') === -1) {
45 - add_action(
46 - 'admin_notices',
47 - function () {
48 - echo '<div id="message" class="error"><p><strong>'
49 - . sprintf(TXT_UAM_PHP_VERSION_TO_LOW, phpversion())
50 - . '</strong></p></div>';
51 - }
52 - );
62 +//If we have a error stop plugin.
63 +if ($stop === true) {
64 + return;
65 +}
53 66
54 - return;
67 +//Load language
68 +$locale = apply_filters('plugin_locale', get_locale(), 'user-access-manager');
69 +load_textdomain('user-access-manager', WP_LANG_DIR.'/user-access-manager/user-access-manager-'.$locale.'.mo');
70 +load_plugin_textdomain('user-access-manager', false, plugin_basename(dirname(__FILE__)).'/languages');
71 +
72 +//Classes
73 +use UserAccessManager\AccessHandler\AccessHandler;
74 +use UserAccessManager\Cache\Cache;
75 +use UserAccessManager\Config\Config;
76 +use UserAccessManager\Config\ConfigParameterFactory;
77 +use UserAccessManager\Controller\ControllerFactory;
78 +use UserAccessManager\Database\Database;
79 +use UserAccessManager\FileHandler\FileHandler;
80 +use UserAccessManager\FileHandler\FileObjectFactory;
81 +use UserAccessManager\FileHandler\FileProtectionFactory;
82 +use UserAccessManager\ObjectHandler\ObjectHandler;
83 +use UserAccessManager\SetupHandler\SetupHandler;
84 +use UserAccessManager\UserAccessManager;
85 +use UserAccessManager\UserGroup\UserGroupFactory;
86 +use UserAccessManager\Util\Util;
87 +use UserAccessManager\Wrapper\Php;
88 +use UserAccessManager\Wrapper\Wordpress;
89 +
90 +global $userAccessManager;
91 +
92 +function initUserAccessManger()
93 +{
94 + $php = new Php();
95 + $wordpress = new Wordpress();
96 + $util = new Util($php);
97 + $cache = new Cache();
98 + $configParameterFactory = new ConfigParameterFactory();
99 + $database = new Database($wordpress);
100 + $objectHandler = new ObjectHandler($wordpress, $database);
101 + $config = new Config($wordpress, $objectHandler, $configParameterFactory, __FILE__);
102 + $fileObjectFactory = new FileObjectFactory();
103 + $userGroupFactory = new UserGroupFactory(
104 + $php,
105 + $wordpress,
106 + $database,
107 + $config,
108 + $util,
109 + $objectHandler
110 + );
111 + $accessHandler = new AccessHandler(
112 + $wordpress,
113 + $config,
114 + $cache,
115 + $database,
116 + $objectHandler,
117 + $util,
118 + $userGroupFactory
119 + );
120 + $fileProtectionFactory = new FileProtectionFactory(
121 + $php,
122 + $wordpress,
123 + $config,
124 + $util
125 + );
126 + $fileHandler = new FileHandler(
127 + $php,
128 + $wordpress,
129 + $config,
130 + $fileProtectionFactory
131 + );
132 + $setupHandler = new SetupHandler(
133 + $wordpress,
134 + $database,
135 + $objectHandler,
136 + $fileHandler
137 + );
138 + $controllerFactory = new ControllerFactory(
139 + $php,
140 + $wordpress,
141 + $database,
142 + $config,
143 + $util,
144 + $cache,
145 + $objectHandler,
146 + $accessHandler,
147 + $userGroupFactory,
148 + $fileHandler,
149 + $fileObjectFactory,
150 + $setupHandler
151 + );
152 +
153 + $userAccessManager = new UserAccessManager(
154 + $php,
155 + $wordpress,
156 + $util,
157 + $cache,
158 + $config,
159 + $database,
160 + $objectHandler,
161 + $accessHandler,
162 + $fileHandler,
163 + $setupHandler,
164 + $userGroupFactory,
165 + $controllerFactory,
166 + $configParameterFactory,
167 + $fileProtectionFactory,
168 + $fileObjectFactory
169 + );
170 +
171 + $wordpress->doAction('uam_init', [$userAccessManager]);
172 +
173 + //install
174 + if (function_exists('register_activation_hook')) {
175 + register_activation_hook(__FILE__, [$setupHandler, 'install']);
55 176 }
56 177
57 - //Check WordPress version
58 - global $wp_version;
178 + if (!function_exists("userAccessManagerUninstall")) {
179 + function userAccessManagerUninstall()
180 + {
181 + $php = new Php();
182 + $wordpress = new Wordpress();
183 + $util = new Util($php);
184 + $configParameterFactory = new ConfigParameterFactory();
185 + $database = new Database($wordpress);
186 + $objectHandler = new ObjectHandler($wordpress, $database);
187 + $config = new Config($wordpress, $objectHandler, $configParameterFactory, __FILE__);
59 188
60 - if (version_compare((string)$wp_version, '4.6') === -1) {
61 - add_action(
62 - 'admin_notices',
63 - function () use ($wp_version) {
64 - echo '<div id="message" class="error"><p><strong>'
65 - . sprintf(TXT_UAM_WORDPRESS_VERSION_TO_LOW, $wp_version)
66 - . '</strong></p></div>';
67 - }
68 - );
189 + $fileProtectionFactory = new FileProtectionFactory(
190 + $php,
191 + $wordpress,
192 + $config,
193 + $util
194 + );
195 + $fileHandler = new FileHandler(
196 + $php,
197 + $wordpress,
198 + $config,
199 + $fileProtectionFactory
200 + );
201 + $setupHandler = new SetupHandler(
202 + $wordpress,
203 + $database,
204 + $objectHandler,
205 + $fileHandler
206 + );
69 207
70 - return;
208 + $setupHandler->uninstall();
209 + }
71 210 }
72 211
73 - //Defines
74 - require_once $basePath . 'includes' . DIRECTORY_SEPARATOR . 'version.php';
75 - require_once $basePath.'vendor/autoload.php';
76 - require_once $basePath.'init.php';
77 - global $userAccessManager;
78 - $userAccessManager = initUserAccessManger();
212 + //uninstall
213 + if (function_exists('register_uninstall_hook')) {
214 + register_uninstall_hook(__FILE__, 'userAccessManagerUninstall');
215 + } elseif (function_exists('register_deactivation_hook')) {
216 + //Fallback
217 + register_deactivation_hook(__FILE__, 'userAccessManagerUninstall');
218 + }
219 +
220 + //deactivation
221 + if (function_exists('register_deactivation_hook')) {
222 + register_deactivation_hook(__FILE__, [$setupHandler, 'deactivate']);
223 + }
224 +
225 + $userAccessManager->addActionsAndFilters();
226 +
227 + //Add the cli interface to the known commands
228 + if (defined('WP_CLI') && WP_CLI) {
229 + $cliWrapper = new \UserAccessManager\Wrapper\WordpressCli();
230 +
231 + $groupCommand = new \UserAccessManager\Command\GroupCommand($cliWrapper, $accessHandler, $userGroupFactory);
232 + \WP_CLI::add_command('uam groups', $groupCommand);
233 +
234 + $objectCommand = new \UserAccessManager\Command\ObjectCommand($cliWrapper, $accessHandler);
235 + \WP_CLI::add_command('uam objects', $objectCommand);
236 + }
79 237 }
80 238
81 -add_action('init', 'initUam', 0);
239 +initUserAccessManger();