PluginProbe
User Access Manager / 2.1.11
User Access Manager v2.1.11
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
← All changes | src/Controller/ControllerFactory.php +364 -73 2.3.20 → 2.1.11 View file →
@@ -1,8 +1,18 @@
1 1 <?php
2 -
3 -declare(strict_types=1);
4 -
2 +/**
3 + * ControllerFactory.php
4 + *
5 + * The ControllerFactory class file.
6 + *
7 + * PHP versions 5
8 + *
9 + * @author Alexander Schneider <[email protected]>
10 + * @copyright 2008-2017 Alexander Schneider
11 + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
12 + * @version SVN: $id$
13 + * @link http://wordpress.org/extend/plugins/user-access-manager/
14 + */
5 15 namespace UserAccessManager\Controller;
6 16
7 17 use UserAccessManager\Access\AccessHandler;
8 18 use UserAccessManager\Cache\Cache;
@@ -7,36 +17,36 @@
7 17 use UserAccessManager\Access\AccessHandler;
8 18 use UserAccessManager\Cache\Cache;
9 19 use UserAccessManager\Config\MainConfig;
10 20 use UserAccessManager\Config\WordpressConfig;
11 -use UserAccessManager\Controller\Backend\Administration\AboutController;
21 +use UserAccessManager\Controller\Backend\AboutController;
12 22 use UserAccessManager\Controller\Backend\BackendController;
13 23 use UserAccessManager\Controller\Backend\CacheController;
14 -use UserAccessManager\Controller\Backend\ObjectMembership\DynamicGroupsController;
15 -use UserAccessManager\Controller\Backend\ObjectMembership\ObjectController;
16 -use UserAccessManager\Controller\Backend\ObjectMembership\ObjectInformationFactory;
17 -use UserAccessManager\Controller\Backend\ObjectMembership\PostObjectController;
18 -use UserAccessManager\Controller\Backend\Administration\SettingsController;
19 -use UserAccessManager\Controller\Backend\Administration\SetupController;
20 -use UserAccessManager\Controller\Backend\ObjectMembership\TermObjectController;
21 -use UserAccessManager\Controller\Backend\Administration\UserGroupController;
22 -use UserAccessManager\Controller\Backend\ObjectMembership\UserObjectController;
24 +use UserAccessManager\Controller\Backend\DynamicGroupsController;
25 +use UserAccessManager\Controller\Backend\ObjectController;
26 +use UserAccessManager\Controller\Backend\ObjectInformationFactory;
27 +use UserAccessManager\Controller\Backend\PostObjectController;
28 +use UserAccessManager\Controller\Backend\SettingsController;
29 +use UserAccessManager\Controller\Backend\SetupController;
30 +use UserAccessManager\Controller\Backend\TermObjectController;
31 +use UserAccessManager\Controller\Backend\UserGroupController;
32 +use UserAccessManager\Controller\Backend\UserObjectController;
23 33 use UserAccessManager\Controller\Frontend\FrontendController;
24 -use UserAccessManager\Controller\Frontend\Content\PostController;
34 +use UserAccessManager\Controller\Frontend\PostController;
25 35 use UserAccessManager\Controller\Frontend\RedirectController;
26 -use UserAccessManager\Controller\Frontend\Authentication\ShortCodeController;
27 -use UserAccessManager\Controller\Frontend\Content\TermController;
36 +use UserAccessManager\Controller\Frontend\ShortCodeController;
37 +use UserAccessManager\Controller\Frontend\TermController;
28 38 use UserAccessManager\Database\Database;
29 39 use UserAccessManager\File\FileHandler;
30 -use UserAccessManager\File\Delivery\FileObjectFactory;
40 +use UserAccessManager\File\FileObjectFactory;
31 41 use UserAccessManager\Form\FormFactory;
32 42 use UserAccessManager\Form\FormHelper;
33 43 use UserAccessManager\Object\ObjectHandler;
34 44 use UserAccessManager\Object\ObjectMapHandler;
35 45 use UserAccessManager\Setup\SetupHandler;
36 -use UserAccessManager\User\UserHandler;
37 46 use UserAccessManager\UserGroup\UserGroupAssignmentHandler;
38 47 use UserAccessManager\UserGroup\UserGroupFactory;
48 +use UserAccessManager\User\UserHandler;
39 49 use UserAccessManager\UserGroup\UserGroupHandler;
40 50 use UserAccessManager\Util\DateUtil;
41 51 use UserAccessManager\Util\Util;
42 52 use UserAccessManager\Wrapper\Php;
@@ -41,36 +51,197 @@
41 51 use UserAccessManager\Util\Util;
42 52 use UserAccessManager\Wrapper\Php;
43 53 use UserAccessManager\Wrapper\Wordpress;
44 54
55 +/**
56 + * Class ControllerFactory
57 + *
58 + * @package UserAccessManager\Controller
59 + */
45 60 class ControllerFactory
46 61 {
62 + /**
63 + * @var Php
64 + */
65 + private $php;
66 +
67 + /**
68 + * @var Wordpress
69 + */
70 + private $wordpress;
71 +
72 + /**
73 + * @var Database
74 + */
75 + private $database;
76 +
77 + /**
78 + * @var WordpressConfig
79 + */
80 + private $wordpressConfig;
81 +
82 + /**
83 + * @var MainConfig
84 + */
85 + private $mainConfig;
86 +
87 + /**
88 + * @var Util
89 + */
90 + private $util;
91 +
92 + /**
93 + * @var DateUtil
94 + */
95 + private $dateUtil;
96 +
97 + /**
98 + * @var Cache
99 + */
100 + private $cache;
101 +
102 + /**
103 + * @var ObjectHandler
104 + */
105 + private $objectHandler;
106 +
107 + /**
108 + * @var ObjectMapHandler
109 + */
110 + private $objectMapHandler;
111 +
112 + /**
113 + * @var UserHandler
114 + */
115 + private $userHandler;
116 +
117 + /**
118 + * @var UserGroupHandler
119 + */
120 + private $userGroupHandler;
121 +
122 + /**
123 + * @var UserGroupFactory
124 + */
125 + private $userGroupFactory;
126 +
127 + /**
128 + * @var UserGroupAssignmentHandler
129 + */
130 + private $userGroupAssignmentHandler;
131 +
132 + /**
133 + * @var AccessHandler
134 + */
135 + private $accessHandler;
136 +
137 + /**
138 + * @var FileHandler
139 + */
140 + private $fileHandler;
141 +
142 + /**
143 + * @var FileObjectFactory
144 + */
145 + private $fileObjectFactory;
146 +
147 + /**
148 + * @var SetupHandler
149 + */
150 + private $setupHandler;
151 +
152 + /**
153 + * @var FormFactory
154 + */
155 + private $formFactory;
156 +
157 + /**
158 + * @var FormHelper
159 + */
160 + private $formHelper;
161 +
162 + /**
163 + * @var ObjectInformationFactory
164 + */
165 + private $objectInformationFactory;
166 +
167 + /**
168 + * ControllerFactory constructor.
169 + *
170 + * @param Php $php
171 + * @param Wordpress $wordpress
172 + * @param Database $database
173 + * @param WordpressConfig $wordpressConfig
174 + * @param MainConfig $mainConfig
175 + * @param Util $util
176 + * @param DateUtil $dateUtil
177 + * @param Cache $cache
178 + * @param ObjectHandler $objectHandler
179 + * @param ObjectMapHandler $objectMapHandler
180 + * @param UserHandler $userHandler
181 + * @param UserGroupHandler $userGroupHandler
182 + * @param UserGroupFactory $userGroupFactory
183 + * @param UserGroupAssignmentHandler $userGroupAssignmentHandler
184 + * @param AccessHandler $accessHandler
185 + * @param FileHandler $fileHandler
186 + * @param FileObjectFactory $fileObjectFactory
187 + * @param SetupHandler $setupHandler
188 + * @param FormFactory $formFactory
189 + * @param FormHelper $formHelper
190 + * @param ObjectInformationFactory $objectInformationFactory
191 + */
47 192 public function __construct(
48 - private Php $php,
49 - private Wordpress $wordpress,
50 - private Database $database,
51 - private WordpressConfig $wordpressConfig,
52 - private MainConfig $mainConfig,
53 - private Util $util,
54 - private DateUtil $dateUtil,
55 - private Cache $cache,
56 - private ObjectHandler $objectHandler,
57 - private ObjectMapHandler $objectMapHandler,
58 - private UserHandler $userHandler,
59 - private UserGroupHandler $userGroupHandler,
60 - private UserGroupFactory $userGroupFactory,
61 - private UserGroupAssignmentHandler $userGroupAssignmentHandler,
62 - private AccessHandler $accessHandler,
63 - private FileHandler $fileHandler,
64 - private FileObjectFactory $fileObjectFactory,
65 - private SetupHandler $setupHandler,
66 - private FormFactory $formFactory,
67 - private FormHelper $formHelper,
68 - private ObjectInformationFactory $objectInformationFactory
193 + Php $php,
194 + Wordpress $wordpress,
195 + Database $database,
196 + WordpressConfig $wordpressConfig,
197 + MainConfig $mainConfig,
198 + Util $util,
199 + DateUtil $dateUtil,
200 + Cache $cache,
201 + ObjectHandler $objectHandler,
202 + ObjectMapHandler $objectMapHandler,
203 + UserHandler $userHandler,
204 + UserGroupHandler $userGroupHandler,
205 + UserGroupFactory $userGroupFactory,
206 + UserGroupAssignmentHandler $userGroupAssignmentHandler,
207 + AccessHandler $accessHandler,
208 + FileHandler $fileHandler,
209 + FileObjectFactory $fileObjectFactory,
210 + SetupHandler $setupHandler,
211 + FormFactory $formFactory,
212 + FormHelper $formHelper,
213 + ObjectInformationFactory $objectInformationFactory
69 214 ) {
215 + $this->php = $php;
216 + $this->wordpress = $wordpress;
217 + $this->database = $database;
218 + $this->wordpressConfig = $wordpressConfig;
219 + $this->mainConfig = $mainConfig;
220 + $this->util = $util;
221 + $this->dateUtil = $dateUtil;
222 + $this->cache = $cache;
223 + $this->objectHandler = $objectHandler;
224 + $this->objectMapHandler = $objectMapHandler;
225 + $this->userHandler = $userHandler;
226 + $this->userGroupHandler = $userGroupHandler;
227 + $this->userGroupFactory = $userGroupFactory;
228 + $this->userGroupAssignmentHandler = $userGroupAssignmentHandler;
229 + $this->accessHandler = $accessHandler;
230 + $this->fileHandler = $fileHandler;
231 + $this->fileObjectFactory = $fileObjectFactory;
232 + $this->setupHandler = $setupHandler;
233 + $this->formFactory = $formFactory;
234 + $this->formHelper = $formHelper;
235 + $this->objectInformationFactory = $objectInformationFactory;
70 236 }
71 237
72 - public function createBackendController(): BackendController
238 + /**
239 + * Creates and returns a new backend controller.
240 + *
241 + * @return BackendController
242 + */
243 + public function createBackendController()
73 244 {
74 245 return new BackendController(
75 246 $this->php,
76 247 $this->wordpress,
@@ -75,13 +246,19 @@
75 246 $this->php,
76 247 $this->wordpress,
77 248 $this->wordpressConfig,
78 249 $this->userHandler,
250 + $this->fileHandler,
79 251 $this->setupHandler
80 252 );
81 253 }
82 254
83 - public function createBackendAboutController(): AboutController
255 + /**
256 + * Creates and returns a new backend about controller.
257 + *
258 + * @return AboutController
259 + */
260 + public function createBackendAboutController()
84 261 {
85 262 return new AboutController(
86 263 $this->php,
87 264 $this->wordpress,
@@ -89,15 +266,15 @@
89 266 );
90 267 }
91 268
92 269 /**
93 - * @template TController of ObjectController
94 - * @param class-string<TController> $controllerClass
95 - * @return TController
270 + * Creates and returns a new backend object controller.
271 + *
272 + * @return ObjectController
96 273 */
97 - private function createObjectController(string $controllerClass): ObjectController
274 + public function createBackendObjectController()
98 275 {
99 - return new $controllerClass(
276 + return new ObjectController(
100 277 $this->php,
101 278 $this->wordpress,
102 279 $this->wordpressConfig,
103 280 $this->mainConfig,
@@ -111,40 +288,119 @@
111 288 $this->objectInformationFactory
112 289 );
113 290 }
114 291
115 - public function createBackendObjectController(): ObjectController
292 + /**
293 + * Creates and returns a new backend cache controller.
294 + *
295 + * @return CacheController
296 + */
297 + public function createBackendCacheController()
116 298 {
117 - return $this->createObjectController(ObjectController::class);
299 + return new CacheController(
300 + $this->cache
301 + );
118 302 }
119 303
120 - public function createBackendCacheController(): CacheController
304 + /**
305 + * Creates and returns a new backend post object controller.
306 + *
307 + * @return PostObjectController
308 + */
309 + public function createBackendPostObjectController()
121 310 {
122 - return new CacheController($this->cache);
311 + return new PostObjectController(
312 + $this->php,
313 + $this->wordpress,
314 + $this->wordpressConfig,
315 + $this->mainConfig,
316 + $this->database,
317 + $this->dateUtil,
318 + $this->objectHandler,
319 + $this->userHandler,
320 + $this->userGroupHandler,
321 + $this->userGroupAssignmentHandler,
322 + $this->accessHandler,
323 + $this->objectInformationFactory
324 + );
123 325 }
124 326
125 - public function createBackendPostObjectController(): PostObjectController
327 + /**
328 + * Creates and returns a new backend term object controller.
329 + *
330 + * @return TermObjectController
331 + */
332 + public function createBackendTermObjectController()
126 333 {
127 - return $this->createObjectController(PostObjectController::class);
334 + return new TermObjectController(
335 + $this->php,
336 + $this->wordpress,
337 + $this->wordpressConfig,
338 + $this->mainConfig,
339 + $this->database,
340 + $this->dateUtil,
341 + $this->objectHandler,
342 + $this->userHandler,
343 + $this->userGroupHandler,
344 + $this->userGroupAssignmentHandler,
345 + $this->accessHandler,
346 + $this->objectInformationFactory
347 + );
128 348 }
129 349
130 - public function createBackendTermObjectController(): TermObjectController
350 + /**
351 + * Creates and returns a new backend user object controller.
352 + *
353 + * @return UserObjectController
354 + */
355 + public function createBackendUserObjectController()
131 356 {
132 - return $this->createObjectController(TermObjectController::class);
357 + return new UserObjectController(
358 + $this->php,
359 + $this->wordpress,
360 + $this->wordpressConfig,
361 + $this->mainConfig,
362 + $this->database,
363 + $this->dateUtil,
364 + $this->objectHandler,
365 + $this->userHandler,
366 + $this->userGroupHandler,
367 + $this->userGroupAssignmentHandler,
368 + $this->accessHandler,
369 + $this->objectInformationFactory
370 + );
133 371 }
134 372
135 - public function createBackendUserObjectController(): UserObjectController
373 + /**
374 + * Creates and returns a new backend dynamic group controller.
375 + *
376 + * @return DynamicGroupsController
377 + */
378 + public function createBackendDynamicGroupsController()
136 379 {
137 - return $this->createObjectController(UserObjectController::class);
380 + return new DynamicGroupsController(
381 + $this->php,
382 + $this->wordpress,
383 + $this->wordpressConfig,
384 + $this->mainConfig,
385 + $this->database,
386 + $this->dateUtil,
387 + $this->objectHandler,
388 + $this->userHandler,
389 + $this->userGroupHandler,
390 + $this->userGroupAssignmentHandler,
391 + $this->accessHandler,
392 + $this->objectInformationFactory
393 + );
138 394 }
139 395
140 - public function createBackendDynamicGroupsController(): DynamicGroupsController
396 + /**
397 + * Creates and returns a new backend setup controller.
398 + *
399 + * @return SettingsController
400 + */
401 + public function createBackendSettingsController()
141 402 {
142 - return $this->createObjectController(DynamicGroupsController::class);
143 - }
144 -
145 - public function createBackendSettingsController(): SettingsController
146 - {
147 403 return new SettingsController(
148 404 $this->php,
149 405 $this->wordpress,
150 406 $this->wordpressConfig,
@@ -155,9 +411,14 @@
155 411 $this->formHelper
156 412 );
157 413 }
158 414
159 - public function createBackendSetupController(): SetupController
415 + /**
416 + * Creates and returns a new backend setup controller.
417 + *
418 + * @return SetupController
419 + */
420 + public function createBackendSetupController()
160 421 {
161 422 return new SetupController(
162 423 $this->php,
163 424 $this->wordpress,
@@ -166,9 +427,14 @@
166 427 $this->setupHandler
167 428 );
168 429 }
169 430
170 - public function createBackendUserGroupController(): UserGroupController
431 + /**
432 + * Creates and returns a new backend user group controller.
433 + *
434 + * @return UserGroupController
435 + */
436 + public function createBackendUserGroupController()
171 437 {
172 438 return new UserGroupController(
173 439 $this->php,
174 440 $this->wordpress,
@@ -178,9 +444,14 @@
178 444 $this->formHelper
179 445 );
180 446 }
181 447
182 - public function createFrontendController(): FrontendController
448 + /**
449 + * Creates and returns a new frontend controller.
450 + *
451 + * @return FrontendController
452 + */
453 + public function createFrontendController()
183 454 {
184 455 return new FrontendController(
185 456 $this->php,
186 457 $this->wordpress,
@@ -189,9 +460,14 @@
189 460 $this->accessHandler
190 461 );
191 462 }
192 463
193 - public function createFrontendPostController(): PostController
464 + /**
465 + * Creates and returns a new frontend post controller.
466 + *
467 + * @return PostController
468 + */
469 + public function createFrontendPostController()
194 470 {
195 471 return new PostController(
196 472 $this->php,
197 473 $this->wordpress,
@@ -196,18 +472,23 @@
196 472 $this->php,
197 473 $this->wordpress,
198 474 $this->wordpressConfig,
199 475 $this->mainConfig,
476 + $this->database,
200 477 $this->util,
201 478 $this->objectHandler,
202 479 $this->userHandler,
203 480 $this->userGroupHandler,
204 - $this->accessHandler,
205 - $this->database
481 + $this->accessHandler
206 482 );
207 483 }
208 484
209 - public function createFrontendRedirectController(): RedirectController
485 + /**
486 + * Creates and returns a new frontend redirect controller.
487 + *
488 + * @return RedirectController
489 + */
490 + public function createFrontendRedirectController()
210 491 {
211 492 return new RedirectController(
212 493 $this->php,
213 494 $this->wordpress,
@@ -222,9 +503,14 @@
222 503 $this->fileObjectFactory
223 504 );
224 505 }
225 506
226 - public function createFrontendShortCodeController(): ShortCodeController
507 + /**
508 + * Creates and returns a new frontend short code controller.
509 + *
510 + * @return ShortCodeController
511 + */
512 + public function createFrontendShortCodeController()
227 513 {
228 514 return new ShortCodeController(
229 515 $this->php,
230 516 $this->wordpress,
@@ -232,9 +518,14 @@
232 518 $this->userGroupHandler
233 519 );
234 520 }
235 521
236 - public function createFrontendTermController(): TermController
522 + /**
523 + * Creates and returns a new frontend term controller.
524 + *
525 + * @return TermController
526 + */
527 + public function createFrontendTermController()
237 528 {
238 529 return new TermController(
239 530 $this->php,
240 531 $this->wordpress,
@@ -241,11 +532,11 @@
241 532 $this->wordpressConfig,
242 533 $this->mainConfig,
243 534 $this->util,
244 535 $this->objectHandler,
536 + $this->objectMapHandler,
245 537 $this->userHandler,
246 538 $this->userGroupHandler,
247 - $this->accessHandler,
248 - $this->objectMapHandler
539 + $this->accessHandler
249 540 );
250 541 }
251 542 }