PluginProbe
User Access Manager / 2.2.12
User Access Manager v2.2.12
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.12, at init.php

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