public static function getPermissionsByGroup($db = null, $group_id) { $peer_object = new DinklyGroupPermission(); if ($db == null) { $db = self::fetchDB(); } $query = $peer_object->getSelectQuery() . " where dinkly_group_id = " . $db->quote($group_id); $group_perm_joins = self::getCollection($peer_object, $query, $db); if ($group_perm_joins != array()) { $perm_ids = array(); foreach ($group_perm_joins as $perm_join) { $perm_ids[] = $perm_join->getDinklyPermissionId(); } $perms = DinklyPermissionCollection::getByArrayOfIds($perm_ids, $db); if ($perms != array()) { return $perms; } } return false; }
public function addPermissions($permission_ids) { if ($permission_ids != array()) { foreach ($permission_ids as $id) { $permission = new DinklyPermission(); $permission->init($id); //If the permission isn't new, that means it exists, which is a good thing if (!$permission->isNew()) { //Make sure this join record doesn't already exist first $permission_join = new DinklyGroupPermission(); $permission_join->initWithGroupAndPermission($this->getId(), $id); if ($permission_join->isNew()) { $permission_join->setDinklyGroupId($this->getId()); $permission_join->setDinklyPermissionId($id); $permission_join->save(); } } } return true; } return false; }