diff options
| author | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-05-19 20:59:30 -0400 |
|---|---|---|
| committer | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-05-19 20:59:30 -0400 |
| commit | c29bcd18d2b35dd901004f2cd021409c52e96f50 (patch) | |
| tree | e6f52bb654df0f244e7eae2a2dda5ce34a0dbc8c | |
| parent | a924b778ba88fe99bac7e9bd1e7495e014d768d1 (diff) | |
| parent | a246187d41cc7f707881762a238440756cd05945 (diff) | |
Merge branch 'master' of /pichat/repo
| -rw-r--r-- | src/email.clj | 4 | ||||
| -rw-r--r-- | src/site.clj | 51 | ||||
| -rw-r--r-- | template/profile.st | 7 |
3 files changed, 56 insertions, 6 deletions
diff --git a/src/email.clj b/src/email.clj index e2a5f1f..2997827 100644 --- a/src/email.clj +++ b/src/email.clj @@ -59,8 +59,8 @@ (base-mail :user "info@dump.fm" :password "UHR4Moghu5a2" :host "smtpout.secureserver.net" - :port 25 - :ssl false + :port 465 + :ssl true :to [(join to ",")] :subject subject :text text diff --git a/src/site.clj b/src/site.clj index 45057b7..11b6859 100644 --- a/src/site.clj +++ b/src/site.clj @@ -154,7 +154,6 @@ (assoc m "topic" topic) m))) - (defn count-messages-by-room [room-id image-only] (let [query (str "SELECT COUNT(*) FROM messages m, users u @@ -334,7 +333,7 @@ (set-cookie *login-token-key* "dummy" :expires "Thu, 01-Jan-1970 00:00:01 GMT" :domain ".dump.fm") - (redirect-to "/")]) + (redirect-to "http://dump.fm/")]) ;; Registration @@ -370,6 +369,48 @@ [(session-assoc-from-db db-user) (resp-success "OK")]))))) +;; Fav scores + +(def *score-query* " +SELECT u.nick, + COUNT(*) AS cnt +FROM tags t, + messages m, + users u +WHERE t.message_id = m.message_id + AND m.user_id != t.user_id + AND m.user_id = u.user_id +GROUP BY u.nick +ORDER BY cnt DESC; +") + +(def *scores-resfresh-period-sec* (* 30 60)) + +(defn compute-scores [] + (let [res (do-select [*score-query*])] + (zipmap (map :nick res) + (map :cnt res)))) + +(def *user-scores* + (scheduled-agent (no-args-adaptor compute-scores) + *scores-resfresh-period-sec* + {})) + +(def *piece-map* + (zipmap + [:pawn :knight :bishop :rook :queen :king] + ["♟" "♞" "♝" "♜" "♛" "♚"])) + +(defn score-to-piece [score] + (cond (= score 0) :pawn + (< score 50) :knight + (< score 150) :bishop + (< score 300) :rook + (< score 1000) :queen + :else :king)) + +(def score-to-entity (comp *piece-map* score-to-piece)) + ;; Profile (def *zoeee-query* " @@ -403,7 +444,7 @@ ORDER BY created_on DESC; (if (non-empty-string? v) (escape-html v))))) (.setAttribute st "dumps" dumps) (.toString st))) - + (defn profile [session profile-nick offset] (if-let [user-info (fetch-nick profile-nick)] (let [st (fetch-template "profile" session) @@ -413,6 +454,7 @@ ORDER BY created_on DESC; is-home (and nick (= nick profile-nick)) has-avatar (non-empty-string? (user-info :avatar)) offset (maybe-parse-int offset 0) + score (or ((poll *user-scores*) profile-nick) 0) dump-offset (* offset *dumps-per-page*) raw-dumps (logger tags/fetch-dumps-by-nick :nick profile-nick @@ -431,6 +473,7 @@ ORDER BY created_on DESC; (.setAttribute st "dumps" dumps)) (if (> (count raw-dumps) *dumps-per-page*) (.setAttribute st "next" (inc offset))) + (.setAttribute st "score_ent" (score-to-entity score)) (if (not= offset 0) (.setAttribute st "prev" (max (dec offset) 0))) (.setAttribute st "debug_log_items" (logger)) @@ -898,7 +941,7 @@ ORDER BY msg_count DESC") (let [info (fetch-nick nick)] (update-nick-hash nick hash) [(session-assoc-from-db info) - (redirect-to "/")]) + (redirect-to "http://dump.fm/")]) [200 "BAD_REQUEST"]))) ;; Upload diff --git a/template/profile.st b/template/profile.st index 0fe12c9..482665b 100644 --- a/template/profile.st +++ b/template/profile.st @@ -66,6 +66,13 @@ <div><img id="bio" src="/static/img/noinfo.png"></div> $endif$ + $if(score_ent)$ + <div id="score" style="font-size: 500%"> + <h3>score</h3> + $score_ent$ + </div> + $endif$ + $if(is_home)$ <br> <div id="edit-toggle"><a href="#">edit profile</a></div> |
