PluginProbe
User Access Manager / 2.0.3
User Access Manager v2.0.3
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 / src / UserAccessManager / Controller / ControllerFactory.php

ControllerFactory.php in User Access Manager 2.0.3, at src/UserAccessManager/Controller/ControllerFactory.php

257 lines 6.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * ControllerFactory.php
4 *
5 * The ControllerFactory class file.
6 *
7 * PHP versions 5
8 *
9 * @author Alexander Schneider <alexanderschneider85@gmail.com>
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 */
15 namespace UserAccessManager\Controller;
16
17 use UserAccessManager\AccessHandler\AccessHandler;
18 use UserAccessManager\Cache\Cache;
19 use UserAccessManager\Config\Config;
20 use UserAccessManager\Database\Database;
21 use UserAccessManager\FileHandler\FileHandler;
22 use UserAccessManager\FileHandler\FileObjectFactory;
23 use UserAccessManager\ObjectHandler\ObjectHandler;
24 use UserAccessManager\SetupHandler\SetupHandler;
25 use UserAccessManager\UserGroup\UserGroupFactory;
26 use UserAccessManager\Util\Util;
27 use UserAccessManager\Wrapper\Php;
28 use UserAccessManager\Wrapper\Wordpress;
29
30 /**
31 * Class ControllerFactory
32 *
33 * @package UserAccessManager\Controller
34 */
35 class ControllerFactory
36 {
37 /**
38 * @var Php
39 */
40 private $php;
41
42 /**
43 * @var Wordpress
44 */
45 private $wordpress;
46
47 /**
48 * @var Database
49 */
50 private $database;
51
52 /**
53 * @var Config
54 */
55 private $config;
56
57 /**
58 * @var Util
59 */
60 private $util;
61
62 /**
63 * @var Cache
64 */
65 private $cache;
66
67 /**
68 * @var ObjectHandler
69 */
70 private $objectHandler;
71
72 /**
73 * @var AccessHandler
74 */
75 private $accessHandler;
76
77 /**
78 * @var UserGroupFactory
79 */
80 private $userGroupFactory;
81
82 /**
83 * @var FileHandler
84 */
85 private $fileHandler;
86
87 /**
88 * @var FileObjectFactory
89 */
90 private $fileObjectFactory;
91
92 /**
93 * @var SetupHandler
94 */
95 private $setupHandler;
96
97 /**
98 * ControllerFactory constructor.
99 *
100 * @param Php $php
101 * @param Wordpress $wordpress
102 * @param Database $database
103 * @param Config $config
104 * @param Util $util
105 * @param Cache $cache
106 * @param ObjectHandler $objectHandler
107 * @param AccessHandler $accessHandler
108 * @param UserGroupFactory $userGroupFactory
109 * @param FileHandler $fileHandler
110 * @param FileObjectFactory $fileObjectFactory
111 * @param SetupHandler $setupHandler
112 */
113 public function __construct(
114 Php $php,
115 Wordpress $wordpress,
116 Database $database,
117 Config $config,
118 Util $util,
119 Cache $cache,
120 ObjectHandler $objectHandler,
121 AccessHandler $accessHandler,
122 UserGroupFactory $userGroupFactory,
123 FileHandler $fileHandler,
124 FileObjectFactory $fileObjectFactory,
125 SetupHandler $setupHandler
126 ) {
127 $this->php = $php;
128 $this->wordpress = $wordpress;
129 $this->database = $database;
130 $this->config = $config;
131 $this->util = $util;
132 $this->cache = $cache;
133 $this->objectHandler = $objectHandler;
134 $this->accessHandler = $accessHandler;
135 $this->userGroupFactory = $userGroupFactory;
136 $this->fileHandler = $fileHandler;
137 $this->fileObjectFactory = $fileObjectFactory;
138 $this->setupHandler = $setupHandler;
139 }
140
141 /**
142 * Creates and returns a new admin controller.
143 *
144 * @return AdminController
145 */
146 public function createAdminController()
147 {
148 return new AdminController(
149 $this->php,
150 $this->wordpress,
151 $this->config,
152 $this->accessHandler,
153 $this->fileHandler
154 );
155 }
156
157 /**
158 * Creates and returns a new admin about controller.
159 *
160 * @return AdminAboutController
161 */
162 public function createAdminAboutController()
163 {
164 return new AdminAboutController(
165 $this->php,
166 $this->wordpress,
167 $this->config
168 );
169 }
170
171 /**
172 * Creates and returns a new admin about controller.
173 *
174 * @return AdminObjectController
175 */
176 public function createAdminObjectController()
177 {
178 return new AdminObjectController(
179 $this->php,
180 $this->wordpress,
181 $this->config,
182 $this->database,
183 $this->objectHandler,
184 $this->accessHandler
185 );
186 }
187
188 /**
189 * Creates and returns a new admin setup controller.
190 *
191 * @return AdminSettingsController
192 */
193 public function createAdminSettingsController()
194 {
195 return new AdminSettingsController(
196 $this->php,
197 $this->wordpress,
198 $this->config,
199 $this->objectHandler,
200 $this->fileHandler
201 );
202 }
203
204 /**
205 * Creates and returns a new admin setup controller.
206 *
207 * @return AdminSetupController
208 */
209 public function createAdminSetupController()
210 {
211 return new AdminSetupController(
212 $this->php,
213 $this->wordpress,
214 $this->config,
215 $this->database,
216 $this->setupHandler
217 );
218 }
219
220 /**
221 * Creates and returns a new admin user group controller.
222 *
223 * @return AdminUserGroupController
224 */
225 public function createAdminUserGroupController()
226 {
227 return new AdminUserGroupController(
228 $this->php,
229 $this->wordpress,
230 $this->config,
231 $this->accessHandler,
232 $this->userGroupFactory
233 );
234 }
235
236 /**
237 * Creates and returns a new frontend controller.
238 *
239 * @return FrontendController
240 */
241 public function createFrontendController()
242 {
243 return new FrontendController(
244 $this->php,
245 $this->wordpress,
246 $this->config,
247 $this->database,
248 $this->util,
249 $this->cache,
250 $this->objectHandler,
251 $this->accessHandler,
252 $this->fileHandler,
253 $this->fileObjectFactory
254 );
255 }
256 }
257