From 30e723826e16be78bcc16db754aaff5c6bb27f4b Mon Sep 17 00:00:00 2001 From: Scott Ostler Date: Thu, 18 Mar 2010 09:24:54 -0400 Subject: Fixed directory offset bug; restrict directory to images from RoomA --- src/site.clj | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/site.clj b/src/site.clj index b3e7e70..e5107e5 100755 --- a/src/site.clj +++ b/src/site.clj @@ -385,7 +385,8 @@ (defn directory-search [offset] (let [directory @*directory-listing* users (subvec directory - (* offset *per-directory-page*) + (min (count directory) + (* offset *per-directory-page*)) (min (count directory) (* (inc offset) *per-directory-page*))) user-ids (apply str (interpose ", " (map #(%1 :user_id) users))) @@ -400,17 +401,19 @@ ORDER BY created_on DESC LIMIT 1)")] (when (> (count user-ids) 0) (let [res (do-select [qry]) - keys (map :user_id res) - dict (zipmap keys res)] + keys (map :user_id res) + res-dict (zipmap keys res)] (map (fn [u] (let [u-id (u :user_id)] - (process-directory-listing (merge u (dict u-id))))) + (process-directory-listing (merge u (res-dict u-id))))) users))))) (defn update-directory! [] (let [qry "SELECT u.user_id, COUNT(m) as cnt FROM users u, messages m WHERE u.user_id = m.user_id + AND m.room_id = 1 + AND m.is_image = true GROUP BY u.user_id ORDER BY COUNT(m) DESC" res (vec (do-select [qry]))] -- cgit v1.2.3-70-g09d2 From 6cb7060a6d492eabd5d70fb2f32d698d78ed94ce Mon Sep 17 00:00:00 2001 From: Scott Ostler Date: Thu, 18 Mar 2010 09:51:15 -0400 Subject: Added directory page titles; start of account reset --- src/site.clj | 24 ++++++++++++++++++------ template/directory.st | 7 +++++-- 2 files changed, 23 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/site.clj b/src/site.clj index e5107e5..e68d2ad 100755 --- a/src/site.clj +++ b/src/site.clj @@ -437,6 +437,8 @@ (cond (= offset 0) (.setAttribute st "prev" false) (= offset 1) (.setAttribute st "prev" "") :else (.setAttribute st "prev" (str "/" (dec offset)))) + (if (> offset 0) + (.setAttribute st "cur" offset)) (.setAttribute st "next" (str "/" (inc offset))) (if (zero? (count @*directory-listing*)) (.setAttribute st "notloaded" true)) @@ -658,6 +660,17 @@ (log session (@rooms room-key) offset params) (resp-error "UNKNOWN_ROOM"))) +;; Account resets + +(defn reset-page [session] + ) + +(defn reset-account-request! [session params] + ) + +(defn reset-account! [session key] + ) + ;; Upload (def *max-image-height* 2000) @@ -724,10 +737,6 @@ (not (validate-room-access room-key session)) [200 "UNKNOWN_ROOM"] :else (do-upload session image (@rooms room-key))))) -(defn copy-and-resize [image dest] - ; TODO: resize - (copy image dest)) - ;; N.B. -- Upload responses aren't JSON-evaluated (defn do-upload-avatar [session image] (let [filename (format-filename (:filename image) (session :nick)) @@ -735,7 +744,7 @@ dest (open-file [*avatar-directory* date] filename) url (image-url-from-file "avatars" date dest)] (do - (copy-and-resize (:tempfile image) dest) + (copy (:tempfile image) dest) (update-user-db (session :user_id) "avatar" url) [(session-assoc :avatar url) [200 url]]))) @@ -794,7 +803,7 @@ (-> request :route-params :room) (-> request :route-params :offset) params)) - ;; TODO: validate POST Referrer headers for POSTs + ;; TODO: add form tokens for all destructive actions (POST "/msg" (validated-msg session params)) (POST "/submit-registration" (register session params)) (POST "/update-profile" (update-profile session params)) @@ -804,6 +813,9 @@ (GET "/directory" (directory session 0)) (GET "/directory/:offset" (directory session (maybe-parse-int (-> request :route-params :offset) 0))) + (GET "/reset" (reset-page session)) + (POST "/reset-request" (reset-account-request! session params)) + (POST "/reset/:key" (reset-account! session (-> request :route-params :key))) (GET "/about_us" (serve-template "about_us" session)) (GET "/goodies" (serve-template "goodies" session)) (GET "/help" (serve-template "help" session)) diff --git a/template/directory.st b/template/directory.st index 85d6a8c..1296edf 100644 --- a/template/directory.st +++ b/template/directory.st @@ -1,7 +1,10 @@ - - dump.fm + $if(cur)$ + dump.fm directory [$cur$] + $else$ + dump.fm directory + $endif$ $head()$