PluginProbe
User Access Manager / 2.2.3
User Access Manager v2.2.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
← All changes | src/ObjectMembership/UserMembershipHandler.php +73 -6 2.3.132.2.3 View file →
@@ -1,5 +1,18 @@
1 1 <?php
2 +/**
3 + * UserMembershipHandler.php
4 + *
5 + * The UserMembershipHandler 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 + */
2 15
3 16 declare(strict_types=1);
4 17
5 18 namespace UserAccessManager\ObjectMembership;
@@ -11,22 +24,63 @@
11 24 use UserAccessManager\UserGroup\AssignmentInformation;
12 25 use UserAccessManager\UserGroup\AssignmentInformationFactory;
13 26 use UserAccessManager\Wrapper\Php;
14 27
28 +/**
29 + * Class UserMembershipHandler
30 + *
31 + * @package UserAccessManager\UserGroup
32 + */
15 33 class UserMembershipHandler extends ObjectMembershipHandler
16 34 {
17 - protected ?string $generalObjectType = ObjectHandler::GENERAL_USER_OBJECT_TYPE;
35 + /**
36 + * @var string
37 + */
38 + protected $generalObjectType = ObjectHandler::GENERAL_USER_OBJECT_TYPE;
18 39
40 + /**
41 + * @var Php
42 + */
43 + private $php;
44 +
45 + /**
46 + * @var ObjectHandler
47 + */
48 + private $objectHandler;
49 +
50 + /**
51 + * @var Database
52 + */
53 + private $database;
54 +
55 + /**
56 + * UserMembershipHandler constructor.
57 + * @param AssignmentInformationFactory $assignmentInformationFactory
58 + * @param Php $php
59 + * @param Database $database
60 + * @param ObjectHandler $objectHandler
61 + * @throws Exception
62 + */
19 63 public function __construct(
20 64 AssignmentInformationFactory $assignmentInformationFactory,
21 - private Php $php,
22 - private Database $database,
23 - private ObjectHandler $objectHandler
65 + Php $php,
66 + Database $database,
67 + ObjectHandler $objectHandler
24 68 ) {
25 69 parent::__construct($assignmentInformationFactory);
70 +
71 + $this->php = $php;
72 + $this->database = $database;
73 + $this->objectHandler = $objectHandler;
26 74 }
27 75
28 - public function getObjectName(int|string|null $objectId, string &$typeName = ''): int|string
76 + /**
77 + * Returns the object and type name.
78 + * @param int|string $objectId
79 + * @param string $typeName
80 + * @return int|string
81 + */
82 + public function getObjectName($objectId, &$typeName = '')
29 83 {
30 84 $typeName = $this->generalObjectType;
31 85 $user = $this->objectHandler->getUser($objectId);
32 86 return ($user !== false) ? $user->display_name : $objectId;
@@ -31,12 +85,20 @@
31 85 $user = $this->objectHandler->getUser($objectId);
32 86 return ($user !== false) ? $user->display_name : $objectId;
33 87 }
34 88
89 + /**
90 + * Checks if the user is a member of the user group.
91 + * @param AbstractUserGroup $userGroup
92 + * @param bool $lockRecursive
93 + * @param int|string $objectId
94 + * @param null|AssignmentInformation $assignmentInformation
95 + * @return bool
96 + */
35 97 public function isMember(
36 98 AbstractUserGroup $userGroup,
37 99 bool $lockRecursive,
38 - int|string|null $objectId,
100 + $objectId,
39 101 ?AssignmentInformation &$assignmentInformation = null
40 102 ): bool {
41 103 $assignmentInformation = null;
42 104 $recursiveMembership = [];
@@ -79,8 +141,13 @@
79 141 return $this->checkAccessWithRecursiveMembership($isMember, $recursiveMembership, $assignmentInformation);
80 142 }
81 143
82 144 /**
145 + * Returns the user role objects.
146 + * @param AbstractUserGroup $userGroup
147 + * @param bool $lockRecursive
148 + * @param null $objectType
149 + * @return array
83 150 * @throws Exception
84 151 */
85 152 public function getFullObjects(AbstractUserGroup $userGroup, bool $lockRecursive, $objectType = null): array
86 153 {