PluginProbe
User Access Manager / trunk
User Access Manager vtrunk
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 +31 -75 2.3.16trunk View file →
@@ -7,28 +7,28 @@
7 7 use UserAccessManager\Access\AccessHandler;
8 8 use UserAccessManager\Cache\Cache;
9 9 use UserAccessManager\Config\MainConfig;
10 10 use UserAccessManager\Config\WordpressConfig;
11 -use UserAccessManager\Controller\Backend\AboutController;
11 +use UserAccessManager\Controller\Backend\Administration\AboutController;
12 12 use UserAccessManager\Controller\Backend\BackendController;
13 13 use UserAccessManager\Controller\Backend\CacheController;
14 -use UserAccessManager\Controller\Backend\DynamicGroupsController;
15 -use UserAccessManager\Controller\Backend\ObjectController;
16 -use UserAccessManager\Controller\Backend\ObjectInformationFactory;
17 -use UserAccessManager\Controller\Backend\PostObjectController;
18 -use UserAccessManager\Controller\Backend\SettingsController;
19 -use UserAccessManager\Controller\Backend\SetupController;
20 -use UserAccessManager\Controller\Backend\TermObjectController;
21 -use UserAccessManager\Controller\Backend\UserGroupController;
22 -use UserAccessManager\Controller\Backend\UserObjectController;
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;
23 23 use UserAccessManager\Controller\Frontend\FrontendController;
24 -use UserAccessManager\Controller\Frontend\PostController;
24 +use UserAccessManager\Controller\Frontend\Content\PostController;
25 25 use UserAccessManager\Controller\Frontend\RedirectController;
26 -use UserAccessManager\Controller\Frontend\ShortCodeController;
27 -use UserAccessManager\Controller\Frontend\TermController;
26 +use UserAccessManager\Controller\Frontend\Authentication\ShortCodeController;
27 +use UserAccessManager\Controller\Frontend\Content\TermController;
28 28 use UserAccessManager\Database\Database;
29 29 use UserAccessManager\File\FileHandler;
30 -use UserAccessManager\File\FileObjectFactory;
30 +use UserAccessManager\File\Delivery\FileObjectFactory;
31 31 use UserAccessManager\Form\FormFactory;
32 32 use UserAccessManager\Form\FormHelper;
33 33 use UserAccessManager\Object\ObjectHandler;
34 34 use UserAccessManager\Object\ObjectMapHandler;
@@ -88,11 +88,16 @@
88 88 $this->wordpressConfig
89 89 );
90 90 }
91 91
92 - public function createBackendObjectController(): ObjectController
92 + /**
93 + * @template TController of ObjectController
94 + * @param class-string<TController> $controllerClass
95 + * @return TController
96 + */
97 + private function createObjectController(string $controllerClass): ObjectController
93 98 {
94 - return new ObjectController(
99 + return new $controllerClass(
95 100 $this->php,
96 101 $this->wordpress,
97 102 $this->wordpressConfig,
98 103 $this->mainConfig,
@@ -106,85 +111,36 @@
106 111 $this->objectInformationFactory
107 112 );
108 113 }
109 114
115 + public function createBackendObjectController(): ObjectController
116 + {
117 + return $this->createObjectController(ObjectController::class);
118 + }
119 +
110 120 public function createBackendCacheController(): CacheController
111 121 {
112 - return new CacheController(
113 - $this->cache
114 - );
122 + return new CacheController($this->cache);
115 123 }
116 124
117 125 public function createBackendPostObjectController(): PostObjectController
118 126 {
119 - return new PostObjectController(
120 - $this->php,
121 - $this->wordpress,
122 - $this->wordpressConfig,
123 - $this->mainConfig,
124 - $this->database,
125 - $this->dateUtil,
126 - $this->objectHandler,
127 - $this->userHandler,
128 - $this->userGroupHandler,
129 - $this->userGroupAssignmentHandler,
130 - $this->accessHandler,
131 - $this->objectInformationFactory
132 - );
127 + return $this->createObjectController(PostObjectController::class);
133 128 }
134 129
135 130 public function createBackendTermObjectController(): TermObjectController
136 131 {
137 - return new TermObjectController(
138 - $this->php,
139 - $this->wordpress,
140 - $this->wordpressConfig,
141 - $this->mainConfig,
142 - $this->database,
143 - $this->dateUtil,
144 - $this->objectHandler,
145 - $this->userHandler,
146 - $this->userGroupHandler,
147 - $this->userGroupAssignmentHandler,
148 - $this->accessHandler,
149 - $this->objectInformationFactory
150 - );
132 + return $this->createObjectController(TermObjectController::class);
151 133 }
152 134
153 135 public function createBackendUserObjectController(): UserObjectController
154 136 {
155 - return new UserObjectController(
156 - $this->php,
157 - $this->wordpress,
158 - $this->wordpressConfig,
159 - $this->mainConfig,
160 - $this->database,
161 - $this->dateUtil,
162 - $this->objectHandler,
163 - $this->userHandler,
164 - $this->userGroupHandler,
165 - $this->userGroupAssignmentHandler,
166 - $this->accessHandler,
167 - $this->objectInformationFactory
168 - );
137 + return $this->createObjectController(UserObjectController::class);
169 138 }
170 139
171 140 public function createBackendDynamicGroupsController(): DynamicGroupsController
172 141 {
173 - return new DynamicGroupsController(
174 - $this->php,
175 - $this->wordpress,
176 - $this->wordpressConfig,
177 - $this->mainConfig,
178 - $this->database,
179 - $this->dateUtil,
180 - $this->objectHandler,
181 - $this->userHandler,
182 - $this->userGroupHandler,
183 - $this->userGroupAssignmentHandler,
184 - $this->accessHandler,
185 - $this->objectInformationFactory
186 - );
142 + return $this->createObjectController(DynamicGroupsController::class);
187 143 }
188 144
189 145 public function createBackendSettingsController(): SettingsController
190 146 {