C.map (getDb ()) mkAppRow ($`SELECT id, name, rname, gname, email, forward, uses, other, passwd, status, applied, ipaddr, confirmed, decided,
msg, unix_passwd, paypal, checkout
FROM MemberApp
- WHERE paypal = ^(C.stringToSql (Util.allLower paypal))
+ WHERE paypal = ^(C.stringToSql (normEmail paypal))
AND status = 2
AND decided >= CURRENT_TIMESTAMP - INTERVAL '1 MONTH'
ORDER BY applied`)
C.map (getDb ()) mkAppRow ($`SELECT id, name, rname, gname, email, forward, uses, other, passwd, status, applied, ipaddr, confirmed, decided,
msg, unix_passwd, paypal, checkout
FROM MemberApp
- WHERE checkout = ^(C.stringToSql (Util.allLower checkout))
+ WHERE checkout = ^(C.stringToSql (normEmail checkout))
AND status = 2
AND decided >= CURRENT_TIMESTAMP - INTERVAL '1 MONTH'
ORDER BY applied`)
name = ^(C.stringToSql (#name user)), rname = ^(C.stringToSql (#rname user)),
bal = ^(C.intToSql (#bal user)), app = ^(C.intToSql (#app user)),
shares = ^(C.intToSql (#shares user)),
- paypal = ^(nullableToSql C.stringToSql (#paypal user)),
- checkout = ^(nullableToSql C.stringToSql (#checkout user))
+ paypal = ^(nullableToSql (C.stringToSql o Util.normEmail) (#paypal user)),
+ checkout = ^(nullableToSql (C.stringToSql o Util.normEmail) (#checkout user))
WHERE id = ^(C.intToSql (#id user))`))
end
fun searchPaypal paypal =
C.map (getDb ()) mkUserRow ($`SELECT id, name, rname, bal, joined, app, shares, paypal, checkout
FROM WebUser
- WHERE paypal = ^(C.stringToSql paypal)
+ WHERE paypal = ^(C.stringToSql (normEmail paypal))
ORDER BY name`)
fun searchCheckout checkout =
C.map (getDb ()) mkUserRow ($`SELECT id, name, rname, bal, joined, app, shares, paypal, checkout
FROM WebUser
- WHERE checkout = ^(C.stringToSql checkout)
+ WHERE checkout = ^(C.stringToSql (normEmail checkout))
ORDER BY name`)
end
val mem : ''a * ''a list -> bool
val allLower : string -> string
+ val normEmail : string -> string
end
val allLower = CharVector.map Char.toLower
+fun normEmail s = case String.tokens Char.isSpace (allLower s) of
+ s :: _ => s
+ | [] => ""
+
end