summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-06-23 12:58:10 -0400
committerJules Laplace <jules@okfoc.us>2014-06-23 12:58:10 -0400
commitc14e6d4356a2c4d9981a6808ef19edb66fc96e51 (patch)
tree969630c0059653b23c9a4143acc0f04a8f951f52
parent080287474788b81ad846cf0ea0afd51c5263ed2f (diff)
fetch recent users query
-rw-r--r--src/admin.clj20
-rw-r--r--src/site.clj1
2 files changed, 20 insertions, 1 deletions
diff --git a/src/admin.clj b/src/admin.clj
index 3a5abe7..1073095 100644
--- a/src/admin.clj
+++ b/src/admin.clj
@@ -35,6 +35,10 @@
SELECT * FROM users ORDER BY created_on DESC LIMIT 5000
")
+(def fetch-recent-users-query "
+SELECT * FROM users WHERE last_login IS NOT NULL ORDER BY last_login DESC LIMIT 1000
+")
+
(def fetch-active-mutes-query "
SELECT m.*,
(m.set_on + m.duration) AS expiry,
@@ -75,6 +79,9 @@ LIMIT 1
(defn fetch-new-users []
(do-select [fetch-new-users-query]))
+(defn fetch-recent-users []
+ (do-select [fetch-recent-users-query]))
+
(defn fetch-active-mutes []
(do-select [fetch-active-mutes-query]))
@@ -178,7 +185,7 @@ AND cancelled = false
(.setAttribute st "inactive" (f inactive))
(.toString st))))
-;; Recent users list
+;; New users list
(defn show-users [session params]
(if-vip
@@ -189,6 +196,17 @@ AND cancelled = false
(.setAttribute st "users" (f users))
(.toString st))))
+;; Recent users list
+
+(defn show-lastlog [session params]
+ (if-vip
+ (let [st (fetch-template "users" session)
+ users (fetch-recent-users)
+ formatter (partial apply-formats user-formatter)
+ f #(map (comp stringify-and-escape formatter) %)]
+ (.setAttribute st "users" (f users))
+ (.toString st))))
+
;; Debug Page
(defn error-header [& text]
diff --git a/src/site.clj b/src/site.clj
index b322738..67bb007 100644
--- a/src/site.clj
+++ b/src/site.clj
@@ -1302,6 +1302,7 @@ WHERE user_id IN
(GET "/debug" (debug-page session flash))
(POST "/debug" (debug-commmand! session params))
(GET "/mutes" (show-mutes session params))
+ (GET "/users/lastlog" (show-lastlog session params))
(GET "/users" (show-users session params))
(GET "/roomlist" (show-rooms session))
(POST "/mute" (mute! session params))