summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortim b <timb@camcompu.home>2010-06-10 07:20:27 -0700
committertim b <timb@camcompu.home>2010-06-10 07:20:27 -0700
commitba644ed21427afba75a8a578dda3e267c11c81f9 (patch)
treeb7cf97f1135e27d561378ad2cf2728909584571b /src
parent0ff4dd1bbd2c917c28727346947a95f9c31e7b53 (diff)
hacky search
Diffstat (limited to 'src')
-rw-r--r--src/site.clj22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/site.clj b/src/site.clj
index 9a5cda3..2e4180c 100644
--- a/src/site.clj
+++ b/src/site.clj
@@ -795,6 +795,25 @@ FROM users u
favs (reduce (fn [m fav] (assoc m (str (fav :message_id)) (fav :content))) {} raw-favs)]
(str "RawFavs=" (json-str favs))))
+(defn ghetto-search-query []
+ (str "select
+ content from messages, rooms
+ where messages.room_id=rooms.room_id
+ and content ilike ? and content like '%http://%'
+ and admin_only = 'f'
+ order by message_id desc
+ limit 100;"))
+
+(def *ghetto-search-regex* #"^[A-Za-z0-9\-_]*$")
+
+(defn json-ghetto-search [searchterm]
+ ( if (re-matches *ghetto-search-regex* searchterm)
+ (let [searchterm (str "%" searchterm "%")
+ query (ghetto-search-query)
+ rows (do-select [query searchterm])]
+ (str "searchResult(" (json-str rows) ")"))
+ (str "searchError('sorry, no fancy characters')")))
+
;; Account resets
(defn reset-request-page [session]
@@ -1001,6 +1020,9 @@ FROM users u
(POST "/cancel-mute" (handle-cancel-mute! session params))
(GET "/profile-test/:t" (profile session "ryder" "0" (params :t)))
+ (GET "/cmd/ghettosearch/:searchterm" (json-ghetto-search (params :searchterm)))
+ (GET "/search" (serve-template "search_files" session))
+
;; Footer pages
(GET "/about_us" (serve-template "about_us" session))
(GET "/goodies" (serve-template "goodies" session))