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

254 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 $accessHandler,
151 $fileHandler,
152 $setupHandler,
153 $userGroupFactory,
154 $membershipHandlerFactory,
155 $controllerFactory,
156 $widgetFactory,
157 $cacheProviderFactory,
158 $configFactory,
159 $configParameterFactory,
160 $fileProtectionFactory,
161 $fileObjectFactory
162 );
163
164 $wordpress->doAction('uam_init', [$userAccessManager]);
165
166 //install
167 if (function_exists('register_activation_hook') === true) {
168 register_activation_hook($file, [$setupHandler, 'install']);
169 }
170
171 //uninstall
172 if (function_exists('register_uninstall_hook')) {
173 function uninstallUserAccessManager()
174 {
175 $file = str_replace('init.php', 'user-access-manager.php', __FILE__);
176 $php = new Php();
177 $wordpress = new Wordpress();
178 $util = new Util($php);
179 $database = new Database($wordpress);
180 $configFactory = new ConfigFactory($wordpress);
181 $configParameterFactory = new ConfigParameterFactory();
182 $cacheProviderFactory = new CacheProviderFactory(
183 $php,
184 $wordpress,
185 $util,
186 $configFactory,
187 $configParameterFactory
188 );
189 $cache = new Cache($wordpress, $cacheProviderFactory);
190 $objectMapHandler = new ObjectMapHandler($database, $cache);
191 $assignmentInformationFactory = new AssignmentInformationFactory();
192 $membershipHandlerFactory = new ObjectMembershipHandlerFactory(
193 $php,
194 $wordpress,
195 $database,
196 $objectMapHandler,
197 $assignmentInformationFactory
198 );
199 $objectHandler = new ObjectHandler($php, $wordpress, $membershipHandlerFactory);
200 $wordpressConfig = new WordpressConfig($wordpress, $file);
201 $mainConfig = new MainConfig($wordpress, $objectHandler, $cache, $configParameterFactory);
202
203 $fileProtectionFactory = new FileProtectionFactory(
204 $php,
205 $wordpress,
206 $wordpressConfig,
207 $mainConfig,
208 $util
209 );
210 $fileHandler = new FileHandler(
211 $php,
212 $wordpress,
213 $wordpressConfig,
214 $mainConfig,
215 $fileProtectionFactory
216 );
217 $updateFactory = new UpdateFactory($database, $objectHandler);
218 $databaseObjectFactory = new DatabaseObjectFactory();
219 $databaseHandler = new DatabaseHandler($wordpress, $database, $databaseObjectFactory, $updateFactory);
220 $setupHandler = new SetupHandler(
221 $wordpress,
222 $database,
223 $databaseHandler,
224 $mainConfig,
225 $fileHandler
226 );
227
228 $setupHandler->uninstall();
229 }
230
231 register_uninstall_hook($file, 'uninstallUserAccessManager');
232 }
233
234 //deactivation
235 if (function_exists('register_deactivation_hook')) {
236 register_deactivation_hook($file, [$setupHandler, 'deactivate']);
237 }
238
239 $userAccessManager->addActionsAndFilters();
240
241 //Add the cli interface to the known commands
242 if (defined('WP_CLI') === true && WP_CLI === true) {
243 $cliWrapper = new \UserAccessManager\Wrapper\WordpressCli();
244
245 $groupCommand = new \UserAccessManager\Command\GroupCommand($cliWrapper, $userGroupHandler, $userGroupFactory);
246 \WP_CLI::add_command('uam groups', $groupCommand);
247
248 $objectCommand = new \UserAccessManager\Command\ObjectCommand($cliWrapper, $userGroupHandler);
249 \WP_CLI::add_command('uam objects', $objectCommand);
250 }
251
252 return $userAccessManager;
253 }
254