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

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