PluginProbe
User Access Manager / 2.1.9
User Access Manager v2.1.9
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 / ObjectMembership / ObjectMembershipHandlerFactory.php

ObjectMembershipHandlerFactory.php in User Access Manager 2.1.9, at src/ObjectMembership/ObjectMembershipHandlerFactory.php

140 lines 3.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * MembershipHandlerFactory.php
4 *
5 * The MembershipHandlerFactory 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\ObjectMembership;
16
17 use UserAccessManager\Database\Database;
18 use UserAccessManager\Object\ObjectHandler;
19 use UserAccessManager\Object\ObjectMapHandler;
20 use UserAccessManager\UserGroup\AssignmentInformationFactory;
21 use UserAccessManager\Wrapper\Php;
22 use UserAccessManager\Wrapper\Wordpress;
23
24 /**
25 * Class MembershipHandlerFactory
26 *
27 * @package UserAccessManager\UserGroup
28 */
29 class ObjectMembershipHandlerFactory
30 {
31 /**
32 * @var Php
33 */
34 private $php;
35
36 /**
37 * @var Wordpress
38 */
39 private $wordpress;
40
41 /**
42 * @var Database
43 */
44 private $database;
45
46 /**
47 * @var ObjectMapHandler
48 */
49 private $objectMapHandler;
50
51 /**
52 * @var AssignmentInformationFactory
53 */
54 private $assignmentInformationFactory;
55
56 /**
57 * MembershipHandlerFactory constructor.
58 *
59 * @param Php $php
60 * @param Wordpress $wordpress
61 * @param Database $database
62 * @param ObjectMapHandler $objectMapHandler
63 * @param AssignmentInformationFactory $assignmentInformationFactory
64 */
65 public function __construct(
66 Php $php,
67 Wordpress $wordpress,
68 Database $database,
69 ObjectMapHandler $objectMapHandler,
70 AssignmentInformationFactory $assignmentInformationFactory
71 ) {
72 $this->php = $php;
73 $this->wordpress = $wordpress;
74 $this->database = $database;
75 $this->objectMapHandler = $objectMapHandler;
76 $this->assignmentInformationFactory = $assignmentInformationFactory;
77 }
78
79 /**
80 * Creates a PostMembershipHandler object.
81 *
82 * @param ObjectHandler $objectHandler
83 *
84 * @return PostMembershipHandler
85 */
86 public function createPostMembershipHandler(ObjectHandler $objectHandler)
87 {
88 return new PostMembershipHandler(
89 $this->assignmentInformationFactory,
90 $this->wordpress,
91 $objectHandler,
92 $this->objectMapHandler
93 );
94 }
95
96 /**
97 * Creates a RoleMembershipHandler object.
98 *
99 * @return RoleMembershipHandler
100 */
101 public function createRoleMembershipHandler()
102 {
103 return new RoleMembershipHandler($this->assignmentInformationFactory, $this->wordpress);
104 }
105
106 /**
107 * Creates a TermMembershipHandler object.
108 *
109 * @param ObjectHandler $objectHandler
110 *
111 * @return TermMembershipHandler
112 */
113 public function createTermMembershipHandler(ObjectHandler $objectHandler)
114 {
115 return new TermMembershipHandler(
116 $this->assignmentInformationFactory,
117 $this->wordpress,
118 $objectHandler,
119 $this->objectMapHandler
120 );
121 }
122
123 /**
124 * Creates an UserMembershipHandler object.
125 *
126 * @param ObjectHandler $objectHandler
127 *
128 * @return UserMembershipHandler
129 */
130 public function createUserMembershipHandler(ObjectHandler $objectHandler)
131 {
132 return new UserMembershipHandler(
133 $this->assignmentInformationFactory,
134 $this->php,
135 $this->database,
136 $objectHandler
137 );
138 }
139 }
140