From 07e3abe21e33c4a7c650b5b1783856c9f6d5183b Mon Sep 17 00:00:00 2001 From: Neil Blakey-Milner Date: Thu, 1 Sep 2005 17:18:52 +0000 Subject: [PATCH] Add an option for getByGroups to return ids rather than objects. --- lib/permissions/permissiondescriptor.inc.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/permissions/permissiondescriptor.inc.php b/lib/permissions/permissiondescriptor.inc.php index 39152fa..5745259 100644 --- a/lib/permissions/permissiondescriptor.inc.php +++ b/lib/permissions/permissiondescriptor.inc.php @@ -131,11 +131,19 @@ class KTPermissionDescriptor extends KTEntity { return $aRet; } - function &getByGroups($aGroups) { + function &getByGroups($aGroups, $aOptions = null) { global $default; + if (is_null($aOptions)) { + $aOptions = array(); + } + $ids = KTUtil::arrayGet($aOptions, 'ids'); $aGroupIDs = array(); foreach ($aGroups as $oGroup) { - $aGroupIDs[] = $oGroup->getID(); + if (is_numeric($oGroup)) { + $aGroupIDs[] = $oGroup; + } else { + $aGroupIDs[] = $oGroup->getID(); + } } $sGroupIDs = DBUtil::paramArray($aGroupIDs); $sQuery = "SELECT DISTINCT descriptor_id FROM $default->permission_descriptor_groups_table WHERE group_id IN ( $sGroupIDs )"; @@ -143,7 +151,11 @@ class KTPermissionDescriptor extends KTEntity { $aIDs = DBUtil::getResultArrayKey(array($sQuery, $aParams), 'descriptor_id'); $aRet = array(); foreach ($aIDs as $iID) { - $aRet[] =& KTPermissionDescriptor::get($iID); + if ($ids === true) { + $aRet[] = $iID; + } else { + $aRet[] =& KTPermissionDescriptor::get($iID); + } } return $aRet; } -- libgit2 0.21.4