summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Ostler <scottbot9000@gmail.com>2010-07-08 19:37:45 -0400
committerScott Ostler <scottbot9000@gmail.com>2010-07-08 19:37:45 -0400
commit33990d938f594b45f9a876da02d27550f14d3bc0 (patch)
tree216c76355242225d17fb2e9dfc9aed135c37009c
parent88fb87e7c2d72db2c5f7b3e7a1ee41f021e5c40d (diff)
parentb6b2b885fc32e57e97b73a1f308d1ae11f6f75aa (diff)
Merge branch 'master' of ssh://dump.fm/pichat/repo
-rw-r--r--src/site.clj17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/site.clj b/src/site.clj
index 04ebecb..c2bc4ef 100644
--- a/src/site.clj
+++ b/src/site.clj
@@ -301,21 +301,26 @@
(or (contains? (poll reserved-nicks) nick)
(> (count (do-select [query (lower-case nick)])) 0))))
-(defn register [session params]
+(defn register [session params request]
(let [nick (or (params :nick) "")
email (or (params :email) "")
hash (or (params :hash) "")
- invalid-nick-reason (is-invalid-nick? nick)]
+ invalid-nick-reason (is-invalid-nick? nick)]
(cond invalid-nick-reason (resp-error invalid-nick-reason)
(nick-reserved? nick) (resp-error "NICK_TAKEN")
:else (do
(do-insert :users
[:nick :hash :email]
[nick hash email])
- (let [db-user (fetch-nick nick)]
+ (let [db-user (fetch-nick nick)
+ user_id (db-user :user_id)
+ ip (get-ip request)
+ query (format "UPDATE users SET created_ip = '%s'::cidr WHERE user_id = %s" (str ip) (str user_id))]
; scott: taken out since we hit email limit (send-registration-email nick email)
- [(session-assoc-from-db db-user)
- (resp-success "OK")])))))
+ (do-cmds query) ; timb: doing this update query rather than using previous insert because jdbc
+ ; can't figure out how to convert to cidr on prepared statements
+ [(session-assoc-from-db db-user)
+ (resp-success "OK")])))))
;; Fav scores
@@ -1164,7 +1169,7 @@ order by count desc limit ? offset ?")
;; TODO: add form tokens for all destructive actions
(POST "/msg" (validated-msg session params))
- (POST "/submit-registration" (register session params))
+ (POST "/submit-registration" (register session params request))
(POST "/update-profile" (update-profile session params))
(GET "/directory" (directory session 0))
(GET "/directory/:offset"