PluginProbe
User Access Manager / 2.0.0
User Access Manager v2.0.0
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.0, at user-access-manager.php

234 lines 6.2 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.0
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 $php = new Php();
91 $wordpress = new Wordpress();
92 $util = new Util($php);
93 $cache = new Cache();
94 $configParameterFactory = new ConfigParameterFactory();
95 $database = new Database($wordpress);
96 $objectHandler = new ObjectHandler($wordpress, $database);
97 $config = new Config($wordpress, $objectHandler, $configParameterFactory, __FILE__);
98 $fileObjectFactory = new FileObjectFactory();
99 $userGroupFactory = new UserGroupFactory(
100 $php,
101 $wordpress,
102 $database,
103 $config,
104 $util,
105 $objectHandler
106 );
107 $accessHandler = new AccessHandler(
108 $wordpress,
109 $config,
110 $cache,
111 $database,
112 $objectHandler,
113 $util,
114 $userGroupFactory
115 );
116 $fileProtectionFactory = new FileProtectionFactory(
117 $php,
118 $wordpress,
119 $config,
120 $util
121 );
122 $fileHandler = new FileHandler(
123 $php,
124 $wordpress,
125 $config,
126 $fileProtectionFactory
127 );
128 $setupHandler = new SetupHandler(
129 $wordpress,
130 $database,
131 $objectHandler,
132 $fileHandler
133 );
134 $controllerFactory = new ControllerFactory(
135 $php,
136 $wordpress,
137 $database,
138 $config,
139 $util,
140 $cache,
141 $objectHandler,
142 $accessHandler,
143 $userGroupFactory,
144 $fileHandler,
145 $fileObjectFactory,
146 $setupHandler
147 );
148
149 global $userAccessManager;
150 $userAccessManager = new UserAccessManager(
151 $php,
152 $wordpress,
153 $util,
154 $cache,
155 $config,
156 $database,
157 $objectHandler,
158 $accessHandler,
159 $fileHandler,
160 $setupHandler,
161 $userGroupFactory,
162 $controllerFactory,
163 $configParameterFactory,
164 $fileProtectionFactory,
165 $fileObjectFactory
166 );
167
168 $wordpress->doAction('uam_init', [$userAccessManager]);
169
170 //install
171 if (function_exists('register_activation_hook')) {
172 register_activation_hook(__FILE__, [$setupHandler, 'install']);
173 }
174
175 if (!function_exists("userAccessManagerUninstall")) {
176 function userAccessManagerUninstall()
177 {
178 $php = new Php();
179 $wordpress = new Wordpress();
180 $util = new Util($php);
181 $configParameterFactory = new ConfigParameterFactory();
182 $database = new Database($wordpress);
183 $objectHandler = new ObjectHandler($wordpress, $database);
184 $config = new Config($wordpress, $objectHandler, $configParameterFactory, __FILE__);
185
186 $fileProtectionFactory = new FileProtectionFactory(
187 $php,
188 $wordpress,
189 $config,
190 $util
191 );
192 $fileHandler = new FileHandler(
193 $php,
194 $wordpress,
195 $config,
196 $fileProtectionFactory
197 );
198 $setupHandler = new SetupHandler(
199 $wordpress,
200 $database,
201 $objectHandler,
202 $fileHandler
203 );
204
205 $setupHandler->uninstall();
206 }
207 }
208
209 //uninstall
210 if (function_exists('register_uninstall_hook')) {
211 register_uninstall_hook(__FILE__, 'userAccessManagerUninstall');
212 } elseif (function_exists('register_deactivation_hook')) {
213 //Fallback
214 register_deactivation_hook(__FILE__, 'userAccessManagerUninstall');
215 }
216
217 //deactivation
218 if (function_exists('register_deactivation_hook')) {
219 register_deactivation_hook(__FILE__, [$setupHandler, 'deactivate']);
220 }
221
222 $userAccessManager->addActionsAndFilters();
223
224 //Add the cli interface to the known commands
225 if (defined('WP_CLI') && WP_CLI) {
226 $cliWrapper = new \UserAccessManager\Wrapper\WordpressCli();
227
228 $groupCommand = new \UserAccessManager\Command\GroupCommand($cliWrapper, $accessHandler, $userGroupFactory);
229 \WP_CLI::add_command('uam groups', $groupCommand);
230
231 $objectCommand = new \UserAccessManager\Command\ObjectCommand($cliWrapper, $accessHandler);
232 \WP_CLI::add_command('uam objects', $objectCommand);
233 }
234