cvsimport
[hcoop/zz_old/portal.git] / pref.sml
CommitLineData
566fd712 1structure Pref :> PREF =
2struct
3
4open Util Sql Init
5
6fun hasDirectory usr =
7 case C.oneOrNoRows (getDb ()) ($`SELECT * FROM DirectoryPref WHERE usr = ^(C.intToSql usr)`) of
8 NONE => false
9 | _ => true
10
11fun setDirectory usr =
12 if hasDirectory usr then
13 ()
14 else
15 ignore (C.dml (getDb ()) ($`INSERT INTO DirectoryPref (usr) VALUES (^(C.intToSql usr))`))
16
17fun unsetDirectory usr =
18 ignore (C.dml (getDb ()) ($`DELETE FROM DirectoryPref WHERE usr = ^(C.intToSql usr)`))
19
56c0e176 20fun subscribed (list, address) = OS.Process.isSuccess (OS.Process.system (String.concat
9de6ef57 21 ["/usr/bin/sudo -u list /usr/local/sbin/portalsub ",
56c0e176 22 list,
23 " check ",
24 address]))
25
26fun subscribe (list, address) = OS.Process.isSuccess (OS.Process.system (String.concat
9de6ef57 27 ["/usr/bin/sudo -u list /usr/local/sbin/portalsub ",
56c0e176 28 list,
29 " add ",
30 address]))
31
32fun unsubscribe (list, address) = OS.Process.isSuccess (OS.Process.system (String.concat
9de6ef57 33 ["/usr/bin/sudo -u list /usr/local/sbin/portalsub ",
56c0e176 34 list,
35 " rm ",
36 address]))
37
fd650826 38end