PluginProbe
User Access Manager / 2.3.0
User Access Manager v2.3.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 / init.php

init.php in User Access Manager 2.3.0, at init.php

274 lines 9.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 //Classes
3 use UserAccessManager\Access\AccessHandler;
4 use UserAccessManager\Cache\Cache;
5 use UserAccessManager\Command\GroupCommand;
6 use UserAccessManager\Command\ObjectCommand;
7 use UserAccessManager\Config\MainConfig;
8 use UserAccessManager\Config\ConfigFactory;
9 use UserAccessManager\Config\ConfigParameterFactory;
10 use UserAccessManager\Config\WordpressConfig;
11 use UserAccessManager\Cache\CacheProviderFactory;
12 use UserAccessManager\Controller\ControllerFactory;
13 use UserAccessManager\Controller\Backend\ObjectInformationFactory;
14 use UserAccessManager\Widget\WidgetFactory;
15 use UserAccessManager\Database\Database;
16 use UserAccessManager\File\FileHandler;
17 use UserAccessManager\File\FileObjectFactory;
18 use UserAccessManager\File\FileProtectionFactory;
19 use UserAccessManager\Form\FormFactory;
20 use UserAccessManager\Form\FormHelper;
21 use UserAccessManager\Object\ObjectHandler;
22 use UserAccessManager\Object\ObjectMapHandler;
23 use UserAccessManager\ObjectMembership\ObjectMembershipHandlerFactory;
24 use UserAccessManager\Setup\Database\DatabaseObjectFactory;
25 use UserAccessManager\Setup\Database\DatabaseHandler;
26 use UserAccessManager\Setup\SetupHandler;
27 use UserAccessManager\Setup\Update\UpdateFactory;
28 use UserAccessManager\UserAccessManager;
29 use UserAccessManager\UserGroup\AssignmentInformationFactory;
30 use UserAccessManager\UserGroup\UserGroupAssignmentHandler;
31 use UserAccessManager\UserGroup\UserGroupFactory;
32 use UserAccessManager\UserGroup\UserGroupHandler;
33 use UserAccessManager\User\UserHandler;
34 use UserAccessManager\Util\Util;
35 use UserAccessManager\Util\DateUtil;
36 use UserAccessManager\Wrapper\Php;
37 use UserAccessManager\Wrapper\Wordpress;
38 use UserAccessManager\Wrapper\WordpressCli;
39
40 function initUserAccessManger()
41 {
42 $file = str_replace('init.php', 'user-access-manager.php', __FILE__);
43 $php = new Php();
44 $wordpress = new Wordpress();
45 $util = new Util($php);
46 $dateUtil = new DateUtil($wordpress);
47 $configFactory = new ConfigFactory($wordpress);
48 $configParameterFactory = new ConfigParameterFactory();
49 $cacheProviderFactory = new CacheProviderFactory($php, $wordpress, $util, $configFactory, $configParameterFactory);
50 $cache = new Cache($wordpress, $cacheProviderFactory);
51 $database = new Database($wordpress);
52 $objectMapHandler = new ObjectMapHandler($database, $cache);
53 $assignmentInformationFactory = new AssignmentInformationFactory();
54 $membershipHandlerFactory = new ObjectMembershipHandlerFactory(
55 $php,
56 $wordpress,
57 $database,
58 $objectMapHandler,
59 $assignmentInformationFactory
60 );
61 $objectHandler = new ObjectHandler($php, $wordpress, $membershipHandlerFactory);
62 $wordpressConfig = new WordpressConfig($wordpress, $file);
63 $mainConfig = new MainConfig($wordpress, $objectHandler, $cache, $configParameterFactory);
64 $fileObjectFactory = new FileObjectFactory();
65 $formFactory = new FormFactory();
66 $formHelper = new FormHelper($php, $wordpress, $mainConfig, $formFactory);
67
68 $userGroupFactory = new UserGroupFactory(
69 $php,
70 $wordpress,
71 $database,
72 $mainConfig,
73 $util,
74 $objectHandler,
75 $assignmentInformationFactory
76 );
77 $userHandler = new UserHandler(
78 $wordpress,
79 $mainConfig,
80 $database,
81 $objectHandler
82 );
83 $userGroupHandler = new UserGroupHandler(
84 $wordpress,
85 $wordpressConfig,
86 $mainConfig,
87 $database,
88 $objectHandler,
89 $userHandler,
90 $userGroupFactory
91 );
92 $accessHandler = new AccessHandler(
93 $wordpress,
94 $mainConfig,
95 $database,
96 $objectHandler,
97 $userHandler,
98 $userGroupHandler
99 );
100 $fileProtectionFactory = new FileProtectionFactory(
101 $php,
102 $wordpress,
103 $wordpressConfig,
104 $mainConfig,
105 $util
106 );
107 $fileHandler = new FileHandler(
108 $php,
109 $wordpress,
110 $wordpressConfig,
111 $mainConfig,
112 $fileProtectionFactory
113 );
114 $updateFactory = new UpdateFactory($database, $objectHandler);
115 $databaseObjectFactory = new DatabaseObjectFactory();
116 $databaseHandler = new DatabaseHandler($wordpress, $database, $databaseObjectFactory, $updateFactory);
117 $setupHandler = new SetupHandler(
118 $wordpress,
119 $database,
120 $databaseHandler,
121 $mainConfig,
122 $fileHandler
123 );
124 $objectInformationFactory = new ObjectInformationFactory();
125 $userGroupAssignmentHandler = new UserGroupAssignmentHandler(
126 $dateUtil,
127 $userHandler,
128 $userGroupHandler,
129 $userGroupFactory
130 );
131 $controllerFactory = new ControllerFactory(
132 $php,
133 $wordpress,
134 $database,
135 $wordpressConfig,
136 $mainConfig,
137 $util,
138 $dateUtil,
139 $cache,
140 $objectHandler,
141 $objectMapHandler,
142 $userHandler,
143 $userGroupHandler,
144 $userGroupFactory,
145 $userGroupAssignmentHandler,
146 $accessHandler,
147 $fileHandler,
148 $fileObjectFactory,
149 $setupHandler,
150 $formFactory,
151 $formHelper,
152 $objectInformationFactory
153 );
154 $widgetFactory = new WidgetFactory($php, $wordpress, $wordpressConfig);
155
156 $userAccessManager = new UserAccessManager(
157 $php,
158 $wordpress,
159 $util,
160 $cache,
161 $mainConfig,
162 $database,
163 $objectHandler,
164 $userHandler,
165 $userGroupHandler,
166 $accessHandler,
167 $fileHandler,
168 $setupHandler,
169 $userGroupFactory,
170 $membershipHandlerFactory,
171 $controllerFactory,
172 $widgetFactory,
173 $cacheProviderFactory,
174 $configFactory,
175 $configParameterFactory,
176 $fileProtectionFactory,
177 $fileObjectFactory
178 );
179
180 $wordpress->doAction('uam_init', [$userAccessManager]);
181
182 //install
183 if (function_exists('register_activation_hook') === true) {
184 register_activation_hook($file, [$setupHandler, 'install']);
185 }
186
187 //uninstall
188 if (function_exists('register_uninstall_hook')) {
189 function uninstallUserAccessManager()
190 {
191 $file = str_replace('init.php', 'user-access-manager.php', __FILE__);
192 $php = new Php();
193 $wordpress = new Wordpress();
194 $util = new Util($php);
195 $database = new Database($wordpress);
196 $configFactory = new ConfigFactory($wordpress);
197 $configParameterFactory = new ConfigParameterFactory();
198 $cacheProviderFactory = new CacheProviderFactory(
199 $php,
200 $wordpress,
201 $util,
202 $configFactory,
203 $configParameterFactory
204 );
205 $cache = new Cache($wordpress, $cacheProviderFactory);
206 $objectMapHandler = new ObjectMapHandler($database, $cache);
207 $assignmentInformationFactory = new AssignmentInformationFactory();
208 $membershipHandlerFactory = new ObjectMembershipHandlerFactory(
209 $php,
210 $wordpress,
211 $database,
212 $objectMapHandler,
213 $assignmentInformationFactory
214 );
215 $objectHandler = new ObjectHandler($php, $wordpress, $membershipHandlerFactory);
216 $wordpressConfig = new WordpressConfig($wordpress, $file);
217 $mainConfig = new MainConfig($wordpress, $objectHandler, $cache, $configParameterFactory);
218
219 $fileProtectionFactory = new FileProtectionFactory(
220 $php,
221 $wordpress,
222 $wordpressConfig,
223 $mainConfig,
224 $util
225 );
226 $fileHandler = new FileHandler(
227 $php,
228 $wordpress,
229 $wordpressConfig,
230 $mainConfig,
231 $fileProtectionFactory
232 );
233 $updateFactory = new UpdateFactory($database, $objectHandler);
234 $databaseObjectFactory = new DatabaseObjectFactory();
235 $databaseHandler = new DatabaseHandler($wordpress, $database, $databaseObjectFactory, $updateFactory);
236 $setupHandler = new SetupHandler(
237 $wordpress,
238 $database,
239 $databaseHandler,
240 $mainConfig,
241 $fileHandler
242 );
243
244 $setupHandler->uninstall();
245 }
246
247 register_uninstall_hook($file, 'uninstallUserAccessManager');
248 }
249
250 //deactivation
251 if (function_exists('register_deactivation_hook')) {
252 register_deactivation_hook($file, [$setupHandler, 'deactivate']);
253 }
254
255 $userAccessManager->addActionsAndFilters();
256
257 //Add the cli interface to the known commands
258 if (defined('WP_CLI') === true && WP_CLI === true) {
259 $cliWrapper = new WordpressCli();
260
261 $groupCommand = new GroupCommand($cliWrapper, $userGroupHandler, $userGroupFactory);
262 $objectCommand = new ObjectCommand($cliWrapper, $userGroupHandler);
263
264 try {
265 WP_CLI::add_command('uam groups', $groupCommand);
266 WP_CLI::add_command('uam objects', $objectCommand);
267 } catch (Exception $exception) {
268 // Do nothing
269 }
270 }
271
272 return $userAccessManager;
273 }
274