diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/site.clj | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/site.clj b/src/site.clj index 1d27753..f3aa9a1 100755 --- a/src/site.clj +++ b/src/site.clj @@ -141,6 +141,9 @@ (defn maybe-parse-int [s f] (if s (Integer/parseInt s) f)) +(defn maybe-parse-long [s f] + (if s (Long/parseLong s) f)) + (defn count-messages-by-room [room-id image-only] (let [query (str "SELECT COUNT(*) " "FROM messages m, users u " @@ -325,11 +328,13 @@ (defn refresh [session params room] (dosync (let [now (System/currentTimeMillis) - since (Long/parseLong (params :since)) + since (maybe-parse-long (params :since) now) nick (session :nick) users (room :users)] - (if (contains? @users nick) - (alter users assoc-in [nick :last-seen] now)) + (if nick + (if (contains? @users nick) + (alter users assoc-in [nick :last-seen] now) + (alter (room :users) assoc nick (user-struct-from-session session)))) (resp-success (assoc (updates room since) :timestamp now))))) |
