diff options
| author | sostler <sbostler@gmail.com> | 2010-03-21 23:01:13 -0400 |
|---|---|---|
| committer | sostler <sbostler@gmail.com> | 2010-03-21 23:01:13 -0400 |
| commit | 1c2f320c2b14089250f5e7b7790f40dc3a2908fc (patch) | |
| tree | da0df4614a38f0555cf0312bce962d8c8fb243bd | |
| parent | 72a35872990d8c5d322eedf2dedb87b5d67e1aae (diff) | |
| parent | b66a1d52c276b5599605621b91922745a48ca6d7 (diff) | |
Resolved TODO conflict
| -rwxr-xr-x | src/site.clj | 33 | ||||
| -rwxr-xr-x | static/index.html | 131 | ||||
| -rwxr-xr-x | static/js/home.js | 28 | ||||
| -rw-r--r-- | template/directory.st | 7 |
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> |
