diff options
| author | sostler <sbostler@gmail.com> | 2010-04-14 18:52:24 -0400 |
|---|---|---|
| committer | sostler <sbostler@gmail.com> | 2010-04-14 18:52:24 -0400 |
| commit | f0ab9c28ec3cdc0f347081e63e2448750d073d46 (patch) | |
| tree | 03090b6287c75da498f1858877c5bc520f0ef2a6 /src/admin.clj | |
| parent | 486946cd5fd8eda8824f1752101fb010c31396d9 (diff) | |
Added muting emails
Diffstat (limited to 'src/admin.clj')
| -rw-r--r-- | src/admin.clj | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/admin.clj b/src/admin.clj index 0253734..e5d0c8f 100644 --- a/src/admin.clj +++ b/src/admin.clj @@ -50,10 +50,11 @@ (def *mute-refresh-period-sec* 60) (def fetch-mutes-query " -SELECT mutes.*, (set_on + duration) AS expiry -FROM mutes -WHERE (set_on + duration) > now() -AND NOT is_canceled +SELECT m.*, (m.set_on + m.duration) AS expiry, u.nick AS admin_nick +FROM mutes m, users u +WHERE (m.set_on + m.duration) > now() +AND u.user_id = m.admin_id +AND NOT m.is_canceled ") (defn update-mutes [] @@ -78,18 +79,23 @@ AND NOT is_canceled (defn mute! [session params] (if-vip - (let [nick (params :nick) - user-id (:user_id (fetch-nick nick)) - duration (parse-pos-interval (params :time) (s/butlast (params :unit) 1)) - reason (params :reason) - admin-id (session :user_id)] + (let [nick (params :nick) + user-id (:user_id (fetch-nick nick)) + time (params :time) + unit (params :unit) + duration (parse-pos-interval time (s/butlast unit 1)) + reason (params :reason) + admin-id (session :user_id) + admin-nick (session :nick)] (cond (not user-id) [400 "INVALID_NICK"] (not duration) [400 "INVALID_DURATION"] ;; TODO: Ugly interval hack, w/ no escaping. Totally unsafe. - :else (let [q (format "INSERT INTO mutes (user_id, admin_id, duration, reason) + :else (let [q (format "INSERT INTO mutes (user_id, admin_id, duration, reason) VALUES (%s, %s, '%s', '%s')" - user-id admin-id duration reason)] - (and (do-cmds q) "OK")))))) + user-id admin-id duration reason)] + (do-cmds q) + (send-mute-email nick admin-nick reason time unit) + "OK"))))) (defn format-mute [mute] |
