X-Git-Url: https://git.hcoop.net/hcoop/portal.git/blobdiff_plain/37cec10779cec7c20210d6bb27ae79e15cbab082..553970690dbccae7d7d19682f78abc67292044cd:/mailinglist.sml diff --git a/mailinglist.sml b/mailinglist.sml index ca8b95d..37f31df 100644 --- a/mailinglist.sml +++ b/mailinglist.sml @@ -19,20 +19,22 @@ fun listWebHost name = case String.tokens (fn ch => ch = #"@") name of [user, dom] => let - val mmf = Util.domainDir dom ^ "/.mailman" + val mmf = Util.domainDir dom ^ "/mailman" in if Posix.FileSys.access (mmf, []) then let val inf = TextIO.openIn mmf in (case TextIO.inputLine inf of - NONE => (user, dom) + NONE => {user = user, dom = dom, vhost = "<<>>"} | SOME line => - (user, String.substring (line, 0, size line - 1))) + case String.tokens (fn ch => Char.isSpace ch orelse ch = #":" orelse ch = #"'" orelse ch = #",") line of + [vhost, _] => {user = user, dom = dom, vhost = "http://" ^ vhost} + | _ => {user = user, dom = dom, vhost = "<<>>"}) before TextIO.closeIn inf - end handle _ => (user, dom) + end handle _ => {user = user, dom = dom, vhost = "<<>>"} else - (user, dom) + {user = user, dom = dom, vhost = "https://lists.hcoop.net"} end | _ => raise (Fail "Bad mailing list name")