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
user-access-manager / user-access-manager.php

user-access-manager.php in User Access Manager 2.0.3, at user-access-manager.php

240 lines 6.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: User Access Manager
4 * Plugin URI: https://wordpress.org/plugins/user-access-manager/
5 * Author URI: https://twitter.com/GM_Alex
6 * Version: 2.0.3
7 * Author: Alexander Schneider
8 * Description: Manage the access to your posts, pages, categories and files.
9 * Text Domain: user-access-manager
10 *
11 * user-access-manager.php
12 *
13 * The the user access manager main file.
14 *
15 * PHP versions 5
16 *
17 * @author Alexander Schneider <alexanderschneider85@gmail.com>
18 * @copyright 2008-2017 Alexander Schneider
19 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
20 * @version SVN: $id$
21 * @link http://wordpress.org/extend/plugins/user-access-manager/
22 */
23 //Defines
24 require_once 'includes/language.php';
25 require_once 'autoload.php';
26
27 //Check requirements
28 $stop = false;
29
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 }
41 );
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 }
57 );
58
59 $stop = true;
60 }
61
62 //If we have a error stop plugin.
63 if ($stop === true) {
64 return;
65 }
66
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']);
176 }
177
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__);
188
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 );
207
208 $setupHandler->uninstall();
209 }
210 }
211
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 }
237 }
238
239 initUserAccessManger();
240