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