PluginProbe
User Access Manager / 2.1.5
User Access Manager v2.1.5
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.5, at init.php

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