summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsostler <sbostler@gmail.com>2010-01-29 01:51:48 -0500
committersostler <sbostler@gmail.com>2010-01-29 01:51:48 -0500
commit65f06c8d8593881f10d767dd0610ca6f63569f56 (patch)
tree62b1dfe4650a0ecce5fe1131a447c44756d37fd9 /src
parent99cc0ef49a1d087401dbd8e1cfabc7c8d5cc2104 (diff)
Added upload to main chat
Diffstat (limited to 'src')
-rwxr-xr-xsrc/site.clj41
1 files changed, 22 insertions, 19 deletions
diff --git a/src/site.clj b/src/site.clj
index 1d55ac7..15ac373 100755
--- a/src/site.clj
+++ b/src/site.clj
@@ -316,10 +316,11 @@
;; Chat
-(defn validate-room-access [room session]
- (and room
- (or (not (room :admin_only))
- (session :is_admin))))
+(defn validate-room-access [room-key session]
+ (let [room (@rooms room-key)]
+ (and room
+ (or (not (room :admin_only))
+ (session :is_admin)))))
(defn chat [session room]
(let [now (System/currentTimeMillis)
@@ -344,10 +345,9 @@
(.toString st)))
(defn validated-chat [session room-key]
- (let [room (@rooms room-key)]
- (if (validate-room-access room session)
- (chat session room)
- (resp-error "UNKNOWN_ROOM"))))
+ (if (validate-room-access room-key session)
+ (chat session (@rooms room-key))
+ (resp-error "UNKNOWN_ROOM")))
(defn refresh [session params room]
(dosync
@@ -365,8 +365,7 @@
(defn validated-refresh [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-key session)
(refresh session params room)
(resp-error "UNKNOWN_ROOM"))))
@@ -409,11 +408,9 @@
(resp-success msg-id)))))
(defn validated-msg [session params]
- (let [room-key (params :room)
- room (@rooms room-key)]
- (if (validate-room-access room session)
- (msg session params)
- (resp-error "UNKNOWN_ROOM"))))
+ (if (validate-room-access (params :room) session)
+ (msg session params)
+ (resp-error "UNKNOWN_ROOM")))
;; Browser
@@ -464,10 +461,9 @@
(.toString st)))
(defn validated-log [session room-key offset params]
- (let [room (@rooms room-key)]
- (if (validate-room-access room session)
- (log session room offset params)
- (resp-error "UNKNOWN_ROOM"))))
+ (if (validate-room-access room-key session)
+ (log session (@rooms room-key) offset params)
+ (resp-error "UNKNOWN_ROOM")))
;; Upload
@@ -476,6 +472,8 @@
subbed (re-gsub #"[^\w.-]" "" spaceless)]
(str (System/currentTimeMillis) "-" subbed)))
+;; TODO: enforce
+
(defn upload [session params]
(if (not (session :nick))
[404 "NOT_LOGGED_IN"]
@@ -492,6 +490,11 @@
(add-message msg room)))
[200 image-url])))
+(defn validated-upload [session params]
+ (if (validate-room-access (params :room) session)
+ (upload session params)
+ (resp-error "UNKNOWN_ROOM")))
+
;; 404
(defn unknown-page [params]