summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/site.clj13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/site.clj b/src/site.clj
index 65d4d11..fa466bb 100755
--- a/src/site.clj
+++ b/src/site.clj
@@ -289,6 +289,11 @@
;; Chat
+(defn validate-room-access [room session]
+ (and room
+ (or (not (room :admin_only))
+ (session :is_admin))))
+
(defn user-struct-from-session [session]
(struct user-struct (session :nick) (session :user_id) (session :avatar)
(System/currentTimeMillis)))
@@ -318,8 +323,7 @@
(defn validated-chat [session room-key]
(let [room (@rooms room-key)]
- (if (and room
- (or (not (room :admin_only)) (session :is_admin)))
+ (if (validate-room-access room session)
(chat session room)
(resp-error "UNKNOWN_ROOM"))))
@@ -390,8 +394,7 @@
(defn validated-msg [session params]
(let [room-key (params :room)
room (@rooms room-key)]
- (if (and room
- (or (not (room :admin_only)) (session :is_admin)))
+ (if (validate-room-access room session)
(msg session params)
(resp-error "UNKNOWN_ROOM"))))
@@ -417,7 +420,7 @@
(defn validated-log [session room-key offset]
(let [room (@rooms room-key)]
- (if room
+ (if (validate-room-access room session)
(log session room offset)
(resp-error "UNKNOWN_ROOM"))))