| _ => false)
end
+fun userReallyInGroupName (usr, grp) =
+ let
+ val c = getDb ()
+ in
+ (case C.oneOrNoRows c ($`SELECT COUNT( * )
+ FROM Membership, WebGroup
+ WHERE (name = ^(C.stringToSql grp) AND grp = id)
+ AND usr = ^(C.intToSql usr)`) of
+ SOME[x] => not (C.isNull x) andalso C.intFromSql x <> 0
+ | _ => false)
+ end
+
(* Managing group memberships *)
fun inGroupNum grp = userInGroupNum (getUserId(), grp)
fun inGroupName grp = userInGroupName (getUserId(), grp)
+fun reallyInGroupName grp = userReallyInGroupName (getUserId(), grp)
fun requireGroupNum grp =
if inGroupNum grp then