PluginProbe
User Access Manager / trunk
User Access Manager vtrunk
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 trunk, at init.php

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