PluginProbe
User Access Manager / 2.2.25
User Access Manager v2.2.25
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.2.25, at init.php

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