summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Psecio/Gatekeeper/UserModel.php28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/Psecio/Gatekeeper/UserModel.php b/src/Psecio/Gatekeeper/UserModel.php
index 79a950b..f7ddf06 100644
--- a/src/Psecio/Gatekeeper/UserModel.php
+++ b/src/Psecio/Gatekeeper/UserModel.php
@@ -373,16 +373,20 @@ class UserModel extends \Psecio\Gatekeeper\Model\Mysql
/**
* Check to see if the user is in the group
*
- * @param integer $groupId Group ID
+ * @param integer $groupId Group ID or name
* @return boolean Found/not found in the group
*/
public function inGroup($groupId)
{
+ $find = ['user_id' => $this->id];
+ if (!is_numeric($groupId)) {
+ $g = Gatekeeper::findGroupByName($group);
+ $groupId = $g->id;
+ }
+ $find['group_id'] = $groupId;
+
$userGroup = new UserGroupModel($this->getDb());
- $userGroup = $this->getDb()->find($userGroup, array(
- 'group_id' => $groupId,
- 'user_id' => $this->id
- ));
+ $userGroup = $this->getDb()->find($userGroup, $find);
if ($userGroup->id === null) {
return false;
}
@@ -392,16 +396,20 @@ class UserModel extends \Psecio\Gatekeeper\Model\Mysql
/**
* Check to see if a user has a permission
*
- * @param integer $permId Permission ID
+ * @param integer $permId Permission ID or name
* @return boolean Found/not found in user permission set
*/
public function hasPermission($permId)
{
+ $find = ['user_id' => $this->id];
+ if (!is_numeric($permId)) {
+ $p = Gatekeeper::findPermissionByName($permId);
+ $permId = $p->id;
+ }
+ $find['permission_id'] = $permId;
+
$perm = new UserPermissionModel($this->getDb());
- $perm = $this->getDb()->find($perm, array(
- 'permission_id' => $permId,
- 'user_id' => $this->id
- ));
+ $perm = $this->getDb()->find($perm, $find);
return ($perm->id !== null && $perm->id === $permId) ? true : false;
}