/** * Delete group preference record * * @param string $sessid * session id * @param string $group * group name * @param string $key * preference key * @return boolean */ function delGroupPref($sessid, $group, $key) { $uid = Alib::GetSessUserId($sessid); if (PEAR::isError($uid)) { return $uid; } if (is_null($uid)) { return PEAR::raiseError("Prefs::delGroupPref: invalid session id", GBERR_SESS); } $gid = Subjects::GetSubjId($group); if (PEAR::isError($gid)) { return $gid; } if (is_null($gid)) { return PEAR::raiseError("Prefs::delGroupPref: invalid group name", GBERR_SESS); } $memb = Subjects::IsMemberOf($uid, $gid); if (PEAR::isError($memb)) { return $memb; } if (!$memb) { return PEAR::raiseError("Prefs::delGroupPref: access denied", GBERR_DENY); } $r = $this->delete($gid, $key); if (PEAR::isError($r)) { return $r; } if ($r === FALSE) { return PEAR::raiseError("Prefs::delGroupPref: invalid preference key", GBERR_PREF); } return TRUE; }