From: Bart Visscher Date: Sun, 15 Apr 2012 14:28:31 +0000 (+0200) Subject: OC_Group_Backend.php misses function groupexists X-Git-Tag: v4.0.0beta~289 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=68b1ae1a36b652de19afcb645e098e6ac6918eab;p=nextcloud-server.git OC_Group_Backend.php misses function groupexists Fix http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-182 --- diff --git a/lib/group.php b/lib/group.php index 4ae9302f78b..9b2959d1f73 100644 --- a/lib/group.php +++ b/lib/group.php @@ -255,7 +255,12 @@ class OC_Group { * @return bool */ public static function groupExists($gid){ - return in_array( $gid, self::getGroups()); + foreach(self::$_usedBackends as $backend){ + if ($backend->groupExists($gid)){ + return true; + } + } + return false; } /** diff --git a/lib/group/backend.php b/lib/group/backend.php index b3fc06ac9a8..d0bc970da73 100644 --- a/lib/group/backend.php +++ b/lib/group/backend.php @@ -82,4 +82,16 @@ abstract class OC_Group_Backend { public function implementsActions($actions){ return (bool)($this->getSupportedActions() & $actions); } + + /** + * check if a group exists + * @param string $gid + * @return bool + */ + public function groupExists($gid){ + if(!$backend->implementsActions(OC_GROUP_BACKEND_GET_GROUPS)){ + return false; + } + return in_array($gid, $this->getGroups()); + } }