diff options
| -rwxr-xr-x | src/site.clj | 33 | ||||
| -rwxr-xr-x | static/browser.html | 106 | ||||
| -rwxr-xr-x | static/dump.css | 489 | ||||
| -rwxr-xr-x | static/header.css | 24 | ||||
| -rwxr-xr-x | static/js/pichat.js | 44 | ||||
| -rwxr-xr-x | static/pichat.css | 9 | ||||
| -rwxr-xr-x | static/profile.css | 2 | ||||
| -rw-r--r-- | static/terms.html | 28 | ||||
| -rw-r--r-- | template/about_us.st | 10 | ||||
| -rwxr-xr-x | template/banner.st | 6 | ||||
| -rwxr-xr-x | template/chat.st | 12 | ||||
| -rw-r--r-- | template/directory.st | 12 | ||||
| -rwxr-xr-x | template/head.st | 25 | ||||
| -rwxr-xr-x | template/log.st | 3 | ||||
| -rwxr-xr-x | template/logged_dump.st | 67 | ||||
| -rwxr-xr-x | template/profile.st | 216 | ||||
| -rw-r--r-- | template/share_buttons.st | 6 | ||||
| -rw-r--r-- | template/single_message.st | 41 |
18 files changed, 709 insertions, 424 deletions
diff --git a/src/site.clj b/src/site.clj index 710b45b..b3e7e70 100755 --- a/src/site.clj +++ b/src/site.clj @@ -188,7 +188,7 @@ (defn fetch-messages-by-nick ([nick image-only] (fetch-messages-by-nick nick image-only 0)) ([nick image-only offset] - (let [query (str "SELECT m.content, m.created_on, u.nick, u.avatar + (let [query (str "SELECT m.content, m.created_on, m.message_id, u.nick, u.avatar FROM messages m, users u, rooms r WHERE m.user_id = u.user_id AND u.nick = ? AND r.room_id = m.room_id AND r.admin_only = false " @@ -197,6 +197,15 @@ LIMIT ? OFFSET ?")] (do-select [query nick *dumps-per-page* offset])))) +(defn fetch-public-message-by-id [id] + (let [query (str "SELECT m.content, m.created_on, m.user_id, u.nick, u.avatar + FROM messages m, users u, rooms r + WHERE m.user_id = u.user_id + AND r.room_id = m.room_id + AND r.admin_only = false + AND m.message_id = ?")] + (first (do-select [query (maybe-parse-int id -1)])))) + (defn build-room-map-from-db [room-db] {:admin_only (room-db :admin_only) :room_id (room-db :room_id) @@ -215,6 +224,7 @@ (let [st (.getInstanceOf template-group template)] (if (session :nick) (do (.setAttribute st "user_nick" (session :nick)) + (if (non-empty-string? (session :avatar)) (.setAttribute st "user_avatar" (session :avatar))) (.setAttribute st "isadmin" (session :is_admin)))) st)) @@ -379,7 +389,7 @@ (min (count directory) (* (inc offset) *per-directory-page*))) user-ids (apply str (interpose ", " (map #(%1 :user_id) users))) - qry (str "SELECT u.user_id, u.nick, u.avatar, m.content + qry (str "SELECT u.user_id, u.nick, u.avatar, m.content, m.message_id FROM users u, messages m WHERE u.user_id in (" user-ids ") AND m.user_id = u.user_id @@ -428,7 +438,23 @@ (if (zero? (count @*directory-listing*)) (.setAttribute st "notloaded" true)) (.toString st))) - + +;; Single posts + +(defn single-message [session nick-from-url id-from-url] + (if-let [user-info (fetch-nick nick-from-url)] + (if-let [message (fetch-public-message-by-id id-from-url)] + ; error if nick in url doesn't match the nick who posted the message from the id in url + ; this prevents people from scraping all the content by incrementing the id in the url + (if (= (user-info :user_id) (message :user_id)) + (let [st (fetch-template "single_message" session)] + (.setAttribute st "message" (process-message-for-output message)) + (.toString st)) + (resp-error "NO_MESSAGE")) + (resp-error "NO_MESSAGE")) + (resp-error "NO_USER"))) + + ;; Topics (defn valid-topic? [topic] @@ -749,6 +775,7 @@ (GET "/u/:nick/:offset" (profile session (params :nick) (params :offset))) + (GET "/p/:nick/:postid" (single-message session (params :nick) (params :postid))) (GET "/login" (login session params cookies)) (GET "/logout" (logout session)) (GET "/register" (serve-static "static" "register.html")) diff --git a/static/browser.html b/static/browser.html index 5251b68..3bf3431 100755 --- a/static/browser.html +++ b/static/browser.html @@ -3,90 +3,6 @@ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>dump.fm - image search</title> -<style type="text/css"> -<!-- -a { - font-size: 12px; - color: #f0e; -} -a:visited { - color: #f0e; -} -a:hover { - color: #f0e; -} -a:active { - color: #f0e; -} - - - - - - - - - body { - font-size:13; - font-family:"Trebuchet MS", Arial, Helvetica, sans-serif; - - -} -#rapper{ -} - #container { - text-align: left; - font-family: sans-serif; - color: #4E4848; - margin-left: auto; - margin-right: auto; - width: 1200px; - } - #description {display:none;width:790px;} - #description div, .post, .result {margin: -px 270px;width:470px;} - #description p > p,#description p {margin:0;line-height:.1;width:600;} - #description img {float:left;margin:0 12px 32px 0;} -table.search{font-family:Verdana,Arial,Helvetica,sans-serif;text-align:left;font-size:11px;color:#333}.gsc-trailing-more-results,.gsc-resultsHeader,.gsc-search-box{display:none}.gsc-results{padding-left:20px}#searchControl .gsc-control{width:550px;padding:10px;padding-left:20;}select, label{font:bold 11px Arial,Helvetica,sans-serif;color:#003;text-transform:uppercase;margin-right:5px;line-height:.1;}input#q{font:bold 11px Arial,Helvetica,sans-serif;color:#F00;height:2em;padding:3px;border-top:2px solid #999;border-right:2px solid #999;border-bottom:1px solid #999;border-left:1px solid #999;} -#logo{padding-left:20;} -.gsc-control img{ - max-width:500px; - width: expression(this.width > 500 ? 500: true); - max-height:400px; - height: expression(this.width > 500 ? 500: true); - - #submit { - - position:absolute; - display:inline-block; - width:120px; -height:35px; -right:0px; -font-size:20px; -background-image:url(/static/bg-btn-blue.png); -top:15px; - text-align:center; - z-index:100; - cursor:pointer; - background-color:#087cff; - border-top-right-radius:10px; - -webkit-border-top-right-radius:5px; - -moz-border-radius-topright:5px; - border-bottom-right-radius:5px; - -webkit-border-bottom-right-radius:5px; - -moz-border-radius-bottomright:5px; - border-radius:2px; - font-size:12px; - color:#fff; - text-shadow:1px 1px 3px rgba(0,0,0,0.5); -} - -#ish{ - top:30%; - left:20%; - width: 300px; -} -</style> - <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script src="dumpsearch.js" type="text/javascript"></script> @@ -101,24 +17,22 @@ top:15px; <div id="ish"> <form onSubmit="searchImages(); return false;" > <div align="left"> - - <tr> - <td colspan="2"><p align="left"></p> - - <div align="left"> - <input name="q" type="text" id="q" onChange="searchImages();" size="30%"> +<img src="/static/browsertool.gif"> + + <tr> + <td colspan="2"><br> + <input name="q" type="text" id="q" onChange="searchImages();" size="10%"> <input type="submit" name="submit" id="submit" class="msgSubmit"value="Search Images"> - </div> + <label> </label> - </p> </td> - </tr> - <div align="center"> + </td> + <div align="left"> <div align="left"> <table class="search" width="425" border="0" cellpadding="5" cellspacing="0"> - <a href="#" id="about">optionzz</a></div> + <a href="#" id="about">options</a></div> </table> @@ -330,7 +244,7 @@ top:15px; function keepResult(res) { $.ajax({ - type: 'GET', + type: 'POST', timeout: 5000, url: '/msg', data: { 'room': 'RoomA', 'content': res.unescapedUrl }, diff --git a/static/dump.css b/static/dump.css index 95e3196..92ea9fb 100755 --- a/static/dump.css +++ b/static/dump.css @@ -1,103 +1,420 @@ -@charset "UTF-8"; -/* CSS Document */ +/* pichat.css */ + +body { +background:#EEF2FF url(/static/fade-blue.png) top center repeat-x; + margin:0; + background-repeat:repeat-x; + background-position:top; +overflow:hidden; + +} + #topic { + z-index: 5000; + display: inline; + background-color: white; + } +#content{ + z-index: 3; + overflow: auto; + min-width:600px; +} + +#chatboxx { + position: fixed; + top:80px; +} - a:link { - text-decoration: none; - - } - a:visited { - text-decoration: none; - border: 0px; - } - a:hover { - text-decoration: none; - border: 0px; - } - a:active { - text-decoration: none; - border: 0px; - } - img{border: 0px;} - #apDiv7 { - position:absolute; - left:151px; - top:-106px; - width:351px; - height:66px; - z-index:4; - font-weight: bold; - line-height: 18px; - font-size: 14px; - } - #apDiv8 { - position:absolute; - left:964px; - top:131px; - width:416px; - height:140px; - z-index:4; - } #rapper { + top: 0px; +} +#trophy{ +position:fixed; +right:2; +bottom:30; + +} +#footerc +{ + text-align:center; + position:fixed; + width:100%; + bottom:0px; +line-height:3.1; + font-size:11px; +word-spacing:6px; +height:28px; + color: #000; + +} +#footerc a { + font-size: 11px; + color: #000; +} +#footerc a:link { + text-decoration: none; + font-size: 11px; +color:000; +} + +#footerc a:hover { + text-decoration:none; + font-size: 11px; + color: #f0e; +} + + +#messagePane { + border: 2px solid #c8cbce; +top:40px; +bottom:65px; + position:fixed; + width: 99.3%; + background-color:#FFF; +left:0.2%; + z-index:5; +} + +#messageList { + height: 100%; + width: 100%; + overflow-y: auto; + overflow-x: hidden; +} +#messagetabs { + height: 40px; + padding: 5px; + position: fixed; + width: 80%; + max-width:1500px; + overflow-y: hidden; + overflow-x: hidden; + top:48px; + left:0px; + z-index:1; +} + +#msgInputDiv { position:relative; - - width:800px; - margin: 0px auto -1px auto; - top:0px; - - z-index:1; - opacity:0.9; - + min-width:500px; + z-index:100; +left:1px; +bottom:10px; + width: 100%; +} + +#msgInput { + width: 99.7%; + z-index:100; + background-color:#FFF; + margin-top: 16px; + left:-3px; + position:relative; + border:2px solid #c8cbce; +height:35px; +font-size:20px; + min-width:500px; + box-shadow: 2px 3px 4px #eee; +} +.msgInput { + min-width:500px; + z-index:100; } -#top { +#msginputrapper{ +margin-right:374; + +} +#msgSubmit { + position:absolute; - left:0px; - top:0px; - width:100%; - height:32px; - z-index:2; - background-color: #CCC; + display:inline-block; + width:120px; +height:35px; +right:260px; +font-size:20px; +background-image:url(/static/urlbutton.png); +text-indent:27; + +top:15px; + text-align:center; + z-index:100; + cursor:pointer; + background-color:red; + font-size:12px; + color:#fff; + text-shadow:1px 1px 3px rgba(0,0,0,1); } +#webcam-button-upload{ + border-top-right-radius:10px; + -webkit-border-top-right-radius:5px; + -moz-border-radius-topright:5px; + border-bottom-right-radius:5px; + -webkit-border-bottom-right-radius:5px; + -moz-border-radius-bottomright:5px; + border-radius:5px; + position:absolute; + display:inline-block; + width:120px; +height:35px; +background-position:center; +right:20; +top:15px; +padding-bottom:1; +text-indent:28; + text-align:center; + z-index:100; + cursor:pointer; +background-color:yellow; + font-size:12px; + color:#fff; +background-image:url(/static/cambutton.png); -#bottom { + text-shadow:1px 1px 3px rgba(0,0,0,1); +} +#webcam-button-snap{ + border-top-right-radius:10px; + -webkit-border-top-right-radius:5px; + -moz-border-radius-topright:5px; + border-bottom-right-radius:5px; + -webkit-border-bottom-right-radius:5px; + -moz-border-radius-bottomright:5px; + border-radius:5px; position:absolute; - left:0px; - bottom:0px; - width:100%; - height:10px; - z-index:1; - font-size: 10px; - line-height: 5px; + display:inline-block; + width:120px; +height:35px; +background-position:center; +right:20; +top:15px; +padding-bottom:4; + text-align:center; + z-index:100; + cursor:pointer; +background-color:yellow; + font-size:17px; + color:#fff; +background-image:url(/static/bg-btn-red.png); + text-shadow:1px 1px 3px rgba(0,0,0,1); +} +#webcam-button-snap.blink{ + color:#4f4; } - -#bg { + +#webcam-button-close { /* 16 x 14 */ + position: fixed; + bottom: 330px; /* 240 + 68 - (16 / 2) */ + right: 335px; /* 320 - (14 / 2) */ + z-index: 5001; +border:1px solid #000; + box-shadow: 3px 4px 4px #c8cbce; +-webkit-box-shadow: 3px 4px 4px #c8cbce; +-moz-box-shadow: 3px 4px 4px #c8cbce; + cursor: pointer; +} + +#webcam-preview { + position:fixed; + bottom: 82; +opacity:0.9; + right:30; + box-shadow: 3px 4px 4px #c8cbce; +-webkit-box-shadow: 3px 4px 4px #c8cbce; +-moz-box-shadow: 3px 3px 4px #c8cbce; + border-top-right-radius:5px; + background-color:#FFF; + -webkit-border-top-right-radius:5px; + -moz-border-radius-topleft:5px; + -moz-border-radius-topright:5px; + border-bottom-left-radius:5px; + border-bottom-right-radius:5px; + -webkit-border-bottom-left-radius:5px; + -webkit-border-bottom-right-radius:5px; + -moz-border-radius-bottomleft:5px; + -moz-border-radius-bottomright:5px; +border:1px solid #999; + z-index:5000; +} +#upload { + border-top-right-radius:10px; + -webkit-border-top-right-radius:5px; + -moz-border-radius-topright:5px; + border-bottom-right-radius:5px; + -webkit-border-bottom-right-radius:5px; + -moz-border-radius-bottomright:5px; + border-radius:5px; position:absolute; - left:0px; - top:0px; - width:100%; - height:100%; - z-index:2; - background-image:url(grad2.jpg); + display:inline-block; + width:120px; +height:35px; +background-position:center; +right:140; +top:15px; +padding-bottom:1; +text-indent:24; + text-align:center; + z-index:100; + cursor:pointer; +background-color:blue; + font-size:12px; + color:#fff; +background-image:url(/static/upbutton.png); + + text-shadow:1px 1px 3px rgba(0,0,0,1); } -body { - background-image: url(/static/bg5.png); - background-repeat: repeat-x; +.msgDiv img{ + max-width:650px; + width: expression(this.width > 650 ? 650: true); + max-height:400px; + height: expression(this.width > 400 ? 400: true); + max-width:400px; +margin:-2; + z-index: 1; } -#plane { - position:fixed; - top:9px; - right:0px; - width:100%; - height:100%; - z-index:1; - background-image: url(/static/cloudbg2.png); - background-repeat: no-repeat; - background-position:center; - -moz-opacity: 0.6; -filter:alpha(opacity=60); - /* CSS3 standard */ - opacity:0.6; +.msgDiv {padding:2px; +} +.oldmsg { + color: #666; +} + +#userList { + overflow-x: hidden; + overflow-y:auto; + max-height: 55%; + margin: 0px; + position: absolute; + padding: 5px; + top:85px; + min-width: 200px; + width:11%; + float:right; + right: 6.2%; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + font-weight:420; + border-top-left-radius:5px; + border-top-right-radius:5px; + -webkit-border-top-left-radius:5px; + background-color:#FFF; + -webkit-border-top-right-radius:5px; + -moz-border-radius-topleft:5px; + -moz-border-radius-topright:5px; + border-bottom-left-radius:5px; + border-bottom-right-radius:5px; + -webkit-border-bottom-left-radius:5px; + -webkit-border-bottom-right-radius:5px; + -moz-border-radius-bottomleft:5px; + -moz-border-radius-bottomright:5px; +border-right:2px solid #c8cbce; +border-bottom:2px solid #c8cbce; + + box-shadow: 3px 4px 4px #c8cbce; +-webkit-box-shadow: 3px 4px 4px #c8cbce; +-moz-box-shadow: 3px 3px 4px #c8cbce; +filter: progid:DXImageTransform.Microsoft.dropShadow(color=#c8cbce, offX=3, offY=4, positive=true); + text-overflow:ellipsis; +opacity:0.87; + z-index:18; + text-align: left; +} +.username{height:30px; +margin-top:6px; +line-height:20px; +text-indent:6px; +z-index:18; +min-width:90px; +overflow:hidden; + +} +.username a { +display:block; +width:100%; +height:100%; +text-decoration:none; +} +.username a:hover { +display:block; +width:100%; +height:100%; +background-image:url(/static/moverc.png); +background-repeat:repeat-x; +color:#fff; +text-decoration:none; +background-color:#f3f3f3; + border-top-right-radius:5px; + -webkit-border-top-right-radius:5px; + -moz-border-radius-topright:5px; + border-bottom-right-radius:5px; + -webkit-border-bottom-right-radius:5px; + -moz-border-radius-bottomright:5px; +} +#userList img{ + max-width:30px; + width: expression(this.width > 30 ? 30: true); + max-height:30px; + height: expression(this.width > 30 ? 30: true); + max-width:30px; + + float:right; + right:1px; + z-index:77; + height:30px; + border-top-left-radius:3px; + border-top-right-radius:3px; + -webkit-border-top-left-radius:3px; + -webkit-border-top-right-radius:3px; + -moz-border-radius-topleft:3px; + -moz-border-radius-topright:3px; + border-bottom-left-radius:3px; + border-bottom-right-radius:3px; + -webkit-border-bottom-left-radius:3px; + -webkit-border-bottom-right-radius:3px; + -moz-border-radius-bottomleft:3px; + -moz-border-radius-bottomright:3px; +} + +#userListicon { + overflow: auto; + height: 70%; + margin: 0px; + position: fixed; + padding: 5px; + top:48px; + width: 7%; + float:right; + right: 35px; + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + text-transform: uppercase; + min-width:72px; + line-height:13px; + z-index:1; + font-weight: bold; + font-family: Arial, Helvetica, sans-serif; + color: #666; + text-transform:none; + +} +#avatar +{ + right:1px; + float:right; + text-align:left; + width:auto; +} +#mgsavatar{ +left:0; +} +#binfo { + font-family: Arial, Helvetica, sans-serif; + font-size: 11px; + bottom +} +#preload { + position: absolute; + left: 0px; + top: 0px; } +.invisible { display: none !important; }
\ No newline at end of file diff --git a/static/header.css b/static/header.css index e3cb85d..633ffa3 100755 --- a/static/header.css +++ b/static/header.css @@ -1,3 +1,22 @@ +a { + font-size: 12px; + color: #000; +} +a:link { + text-decoration: none; +} +a:visited { + text-decoration: none; + color: #000; +} +a:hover { + text-decoration: none; + color: #00F; +} +a:active { + text-decoration: none; + color: #000; +} .white a:link { text-decoration: none; font-size:14px; @@ -41,6 +60,9 @@ background-repeat:repeat-x; left: 0px; } + +.share-buttons img { cursor: pointer; } + #bar7{ top:12px; position:absolute; @@ -88,6 +110,8 @@ margin-top:2; #logout7 a{font-size:11px; } #logout7 a:hover{font-size:11px; +color:#fff; +text-shadow: 2px 3px 1px #f0e, 3px 3px 1px #fff; } #logo7{ margin-left: 3px; diff --git a/static/js/pichat.js b/static/js/pichat.js index 3775cfe..5784dcf 100755 --- a/static/js/pichat.js +++ b/static/js/pichat.js @@ -5,6 +5,10 @@ var MaxImagePosts = 40 // Utils +// use e.g. "backgroundColor" not "background-color" +function isCSSPropertySupported(prop){ + return prop in document.body.style; +} function escapeHtml(txt) { if (!txt) { return ""; } @@ -470,7 +474,7 @@ function initDirectory() { } //big hand stuff - +// TODO: replace this with simple pointer-events thing. function initBigHand(id){ var cursorId = "#cursor-big" @@ -535,4 +539,42 @@ function initBigHand(id){ $(id).mouseover(imageMouseOver) +} + +Share = { + "getMessage": function(button){ + var message = $(button).parents(".logged-dump") + var id = message.attr("id").substr(8) // cut "message-001" to "001" + var nick = message.find("a").attr("href").substr(3) // cut "/u/timb" to "timb" + var link = "http://dump.fm/p/" + nick + "/" + id + var content = message.find(".linkify") + if (!content.length) content = message.find(".content") + var rawContent = content.html() + var img = content.find("img").attr("src") + var via = "via " + nick + " on dump.fm" + return {"nick": nick, "id": id, "link": encodeURIComponent(link), "content": content, "img": encodeURIComponent(img), "via": encodeURIComponent(via)} + }, + "openLink": function(url){ + window.open(url, "_blank") + }, + "facebook": function(button){ + var message = Share.getMessage(button) + var url = "http://www.facebook.com/share.php?u=" + message.img + "&t=" + message.via + Share.openLink(url) + }, + "tumblr": function(button){ + var message = Share.getMessage(button) + var url = "http://www.tumblr.com/share?v=3&u=" + message.img + "&t=" + message.via + Share.openLink(url) + }, + "twitter": function(button){ + var message = Share.getMessage(button) + var url = "http://twitter.com/home?status=" + message.img + encodeURIComponent(" ") + message.via + Share.openLink(url) + }, + "delicious": function(button){ + var message = Share.getMessage(button) + var url = "http://delicious.com/save?url=" + message.img + "&title=" + message.img + "¬es=" + message.via + Share.openLink(url) + } }
\ No newline at end of file diff --git a/static/pichat.css b/static/pichat.css index cf8ffe3..92ea9fb 100755 --- a/static/pichat.css +++ b/static/pichat.css @@ -1,17 +1,18 @@ /* pichat.css */ body { - background:#EEF2FF url(/static/fade-blue.png) top center repeat-x; margin:0; - background-repeat:repeat-x; background-position:top; overflow:hidden; } - - + #topic { + z-index: 5000; + display: inline; + background-color: white; + } #content{ z-index: 3; overflow: auto; diff --git a/static/profile.css b/static/profile.css index 803e513..8b8155b 100755 --- a/static/profile.css +++ b/static/profile.css @@ -5,7 +5,7 @@ width:auto; position:absolute; top:29px; left:545; -max-width:230; +max-width:180; margin-top:34px; background-color:#fff; overflow: hidden; diff --git a/static/terms.html b/static/terms.html index 89bccd2..c565e38 100644 --- a/static/terms.html +++ b/static/terms.html @@ -19,10 +19,10 @@ > <P -><FONT size="+1"></B>The following Terms of Service has been adapted from the Termos of Service found at <a href="http://www.tumblr.com">Tumblr</a>. The purpose of this website, <A href="http://www.dump.fm" target="_blank"> +><FONT size="+1"></B>The following Terms of Service agreement has been adapted from the Terms of Service found on <a href="http://www.tumblr.com">Tumblr</a>. The purpose of this website, <A href="http://www.dump.fm" target="_blank"> <FONT color="#031CAA">www.dump.fm</A> -<FONT color="#000000"> (the “Site”), owned and operated by Dump.Fm, Inc.(“Dump.Fm”), a New York corporation, is to provide web publishing services. Please read these terms of service (“Agreement”) carefully before using the Site or any services provided on theSite (collectively, “Services”). By using or accessing the Services, you agree to become bound by all the terms and conditions of this Agreement. If you do not agree to all the terms and conditions of this Agreement, do not use the Services. The Services are accessed by You (“Subscriber” or “You”) under the following terms and conditions: </P +<FONT color="#000000"> (the “Site”), owned and operated by Dump.Fm, Inc.(“Dump.Fm”), a New York corporation, is to provide web chat and publishing services. Please read these terms of service (“Agreement”) carefully before using the Site or any services provided on the Site (collectively, “Services”). By using or accessing the Services, you agree to become bound by all the terms and conditions of this Agreement. If you do not agree to all the terms and conditions of this Agreement, do not use the Services. The Services are accessed by You (“Subscriber” or “You”) under the following terms and conditions: </P ><DIV class="Sect" ><H2 @@ -39,13 +39,13 @@ >Dump.Fm will use reasonable efforts to ensure that the Site and Services are available twenty-four hours a day, seven days a week. However, there will be occasions when the Site and/or Services will be interrupted for maintenance, upgrades and repairs or due to failure oftelecommunications links and equipment. Every reasonable step will be taken by Dump.Fm tominimize such disruption where it is within Dump.Fm’s reasonable control. </P ><P ->You agree that neither Dump.Fm nor the Site will be liable in any event to you or any other partyfor any suspension, modification, discontinuance or lack of availability of the Site, the service,your Subscriber Content or other Content. </P +>You agree that neither Dump.Fm nor the Site will be liable in any event to you or any other party for any suspension, modification, discontinuance or lack of availability of the Site, the service,your Subscriber Content or other Content. </P ><P ->Dump.Fm retains the right to create limits on use and storage in its sole discretion at any timewith or without notice. </P +>Dump.Fm retains the right to create limits on use and storage in its sole discretion at any time with or without notice. </P ><P ->Subscriber shall be responsible for obtaining and maintaining any equipment or ancillaryservices needed to connect to, access the Site or otherwise use the Services, including, withoutlimitation, modems, hardware, software, and long distance or local telephone service. Subscribershall be responsible for ensuring that such equipment or ancillary services are compatible withthe Services. </P +>Subscriber shall be responsible for obtaining and maintaining any equipment or ancillary services needed to connect to, access the Site or otherwise use the Services, including, withoutlimitation, modems, hardware, software, and long distance or local telephone service. Subscribershall be responsible for ensuring that such equipment or ancillary services are compatible withthe Services. </P ></DIV ><DIV class="Sect" @@ -54,13 +54,13 @@ ><FONT size="+2"><B>2. Site Content</H2 ><P -><FONT size="+1"></B>The Site and its contents are intended solely for the use of Dump.Fm Subscribers and may onlybe used in accordance with the terms of this Agreement. All materials displayed or performed on the Site, including, but not limited to text, graphics, logos, tools, photographs, images,illustrations, software or source code, audio and video, animations and Themes (as defined below), including without limitation the Dump.Fm Template Code (as defined below) (collectively, “Content”) (other than Content posted by Subscriber (“Subscriber Content”)) are the property of Dump.Fm and/or third parties and are protected by United States andinternational copyright laws. The Dump.Fm API shall be used solely pursuant to the terms of the API Terms of Service. All trademarks, service marks, and trade names are proprietary to Dump.Fm and/or third parties. Subscriber shall abide by all copyright notices, information, andrestrictions contained in any Content accessed through the Services. </P +><FONT size="+1"></B>The Site and its contents are intended solely for the use of Dump.Fm Subscribers and may onlybe used in accordance with the terms of this Agreement. All materials displayed or performed on the Site, including, but not limited to text, graphics, logos, tools, photographs, images,illustrations, software or source code, and animations (other than Content posted by Subscriber (“Subscriber Content”)) are the property of Dump.Fm and/or third parties and are protected by United States and international copyright laws. All trademarks, service marks, and trade names are proprietary to Dump.Fm and/or third parties. Subscriber shall abide by all copyright notices, information, andrestrictions contained in any Content accessed through the Services. </P ><P >The Site is protected by copyright as a collective work and/or compilation, pursuant to U.S.copyright laws, international conventions, and other copyright laws. Other than as expressly setforth in this Agreement, Subscriber may not copy, modify, publish, transmit, upload, participate in the transfer or sale of, reproduce (except as provided in this Section), create derivative worksbased on, distribute, perform, display, or in any way exploit, any of the Content, software, materials, or Services in whole or in part. </P ><P ->Subscriber may download or copy the Content, and other items displayed on the Site fordownload, for personal use only, provided that Subscriber maintains all copyright and other notices contained in such Content. Downloading, copying, or storing any Content for other thanpersonal, noncommercial use is expressly prohibited without prior written permission fromDump.Fm, or from the copyright holder identified in such Content's copyright notice. In theevent You download software from the Site, the software, including any files, images incorporated in or generated by the software, and the data accompanying the software(collectively, the “Software”) is licensed to You by Dump.Fm or third party licensors for Your personal, noncommercial use, and no title to the Software shall be transferred to You. You may own the Subscriber Content on which the Software is recorded, but Dump.Fm or third partylicensors retain full and complete title to the Software and all intellectual property rights therein. </P +>Subscriber may download or copy the Content, and other items displayed on the Site for download, for personal use only, provided that Subscriber maintains all copyright and other notices contained in such Content. Downloading, copying, or storing any Content for other thanpersonal, noncommercial use is expressly prohibited without prior written permission fromDump.Fm, or from the copyright holder identified in such Content's copyright notice. In theevent You download software from the Site, the software, including any files, images incorporated in or generated by the software, and the data accompanying the software(collectively, the “Software”) is licensed to You by Dump.Fm or third party licensors for Your personal, noncommercial use, and no title to the Software shall be transferred to You. You may own the Subscriber Content on which the Software is recorded, but Dump.Fm or third partylicensors retain full and complete title to the Software and all intellectual property rights therein. </P ></DIV ><DIV class="Sect" @@ -69,14 +69,14 @@ ><FONT size="+2"><B>3. Subscriber Content </H2 ><P -><FONT size="+1"></B>Subscriber shall own all Subscriber Content that Subscriber contributes to the Site, but herebygrants and agrees to grant Dump.Fm a non-exclusive, worldwide, royalty-free, transferable rightand license (with the right to sublicense), to use, copy, cache, publish, display, distribute, modify,create derivative works and store such Subscriber Content and to allow others to do so (“ContentLicense”) in order to provide the Services. On termination of Subscriber’s membership to the Site and use of the Services, Dump.Fm shall make all reasonable efforts to promptly remove from the Site and cease use of the Subscriber Content; however, Subscriber recognizes and agrees that caching of or references to the Subscriber Content may not be immediately removed.Subscriber warrants, represents and agrees Subscriber has the right to grant Dump.Fm and theSite the rights set forth above. Subscriber represents, warrants and agrees that it will notcontribute any Subscriber Content that (a) infringes, violates or otherwise interferes with anycopyright or trademark of another party, (b) reveals any trade secret, unless Subscriber owns the trade secret or has the owner’s permission to post it, (c) infringes any intellectual property right of another or the privacy or publicity rights of another, (d) is libelous, defamatory, abusive, threatening, harassing, hateful, offensive or otherwise violates any law or right of any third party, (e) contains a virus, trojan horse, worm, time bomb or other computer programming routine orengine that is intended to damage, detrimentally interfere with, surreptitiously intercept orexpropriate any system, data or information, or (f) remains posted after Subscriber has beennotified that such Subscriber Content violates any of sections (a) to (e) of this sentence.Dump.Fm reserves the right to remove any Subscriber Content from the Site, suspend orterminate Subscriber’s right to use the Services at any time, or pursue any other remedy or relief available to Dump.Fm and/or the Site under equity or law, for any reason (including, but not limited to, upon receipt of claims or allegations from third parties or authorities relating to suchSubscriber Content or if Dump.Fm is concerned that Subscriber may have breached theimmediately preceding sentence), or for no reason at all. </P +><FONT size="+1"></B>Subscriber shall own all Subscriber Content that Subscriber contributes to the Site, but herebygrants and agrees to grant Dump.Fm a non-exclusive, worldwide, royalty-free, transferable right and license (with the right to sublicense), to use, copy, cache, publish, display, distribute, modify,create derivative works and store such Subscriber Content and to allow others to do so (“ContentLicense”) in order to provide the Services. On termination of Subscriber’s membership to the Site and use of the Services, Dump.Fm shall make all reasonable efforts to promptly remove from the Site and cease use of the Subscriber Content; however, Subscriber recognizes and agrees that caching of or references to the Subscriber Content may not be immediately removed.Subscriber warrants, represents and agrees Subscriber has the right to grant Dump.Fm and theSite the rights set forth above. Subscriber represents, warrants and agrees that it will notcontribute any Subscriber Content that (a) infringes, violates or otherwise interferes with anycopyright or trademark of another party, (b) reveals any trade secret, unless Subscriber owns the trade secret or has the owner’s permission to post it, (c) infringes any intellectual property right of another or the privacy or publicity rights of another, (d) is libelous, defamatory, abusive, threatening, harassing, hateful, offensive or otherwise violates any law or right of any third party, (e) contains a virus, trojan horse, worm, time bomb or other computer programming routine orengine that is intended to damage, detrimentally interfere with, surreptitiously intercept orexpropriate any system, data or information, or (f) remains posted after Subscriber has beennotified that such Subscriber Content violates any of sections (a) to (e) of this sentence.Dump.Fm reserves the right to remove any Subscriber Content from the Site, suspend orterminate Subscriber’s right to use the Services at any time, or pursue any other remedy or relief available to Dump.Fm and/or the Site under equity or law, for any reason (including, but not limited to, upon receipt of claims or allegations from third parties or authorities relating to suchSubscriber Content or if Dump.Fm is concerned that Subscriber may have breached theimmediately preceding sentence), or for no reason at all. </P ></DIV ><H2 ><FONT size="+2"><B>4. Restrictions</H2 ><P -><FONT size="+1"></B>Subscriber is responsible for all of its activity in connection with the Services and accessing theSite. Any fraudulent, abusive, or otherwise illegal activity or any use of the Services or Content in violation of this Agreement may be grounds for termination of Subscriber’s right to Services or to access the Site. Subscriber may not post or transmit, or cause to be posted or transmitted,any communication or solicitation designed or intended to obtain password, account, or privateinformation from any Dump.Fm user. </P +><FONT size="+1"></B>Subscriber is responsible for all of its activity in connection with the Services and accessing the Site. Any fraudulent, abusive, or otherwise illegal activity or any use of the Services or Content in violation of this Agreement may be grounds for termination of Subscriber’s right to Services or to access the Site. Subscriber may not post or transmit, or cause to be posted or transmitted,any communication or solicitation designed or intended to obtain password, account, or privateinformation from any Dump.Fm user. </P ><P >Use of the Site or Services to violate the security of any computer network, crack passwords orsecurity encryption codes, transfer or store illegal material including that are deemed threateningor obscene, or engage in any kind of illegal activity is expressly prohibited. Under nocircumstances will Subscriber use the Site or the Service to (a) send unsolicited e-mails, bulkmail, spam or other materials to users of the Site or any other individual, (b) harass, threaten,stalk or abuse any person or party, including other users of the Site, (c) create a false identity or to impersonate another person, or (d) post any false, inaccurate or incomplete material or deleteor revise any material that was not posted by You. </P @@ -129,7 +129,7 @@ ><FONT size="+2"><B>9. Limitation of liability</P ><P -><FONT size="+1"></B>In no event shall Dump.Fm, its directors, officers, shareholders, employees or members be liablewith respect to the Site or the Services for (a) any indirect, incidental, punitive, or consequentialdamages of any kind whatsoever; (b) damages for loss of use, profits, data, images, SubscriberContent or other intangibles; (c) damages for unauthorized use, non-performance of the Site,errors or omissions; or (d) damages related to downloading or posting Content. Dump.Fm's andthe Site's collective liability under this agreement shall be limited to three hundred United StatesDollars. Some states do not allow the exclusion or limitation of incidental or consequentialdamages, so the above limitations and exclusions may not apply to Subscriber. </P +><FONT size="+1"></B>In no event shall Dump.Fm, its directors, officers, shareholders, employees or members be liablewith respect to the Site or the Services for (a) any indirect, incidental, punitive, or consequential damages of any kind whatsoever; (b) damages for loss of use, profits, data, images, SubscriberContent or other intangibles; (c) damages for unauthorized use, non-performance of the Site,errors or omissions; or (d) damages related to downloading or posting Content. Dump.Fm's andthe Site's collective liability under this agreement shall be limited to three hundred United StatesDollars. Some states do not allow the exclusion or limitation of incidental or consequentialdamages, so the above limitations and exclusions may not apply to Subscriber. </P ><P ><FONT size="+2"><B>10. Fees and payment</P @@ -141,7 +141,7 @@ ><FONT size="+2"><B>11. Termination </P ><P -><FONT size="+1"></B>Either party may terminate the Services at any time by notifying the other party by any means.Dump.Fm may also terminate or suspend any and all Services and access to the Siteimmediately, without prior notice or liability, if Subscriber breaches any of the terms or conditions of this Agreement. Upon termination of Subscriber's account, Subscriber’s right to use the Services, access the Site, and any Content will immediately cease. All provisions of this Agreement which by their nature should survive termination shall survive termination, including,without limitation, ownership provisions, warranty disclaimers, and limitations of liability. Termination of Your access to and use of the Site and the Services shall not relieve Subscriber of any obligations arising or accruing prior to such termination or limit any liability which Subscriber otherwise may have to Dump.Fm or the Site, including without limitation anyindemnification obligations contained herein. </P +><FONT size="+1"></B>Either party may terminate the Services at any time by notifying the other party by any means. Dump.Fm may also terminate or suspend any and all Services and access to the Siteimmediately, without prior notice or liability, if Subscriber breaches any of the terms or conditions of this Agreement. Upon termination of Subscriber's account, Subscriber’s right to use the Services, access the Site, and any Content will immediately cease. All provisions of this Agreement which by their nature should survive termination shall survive termination, including,without limitation, ownership provisions, warranty disclaimers, and limitations of liability. Termination of Your access to and use of the Site and the Services shall not relieve Subscriber of any obligations arising or accruing prior to such termination or limit any liability which Subscriber otherwise may have to Dump.Fm or the Site, including without limitation anyindemnification obligations contained herein. </P ><P ><FONT size="+2"><B>12. Privacy</P @@ -213,16 +213,16 @@ authorized by the copyright owner, its agent or law. ></OL ><P ->6. The Notifying Party's physical or electronic signature.After the Designated Agent receives notification of an alleged infringement that meets all of the requirements above, Dump.Fm shall: </P +>6. The Notifying Party's physical or electronic signature. After the Designated Agent receives notification of an alleged infringement that meets all of the requirements above, Dump.Fm shall: </P ><OL type="1" ><LI ->Disable access to or remove material that it has a reasonable, good faith belief iscopyrighted material that has been illegally copied and distributed by any subscriber tothe Site. </P +>Disable access to or remove material that it has a reasonable, good faith belief is copyrighted material that has been illegally copied and distributed by any subscriber tothe Site. </P ></LI ><LI ->Dump.Fm will then immediately notify the subscriber responsible for the allegedlyinfringing material (the Offending Subscriber) that it has removed or disabled access to the material. </P +>Dump.Fm will then immediately notify the subscriber responsible for the allegedly infringing material (the Offending Subscriber) that it has removed or disabled access to the material. </P ></LI ><LI diff --git a/template/about_us.st b/template/about_us.st index e324a82..23265c4 100644 --- a/template/about_us.st +++ b/template/about_us.st @@ -43,13 +43,7 @@ DUMP.FM is a <img src="/static/newanim.gif"> experiment in communication and web </center><br></div></h5> </div></div> - <div style="display:none;"id="archive"> - <div style="padding:0px" id="content" name="content"> - <div><input type=button value="Back" onClick="history.go(-1)"> - - </div> - <iframe src="http://night-falls.net/archive" style="width:99%" height="650px"></iframe> - </div> + <div style="display:none;"id="link"> <div id="content" name="content"style="background-image:url(/static/hearts.gif);background-repeat:repeat;"> @@ -57,7 +51,7 @@ DUMP.FM is a <img src="/static/newanim.gif"> experiment in communication and web <h1><br> <a href="/u/ryder">Ryder Ripps</a> - screams, rapping<br></h1> <h2> <img src="/static/dot.gif"> Ryder is also the founder of <a href="http://www.internetarchaeology.org" target="_blank">Internet Archaeology</a></h2> - <h1><a href="/u/scottbot">Scott Van Damme</a> - clean vocals <br></h1> + <h1><a href="/u/scottbot">Scott Ostler</a> - clean vocals <br></h1> <h2> <img src="/static/dot.gif"> Scott also worked on the development of <a href="http://www.simile-widgets.org/exhibit/"target="_blank">MIT Exhibit</a></h2> <h1><a href="/u/timb">Tim Baker</a> - synths, guitars, beats, backing vocals <br></h1> <h2> <img src="/static/dot.gif"> Tim was also a core developer of <a href="http://www.delicious.com" target="_blank">Delicious</a></h2> diff --git a/template/banner.st b/template/banner.st index 4b19bad..aa5ae50 100755 --- a/template/banner.st +++ b/template/banner.st @@ -15,9 +15,9 @@ <ul id="banner-menu"> <li><div id="lastli"><a href="/">.</a></div></li> <li><a href="/log"><img src="/static/text.gif" > Log</a></li> - <li><a href="/u/$user_nick$"><img src="/static/home4.gif"/> Profile</a></li> - <li><a href="/directory"><img src="/static/directory.gif"/> Directory</a></li> - <li><a href="/browser"><img src="/static/image_draw.gif" /> Image Search</a></li> + <li><a href="/u/$user_nick$">$if(user_avatar)$<img src="$user_avatar$" width="19px" height="19px" />$else$<img src="/static/home4.gif"width="22px" height="22px" />$endif$ Profile</a></li> + <li><a href="/directory"><img src="/static/directory.gif"width="20px" height="20px" /> Directory</a></li> + <li><a href="/browser"><img src="/static/image_draw.gif"/> Image Search</a></li> </ul> $else$ <div id="register" style="display:none;"> <a href="/register"><img src="/static/answer_good.gif" />Register</a></div> diff --git a/template/chat.st b/template/chat.st index 5ad8113..f44c383 100755 --- a/template/chat.st +++ b/template/chat.st @@ -2,7 +2,7 @@ <head> <title>dump.fm</title> $head()$ - <link rel="stylesheet" type="text/css" href="/static/pichat.css"> + <link rel="stylesheet" type="text/css" href="/static/dump.css"> <script type="text/javascript" src="/static/webcam/webcam.js"></script> <script type="text/javascript" src="/static/js/tooltip.js"></script> <script> @@ -29,16 +29,8 @@ function pop(url) { newwindow=window.open(url,'name','height=50,width=400,left=20,top=20,location=0,status=0,scrollbar=0,resizable=0'); if (window.focus) {newwindow.focus()} -} - +} </script> - <style> - #topic { - z-index: 5000; - display: inline; - background-color: white; - } - </style> </head> <body onload="MM_preloadImages('/static/thumbs_up_sm.gif')"> $banner()$ diff --git a/template/directory.st b/template/directory.st index 464013e..b21d2ad 100644 --- a/template/directory.st +++ b/template/directory.st @@ -17,7 +17,7 @@ <div id="loghead"></div> <br> - <div id="posts"> + <div id="posts"> <br> <center> <h2>✭ ✭ DUMP STARS ✭ ✭</h2> @@ -27,7 +27,7 @@ </center> $if(users)$ $users:{ u | - <div class="logged-dump"> + <div class="logged-dump" id="message-$u.message_id$"> <a href="/u/$u.nick$"> <b>$u.nick$</b> $if(u.avatar)$ @@ -45,11 +45,9 @@ <div id="infotxt"><b>last post</b></div> <span class="linkify">$u.content$</span> <hr /> - </div> - <a href="http://www.facebook.com/share.php?u=$u.content$&t=via dump.fm" target="_blank"><img src="/static/fbbutton.png"></a> - <a href="http://twitter.com/home?status=via dump.fm $u.content$" target="_blank"><img src="/static/twittericon.png"></a> - <a href="http://delicious.com/save?url=$u.content$¬es=via dump.fm&title=$u.content$" target="_blank"><img src="/static/delishicon.png"></a> - </div> + </div> + $share_buttons()$ + </div> }$ $else$ <span>No more users!</span> diff --git a/template/head.st b/template/head.st index e78ee8f..da1c3f5 100755 --- a/template/head.st +++ b/template/head.st @@ -43,28 +43,3 @@ jQuery(document).ready(function () { MM_preloadImages('/static/mouseover.gif'); jQuery(function() { jQuery("#banner-menu").lavaLamp({ fx: "backout", speed: 700 })}); </script> - -<style type="text/css"> -<!-- -a { - font-size: 12px; - color: #000; -} -a:link { - text-decoration: none; -} -a:visited { - text-decoration: none; - color: #000; -} -a:hover { - text-decoration: none; - color: #00F; -} -a:active { - text-decoration: none; - color: #000; -} - ---> -</style> diff --git a/template/log.st b/template/log.st index 65f149e..145f8c6 100755 --- a/template/log.st +++ b/template/log.st @@ -3,9 +3,6 @@ <title>dump.fm log</title> $head()$ <link rel="stylesheet" type="text/css" href="/static/log.css"> - <style> - - </style> <script> jQuery(document).ready(initLog); </script> diff --git a/template/logged_dump.st b/template/logged_dump.st index a927323..3b8336a 100755 --- a/template/logged_dump.st +++ b/template/logged_dump.st @@ -1,69 +1,20 @@ -<head> <script> - - function urlencode(turl) - { - var enurl=encodeURI(turl); - var stem="http://www.tumblr.com/share?v=3&u="; - var url = stem+enurl; - - newwindow=window.open(url,'name','height=400,width=200'); - if (window.focus) {newwindow.focus()} - - - } +<div class="logged-dump" id="message-$dump.message_id$"> + <div>$dump.created_on$ -- by <b><a href="/u/$dump.nick$">$dump.nick$</a></b></div> -</script> - - <style type="text/css"> + <a href="/u/$dump.nick$"> - .logged-dump { -img{ - max-width:650px; - width: expression(this.width > 650 ? 650: true); - max-height:400px; - height: expression(this.width > 400 ? 400: true); - max-width:400px; - } - .content { -img{ - max-width:650px; - width: expression(this.width > 650 ? 650: true); - max-height:400px; - height: expression(this.width > 400 ? 400: true); - max-width:400px; - } - -img{ - max-width:650px; - width: expression(this.width > 650 ? 650: true); - max-height:400px; - height: expression(this.width > 400 ? 400: true); - max-width:400px; - body { - background-image: url(static/bg4.png); -} - body,td,th { - font-family: Arial, Helvetica, sans-serif; -} - </style> - - </head> -<div class="logged-dump"> - <div>$dump.created_on$ -- by <b><a href="/u/$dump.nick$">$dump.nick$</a></b></div> - <a href="/u/$dump.nick$"> <div id="logavatar"> - $if(dump.avatar)$ - <img height="50" width="50" src="$dump.avatar$"> + + $if(dump.avatar)$<img height="50" width="50" src="$dump.avatar$" /> + $else$ + <img height="50" width="50" src="/static/noinfo.png"> + $endif$ </div></a> <div class="content">$dump.content$</div> <hr /> - <div style="display:none;"> -<a href="#" target="_blank" onclick:"urlencode('$dump.content$');"><img src="/static/tumblricon.png"></a></div> - <a href="http://www.facebook.com/share.php?u=$dump.content$&t=via dump.fm" target="_blank"><img src="/static/fbbutton.png"></a> -<a href="http://twitter.com/home?status=via dump.fm $dump.content$" target="_blank"><img src="/static/twittericon.png"></a> -<a href="http://delicious.com/save?url=$dump.content$¬es=via dump.fm&title=$dump.content$" target="_blank"><img src="/static/delishicon.png"></a> + $share_buttons()$ </div> diff --git a/template/profile.st b/template/profile.st index f6308b5..bca6a8b 100755 --- a/template/profile.st +++ b/template/profile.st @@ -7,137 +7,143 @@ <script src="/static/jquery.editinplace.1.0.1.packed.js" type="text/javascript"></script> <script src="/static/js/ajaxupload.js"></script> + <script type="text/javascript" src="/static/jquery.editinplace.1.0.1.packed.js"></script> + <script> jQuery(document).ready(initProfile); </script> - + </head> <body> $banner()$ <div id="chatrap"> - <div id="headerbar"></div> + <div id="headerbar"></div> <div id="log"> <div id="loghead"> </div> <br> - <div id="posts"> + <div id="posts"> + <div id="cats"> - $if(dumps)$ - <div id="lolbanner"> - <img src="/static/welcomebanner.gif"> + $if(dumps)$ + + <div id="lolbanner"> + <img src="/static/welcomebanner.gif"> </div> $dumps:{ d | $logged_dump(dump=d)$ }$ - <div id="profile"> - <h2>$nick$</h2> - $if(avatar)$ - <img id="avatarPic" src="$avatar$" width="150px"/> - $else$ - <b id="avatarPic"><img src="/static/noinfo.png"></b> - $endif$ - - $if(is_home)$ - <div id="avatar-editing" style="display: none"> - <div id="avatar" class="editable">$avatar$</div> - <input id="upload" value="Upload Icon" type="submit"> - <img id="spinner" src="/static/spinner.gif" style="display: none" /> - </div> - $endif$ - - <h3>contact info</h3> - $if(contact)$ - <div id="contact" class="linkify">$contact$</div> - $else$ - <div><img id="contact" src="/static/noinfo.png"></div> - $endif$ - <br> - - <h3>bio</h3> - $if(bio)$ - <div id="bio" class="linkify">$bio$</div> - $else$ - <div><img id="bio" src="/static/noinfo.png"></div> - $endif$ - - $if(is_home)$ - <br> - <div id="edit-toggle"><a href="#">edit profile</a></div> - $endif$ - - <br> - </div> + <div id="profile"> - $else$ - <h3> </h3> - <h3> </h3> - <h3> </h3> - <h3> </h3> - <h3> </h3> - <h3> </h3> - <div id="newuser"> - <h2>Welcome to dump.fm</h2> - <br><br> - - <h1>Step ❶</h1> - <h3>☟ Find a sweet image for your avatar, paste the URL below ☟</h3> - $if(avatar)$ - <img id="avatarPic" src="$avatar$" width="150px"/> - $else$ - <b id="avatarPic"></b> - $endif$ - - $if(is_home)$ - <div id="avatar-editing"> - <div id="avatar" class="editable">$avatar$</div> - <input id="upload" value="Upload Icon" type="submit"> - <img id="spinner" src="/static/spinner.gif" style="display: none" /> - </div> - $endif$ - - <h1>Step ❷</h1> - <h3>☟ Enter some contact info below ☟</h3> - <div id="contact" class="$if(is_home)$editable$else$linkify$endif$">$contact$</div> - <br> - - <h1>Step ❸</h1> - <h3>☟ Enter some personal info below ☟</h3> - <div id="bio" class="$if(is_home)$editable$else$linkify$endif$">$bio$</div> - <br> - <h1>Step ❹</h1> - - <h3> <a href="/chat">Join the ♣ and start posting pictures!</a></h3> - <h3> </h3> + <h2>$nick$</h2> + $if(avatar)$ + <img id="avatarPic" src="$avatar$" width="150px"/> + $else$ + <img id="avatarPic"><img src="/static/noinfo.png"> + $endif$ + + $if(is_home)$ + <div id="avatar-editing" style="display: none"> + <div id="avatar" class="editable">$avatar$</div> + <input id="upload" value="Upload Icon" type="submit"> + <img id="spinner" src="/static/spinner.gif" style="display: none" /> </div> - <h3> </h3> - <h3> </h3> - <h3> </h3> - <h3> </h3> - <h3> </h3> - $endif$ + $endif$ + + <h3>contact info</h3> + $if(contact)$ + <div id="contact" class="linkify">$contact$</div> + $else$ + <div><img id="contact" src="/static/noinfo.png"></div> + $endif$ + <br> - <p> </p> - <div id="pnav"> + <h3>bio</h3> + $if(bio)$ + <div id="bio" class="linkify">$bio$</div> + $else$ + <div><img id="bio" src="/static/noinfo.png"></div> + $endif$ - $if(next)$ - <div id="pnavn"><a href="/u/$nick$/$next$">next ☞</a></div> - $endif$ + $if(is_home)$ + <br> + <div id="edit-toggle"><a href="#">edit profile</a></div> + $endif$ - - $if(prev)$ - <div id="pnavo"> <a href="/u/$nick$/$prev$">☜ prev</a></div> - $endif$ - - <br><br> - </div> + <br> + <div id="date"> + <div type="text" id="datepicker"></div></div> + </div> - <div id="footer"> - $footer()$ + $else$ + <h3> </h3> + <h3> </h3> + <h3> </h3> + <h3> </h3> + <h3> </h3> + <h3> </h3> + <div id="newuser"> + <h2>Welcome to dump.fm</h2> + <br><br> + + <h1>Step ❶</h1> + <h3>☟ Find a sweet image for your avatar, paste the URL below ☟</h3> + $if(avatar)$ + <img id="avatarPic" src="$avatar$" width="150px"/> + $else$ + <b id="avatarPic"></b> + $endif$ + + $if(is_home)$ + <div id="avatar-editing"> + <div id="avatar" class="editable">$avatar$</div> + <input id="upload" value="Upload Icon" type="submit"> + <img id="spinner" src="/static/spinner.gif" style="display: none" /> </div> + $endif$ + + <h1>Step ❷</h1> + <h3>☟ Enter some contact info below ☟</h3> + <div id="contact" class="$if(is_home)$editable$else$linkify$endif$">$contact$</div> + <br> + + <h1>Step ❸</h1> + <h3>☟ Enter some personal info below ☟</h3> + <div id="bio" class="$if(is_home)$editable$else$linkify$endif$">$bio$</div> + <br> + <h1>Step ❹</h1> + + <h3> <a href="/chat">Join the ♣ and start posting pictures!</a></h3> + <h3> </h3></div> + <h3> </h3> + <h3> </h3> + <h3> </h3> + <h3> </h3> + <h3> </h3> + $endif$ + + <p> </p> + <div id="pnav"> + + $if(next)$ + <div id="pnavn"><a href="/u/$nick$/$next$">next ☞</a></div> + $endif$ + + + $if(prev)$ + <div id="pnavo"> <a href="/u/$nick$/$prev$">☜ prev</a></div> + $endif$ + + <br><br> </div> + + <div id="footer"> + $footer()$ + </div> + </div> </div></div></div> - $preload()$ +$preload()$ </body> </html> diff --git a/template/share_buttons.st b/template/share_buttons.st new file mode 100644 index 0000000..eeaae92 --- /dev/null +++ b/template/share_buttons.st @@ -0,0 +1,6 @@ +<div class="share-buttons"> +<img src="/static/fbbutton.png" class="share-button" onclick="Share.facebook(this)"> +<img src="/static/tumblricon.png" class="share-button" onclick="Share.tumblr(this)"> +<img src="/static/twittericon.png" class="share-button" onclick="Share.twitter(this)"> +<img src="/static/delishicon.png" class="share-button" onclick="Share.delicious(this)"> +</div>
\ No newline at end of file diff --git a/template/single_message.st b/template/single_message.st new file mode 100644 index 0000000..7047cbd --- /dev/null +++ b/template/single_message.st @@ -0,0 +1,41 @@ +<html> + <head> + + <title>dump.fm</title> + $head()$ + <link rel="stylesheet" type="text/css" href="/static/directory.css"> + <script> + jQuery(document).ready(initDirectory); + </script> + + + </head> + <body> + $banner()$ + <div id="chatrap"> + <div id="log"> + <div id="loghead"></div> + <br> + <div id="posts"> + <br> + <div class="logged-dump" id="message-$message.message_id$"> + <a href="/u/$message.nick$"> + <b>$message.nick$</b> + $if(message.avatar)$ + <div style="border-image:url($message.avatar$)"> + <div id="logavatar"> + <img height="50" width="50" src="$message.avatar$"></img> + </div> + $endif$ + </a> + <span class="linkify">$message.content$</span> + <hr /> + </div> + $share_buttons()$ + </div> + <!--<div id="footer"> + $footer()$ + </div>--> + </div> + </body> +</html> |
