summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsostler <sbostler@gmail.com>2010-03-21 23:01:13 -0400
committersostler <sbostler@gmail.com>2010-03-21 23:01:13 -0400
commit1c2f320c2b14089250f5e7b7790f40dc3a2908fc (patch)
treeda0df4614a38f0555cf0312bce962d8c8fb243bd
parent72a35872990d8c5d322eedf2dedb87b5d67e1aae (diff)
parentb66a1d52c276b5599605621b91922745a48ca6d7 (diff)
Resolved TODO conflict
-rwxr-xr-xsrc/site.clj33
-rwxr-xr-xstatic/index.html131
-rwxr-xr-xstatic/js/home.js28
-rw-r--r--template/directory.st7
4 files changed, 107 insertions, 92 deletions
diff --git a/src/site.clj b/src/site.clj
index 55a668a..a79269d 100755
--- a/src/site.clj
+++ b/src/site.clj
@@ -383,7 +383,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)))
@@ -398,17 +399,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]))]
@@ -432,6 +435,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))
@@ -654,6 +659,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)
@@ -720,10 +736,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))
@@ -731,7 +743,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]])))
@@ -800,6 +812,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/static/index.html b/static/index.html
index da98e29..e8ec712 100755
--- a/static/index.html
+++ b/static/index.html
@@ -1,40 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
-"http://www.w3.org/TR/html4/strict.dtd">
-
-<html><head>
-<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
-<script type="text/javascript" src="/static/js/sha1.js"></script>
-<script type="text/javascript" src="/static/js/home.js"></script>
-<script>
-$(document).ready(initLoginForm);
-function MM_swapImgRestore() { //v3.0
- var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
-}
-function MM_preloadImages() { //v3.0
- var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
- var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
- if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
-}
-
-function MM_findObj(n, d) { //v4.01
- var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
- d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
- if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
- for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
- if(!x && d.getElementById) x=d.getElementById(n); return x;
-}
-
-function MM_swapImage() { //v3.0
- var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
- if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
-}
-</script>
-<link rel="stylesheet" type="text/css" href="static/reset.css">
- <link rel="shortcut icon" href="static/favicon.ico">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
+ <script type="text/javascript" src="/static/js/sha1.js"></script>
+ <script type="text/javascript" src="/static/js/home.js"></script>
+ <link rel="stylesheet" type="text/css" href="static/reset.css">
+ <link rel="shortcut icon" href="static/favicon.ico">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>dump.fm</title></head>
-<style type="text/css">
-
-
+ <style type="text/css">
body {
background:#EEF2FF url(/static/fade-blue.png) top center repeat-x;
@@ -171,57 +144,53 @@ label {
</style>
</head>
<body>
-
-<div id="main" align="center">
-
- <img src="/static/flyhorse.gif" id="horse" />
- <img src="/static/guaranteed_customer_satisfaction.gif" id="customer" />
-
- <div id="registerbox">
- <div id="logo-and-text">
- <a href="/"><img src="/static/dumpmod1.png"></a>
- <p align="center" class="line">Talk with pictures!</p>
- <div align="right" class="txt">
- <br>
- <div align="center">Right now dump.fm is invite only...<br>
- If you have a registration code, <a href="/register" style="text-decoration:none;">click here!</a> <br>
+ <div id="main" align="center">
+
+ <img src="/static/flyhorse.gif" id="horse" />
+ <img src="/static/guaranteed_customer_satisfaction.gif" id="customer" />
+
+ <div id="registerbox">
+ <div id="logo-and-text">
+ <a href="/"><img src="/static/dumpmod1.png"></a>
+ <p align="center" class="line">Talk with pictures!</p>
+ <div align="right" class="txt">
+ <br>
+ <div align="center">Right now dump.fm is invite only...<br>
+ If you have a registration code, <a href="/register" style="text-decoration:none;">click here!</a> <br>
+ </div>
</div>
</div>
+ <input type="text" id="nickInput" size="17" />
+ <input id="passwordInputLabel" name="passwordInputLabel" size="17" type="text" class="invisible">
+ <input type="password" id="passwordInput" size="17" /><br />
+ <input id="signin-submit" value="Sign In" />
+ <div id="remember"><label>
+ <input checked="checked" type="checkbox" name="rememberme" id="remembermeInput" />
+ Remember Me
+ </label></div>
</div>
- <input type="text" id="nickInput" size="17" />
- <input id="passwordInputLabel" name="passwordInputLabel" size="17" type="text" class="invisible">
- <input type="password" id="passwordInput" size="17" /><br />
-
-
- <!-- <br /><a id="signin-submit">Sign In</a> -->
- <input id="signin-submit" value="Sign In" />
- <div id="remember"><label>
- <input checked="checked" type="checkbox" name="rememberme" id="remembermeInput" />
- Remember Me
- </label></div>
</div>
-</div>
-<div id="info" align="right">
- <img src="/static/vxhtml.gif">
- <img src="/static/aol_suck.gif">
+ <div id="info" align="right">
+ <img src="/static/vxhtml.gif">
+ <img src="/static/aol_suck.gif">
<img src="/static/html_3_2.gif">
- <img src="/static/geocities.gif">
- <img src="/static/valid_html.gif">
-</div>
-
-<div id="preload">
- <img src="/static/img/cursors/osx.hand.gif" class="no-cursor invisible" id="cursor-big">
-</div>
+ <img src="/static/geocities.gif">
+ <img src="/static/valid_html.gif">
+ </div>
-<script type="text/javascript">
-var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try {
-var pageTracker = _gat._getTracker("UA-12364576-1");
-pageTracker._trackPageview();
-} catch(err) {}</script>
+ <div id="preload">
+ <img src="/static/img/cursors/osx.hand.gif" class="no-cursor invisible" id="cursor-big">
+ </div>
+ <script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+ </script>
+ <script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker("UA-12364576-1");
+ pageTracker._trackPageview();
+ } catch(err) {}
+ </script>
</body>
</html>
diff --git a/static/js/home.js b/static/js/home.js
index e9be833..072617a 100755
--- a/static/js/home.js
+++ b/static/js/home.js
@@ -171,3 +171,31 @@ function login() {
error: onError
});
};
+
+
+function MM_swapImgRestore() { //v3.0
+ var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
+}
+function MM_preloadImages() { //v3.0
+ var d=document; if(d.images){
+ if(!d.MM_p) d.MM_p=new Array();
+ var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+ if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}
+
+function MM_findObj(n, d) { //v4.01
+ var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+ d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+ if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+ for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+ if(!x && d.getElementById) x=d.getElementById(n); return x;
+}
+
+function MM_swapImage() { //v3.0
+ var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
+ if ((x=MM_findObj(a[i]))!=null){
+ document.MM_sr[j++]=x;
+ if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];
+ }
+}
+
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 @@
<html>
<head>
-
- <title>dump.fm</title>
+ $if(cur)$
+ <title>dump.fm directory [$cur$]</title>
+ $else$
+ <title>dump.fm directory</title>
+ $endif$
$head()$
<link rel="stylesheet" type="text/css" href="/static/directory.css">
<script>