PluginProbe
User Access Manager / 2.1.1
User Access Manager v2.1.1
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.1, at init.php

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