PluginProbe
User Access Manager / 2.3.16
User Access Manager v2.3.16
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.16, at init.php

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