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/UserGroup/UserGroup.php +74 -22 2.3.162.2.3 View file →
@@ -1,5 +1,18 @@
1 1 <?php
2 +/**
3 + * UserGroup.php
4 + *
5 + * The UserGroup 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\UserGroup;
@@ -11,16 +24,37 @@
11 24 use UserAccessManager\Util\Util;
12 25 use UserAccessManager\Wrapper\Php;
13 26 use UserAccessManager\Wrapper\Wordpress;
14 27
28 +/**
29 + * Class UserGroup
30 + *
31 + * @package UserAccessManager\UserGroup
32 + */
15 33 class UserGroup extends AbstractUserGroup
16 34 {
17 35 const USER_GROUP_TYPE = 'UserGroup';
18 36
19 - protected ?string $type = self::USER_GROUP_TYPE;
20 - protected ?string $ipRange = null;
37 + /**
38 + * @var string
39 + */
40 + protected $type = self::USER_GROUP_TYPE;
21 41
22 42 /**
43 + * @var string
44 + */
45 + protected $ipRange = null;
46 +
47 + /**
48 + * UserGroup constructor.
49 + * @param Php $php
50 + * @param Wordpress $wordpress
51 + * @param Database $database
52 + * @param MainConfig $config
53 + * @param Util $util
54 + * @param ObjectHandler $objectHandler
55 + * @param AssignmentInformationFactory $assignmentInformationFactory
56 + * @param null|string $id
23 57 * @throws UserGroupTypeException
24 58 */
25 59 public function __construct(
26 60 Php $php,
@@ -28,10 +62,10 @@
28 62 Database $database,
29 63 MainConfig $config,
30 64 Util $util,
31 65 ObjectHandler $objectHandler,
32 - AssignedObjectsLoader $assignedObjectsLoader,
33 - int|string|null $id = null
66 + AssignmentInformationFactory $assignmentInformationFactory,
67 + $id = null
34 68 ) {
35 69 parent::__construct(
36 70 $php,
37 71 $wordpress,
@@ -38,9 +72,9 @@
38 72 $database,
39 73 $config,
40 74 $util,
41 75 $objectHandler,
42 - $assignedObjectsLoader
76 + $assignmentInformationFactory
43 77 );
44 78
45 79 if ($id !== null) {
46 80 $this->load($id);
@@ -46,24 +80,41 @@
46 80 $this->load($id);
47 81 }
48 82 }
49 83
50 - public function getIpRange(): array|string|null
84 + /**
85 + * Returns the ip range.
86 + * @return array|string
87 + */
88 + public function getIpRange()
51 89 {
52 90 return $this->ipRange;
53 91 }
54 92
93 + /**
94 + * Returns the ip range as array
95 + * @return array
96 + */
55 97 public function getIpRangeArray(): array
56 98 {
57 - return explode(';', (string) $this->ipRange);
99 + return explode(';', $this->ipRange);
58 100 }
59 101
60 - public function setIpRange(array|string $ipRange): void
102 + /**
103 + * Sets the ip range.
104 + * @param string|array $ipRange The new ip range.
105 + */
106 + public function setIpRange($ipRange)
61 107 {
62 108 $this->ipRange = (is_array($ipRange) === true) ? implode(';', $ipRange) : $ipRange;
63 109 }
64 110
65 - public function load(int|string $id): bool
111 + /**
112 + * Loads the user group.
113 + * @param int|string $id
114 + * @return bool
115 + */
116 + public function load($id): bool
66 117 {
67 118 $query = $this->database->prepare(
68 119 "SELECT *
69 120 FROM {$this->database->getUserGroupTable()}
@@ -71,12 +122,17 @@
71 122 LIMIT 1",
72 123 $id
73 124 );
74 125
75 - $databaseUserGroup = $this->database->getRow($query);
126 + $dbUserGroup = $this->database->getRow($query);
76 127
77 - if ($databaseUserGroup !== null) {
78 - $this->assignDatabaseValues($databaseUserGroup);
128 + if ($dbUserGroup !== null) {
129 + $this->id = $id;
130 + $this->name = $dbUserGroup->groupname;
131 + $this->description = $dbUserGroup->groupdesc;
132 + $this->readAccess = $dbUserGroup->read_access;
133 + $this->writeAccess = $dbUserGroup->write_access;
134 + $this->ipRange = $dbUserGroup->ip_range;
79 135
80 136 return true;
81 137 }
82 138
@@ -82,18 +138,12 @@
82 138
83 139 return false;
84 140 }
85 141
86 - public function assignDatabaseValues(object $databaseUserGroup): void
87 - {
88 - $this->id = $databaseUserGroup->ID;
89 - $this->name = $databaseUserGroup->groupname;
90 - $this->description = $databaseUserGroup->groupdesc;
91 - $this->readAccess = $databaseUserGroup->read_access;
92 - $this->writeAccess = $databaseUserGroup->write_access;
93 - $this->ipRange = $databaseUserGroup->ip_range;
94 - }
95 -
142 + /**
143 + * Saves the user group.
144 + * @return bool
145 + */
96 146 public function save(): bool
97 147 {
98 148 if ($this->id === null) {
99 149 $return = $this->database->insert(
@@ -127,8 +177,10 @@
127 177 return ($return !== false);
128 178 }
129 179
130 180 /**
181 + * Deletes the user group.
182 + * @return bool
131 183 * @throws Exception
132 184 */
133 185 public function delete(): bool
134 186 {