diff options
| author | Scott Ostler <sostler@deathmachine.local> | 2010-03-26 16:11:50 -0400 |
|---|---|---|
| committer | Scott Ostler <sostler@deathmachine.local> | 2010-03-26 16:11:50 -0400 |
| commit | b3dcf20f4428882d23af2de0790c9248a59cc39c (patch) | |
| tree | cbc8958d7da6cbdbb8f4db36ea96b560282a3e3a | |
| parent | b66a1d52c276b5599605621b91922745a48ca6d7 (diff) | |
| parent | 72a35872990d8c5d322eedf2dedb87b5d67e1aae (diff) | |
Merged src/site.clj TODO conflict
30 files changed, 1078 insertions, 191 deletions
diff --git a/src/site.clj b/src/site.clj index e68d2ad..be3ad0f 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, m.message_id, u.nick, u.avatar + (let [query (str "SELECT m.content, m.created_on, m.message_id, u.nick, u.avatar, r.key 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 " @@ -284,9 +284,7 @@ ;; Landing (defn landing [session] - (if (session :nick) - (redirect-to "/chat") - (serve-file "static" "index.html"))) + (redirect-to "/chat")) (defn login [session params cookies] (let [nick (params :nick) @@ -522,10 +520,11 @@ (or (not (room :admin_only)) (session :is_admin))))) -(defn chat [session room] +;; 3/20/10: add template so multiple chat urls for ryder +(defn chat [session room template] (let [now (System/currentTimeMillis) nick (session :nick) - st (fetch-template "chat" session) + st (fetch-template template session) message-list (to-array (map process-message-for-output ; TODO: remove db query @@ -544,9 +543,9 @@ (.setAttribute st "timestamp" now) (.toString st))) -(defn validated-chat [session room-key] +(defn validated-chat [session room-key template] (if (validate-room-access room-key session) - (chat session (@rooms room-key)) + (chat session (@rooms room-key) template) (resp-error "UNKNOWN_ROOM"))) (defn refresh [session params room] @@ -616,7 +615,7 @@ ;; Browser (defn browser [session] - (let [room (@rooms "RoomA") + (let [room (@rooms "dumpfm") now (System/currentTimeMillis) nick (session :nick) st (fetch-template "browser" session)] @@ -791,11 +790,12 @@ (GET "/login" (login session params cookies)) (GET "/logout" (logout session)) (GET "/register" (serve-static "static" "register.html")) - (GET "/:room/chat" (no-cache (validated-chat session (-> request :route-params :room)))) - (GET "/chat" (no-cache (validated-chat session "RoomA"))) + (GET "/:room/chat" (no-cache (validated-chat session (-> request :route-params :room) "chat"))) + (GET "/chat" (no-cache (validated-chat session "dumpfm" "chat"))) + (GET "/chat/:t" (no-cache (validated-chat session "dumpfm" (-> request :route-params :t)))) (GET "/browser" (browser session)) (GET "/refresh" (validated-refresh session params)) - (GET "/log" (validated-log session "RoomA" "0" params)) + (GET "/log" (validated-log session "dumpfm" "0" params)) (GET "/:room/log" (validated-log session (-> request :route-params :room) "0" params)) diff --git a/static/browser.html b/static/browser.html index 3bf3431..ed384b9 100755 --- a/static/browser.html +++ b/static/browser.html @@ -247,7 +247,7 @@ type: 'POST', timeout: 5000, url: '/msg', - data: { 'room': 'RoomA', 'content': res.unescapedUrl }, + data: { 'room': 'dumpfm', 'content': res.unescapedUrl }, cache: false, dataType: 'json' }); @@ -261,4 +261,4 @@ } </script> </body> -</html>
\ No newline at end of file +</html> diff --git a/static/directory.css b/static/directory.css index d0be212..e639703 100644 --- a/static/directory.css +++ b/static/directory.css @@ -352,7 +352,7 @@ body,td,th { background-color:#ffffee; background-image:url(/static/chanbg.png); background-repeat:repeat-x; - background-position:1 10; + background-position:top; background-attachment:fixed; margin: 0; diff --git a/static/dumpnewuser.css b/static/dumpnewuser.css new file mode 100644 index 0000000..09ca175 --- /dev/null +++ b/static/dumpnewuser.css @@ -0,0 +1,491 @@ +/* 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; + +} +#posthelp{ +position:fixed; +z-index:2000; +bottom:50px; +left:110px; +} +#webcamhelp{ +position:fixed; +z-index:2000; +right:20px; +bottom:39px; +} +#userlisthelp{ +position:fixed; +top:100px; +right:300px; +z-index:2000; +} +#imageboard{ +position:fixed; +top:20px; +left:-10px; +z-index:2000; +} +#uploadstuff{ +position:fixed; +display:none; +bottom:40px; +right:160px; +z-index:2000; +} +#signinblurb{ +position:absolute; +top:-20px; +display:none; +z-index:2000; +right:10px; +} +#readyjoin{ +position:fixed; +top:27px; +left:180px; +z-index:2000; +} +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; + + color: #fff; +} +.white a:visited { + text-decoration: none; + font-size:14px; + color: #fff; +} +#content{ + z-index: 3; + overflow: auto; + min-width:600px; +} + +#chatboxx { + position: fixed; + top:80px; +} + +#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:30px; + 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; + 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; +} +#msginputrapper{ +margin-right:374; + +} +#msgSubmit { + + position:absolute; + 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:#0c8fff; + 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:#0c8fff; + font-size:12px; + color:#fff; +background-image:url(/static/cambutton.png); + + 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; + 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; +} + + +#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; + 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:#0c8fff; + font-size:12px; + color:#fff; +background-image:url(/static/upbutton.png); + + text-shadow:1px 1px 3px rgba(0,0,0,1); +} +.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; +} +.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 6dc32cc..1c53bf7 100755 --- a/static/header.css +++ b/static/header.css @@ -1,3 +1,8 @@ +.share-buttons{ +cursor:pointer; +width:100; +} + .white a:link { text-decoration: none; font-size:14px; @@ -46,14 +51,13 @@ background-repeat:repeat-x; position:absolute; font-size: 16px; height:22; -word-spacing:1; width:455; color:#fff; text-indent:14; line-height:1.9; font-weight:bold; left: 140px; - margin-left: 1.2%; + margin-left: 1.1%; margin-right: 8%; letter-spacing:.2px; z-index: 999; @@ -294,13 +298,4 @@ height:0.1; .no-cursor { cursor: none; } .invisible { display: none !important; } -#cursor-big { position: absolute; z-index: 1000; } -#preload { - position: absolute; - left: 0px; - top: 0px; -} - -.share-button { - cursor: pointer; -}
\ No newline at end of file +#cursor-big { position: absolute; z-index: 1000; }
\ No newline at end of file diff --git a/static/imageboard.png b/static/imageboard.png Binary files differnew file mode 100644 index 0000000..807f1dd --- /dev/null +++ b/static/imageboard.png diff --git a/static/js/pichat.js b/static/js/pichat.js index 4c91a35..2158d89 100755 --- a/static/js/pichat.js +++ b/static/js/pichat.js @@ -26,8 +26,12 @@ var LastMsgContainsImage = false function linkReplace(url){ var PicRegex = /\.(jpg|jpeg|png|gif|bmp)$/i; var urlWithoutParams = url.replace(/\?.*$/i, ""); - linkUrl = url.indexOf('http://') == 0 ? url : 'http://' + url; - + + if (url.indexOf('http://') == 0 || url.indexOf('https://') == 0 || url.indexOf('ftp://') == 0) + linkUrl = url; + else + linkUrl = 'http://' + url; + if (PicRegex.test(urlWithoutParams)){ LastMsgContainsImage = true return "<a target='_blank' href='" + linkUrl + "'><img src='" + linkUrl + "'></a>" diff --git a/static/js/register.js b/static/js/register.js index d479aab..c87eadc 100755 --- a/static/js/register.js +++ b/static/js/register.js @@ -6,7 +6,7 @@ function validateNick(n) { // HOPE NO HACKERS ARE READING THIS :o var ValidCodes = ['WAXWANYE23', - 'HOTDUMPING5000','RHIZOME','VIP666','HEATNAP',]; + 'HOTDUMPING5000','RHIZOME','VIP666','HEATNAP','anamanaguchi',]; function submitRegistration() { var nick = $('#nickInput').val(); diff --git a/static/log.css b/static/log.css index 356369a..a9669a3 100644 --- a/static/log.css +++ b/static/log.css @@ -390,7 +390,7 @@ body,td,th { background-color:#ffffee; background-image:url(/static/chanbg.png); background-repeat:repeat-x; - background-position:1 10; + background-position:top; background-attachment:fixed; margin: 0; diff --git a/static/pages.css b/static/pages.css index f082a42..2e8f5da 100644 --- a/static/pages.css +++ b/static/pages.css @@ -413,7 +413,7 @@ body{ background-color:#ffffee; background-image:url(/static/chanbg.png); background-repeat:repeat-x; - background-position:1 10; + background-position:top; background-attachment:fixed; margin: 0; diff --git a/static/posthere.png b/static/posthere.png Binary files differnew file mode 100644 index 0000000..99d871d --- /dev/null +++ b/static/posthere.png diff --git a/static/profile.css b/static/profile.css index 3d5187e..fba0164 100755 --- a/static/profile.css +++ b/static/profile.css @@ -424,7 +424,7 @@ body,td,th { background-color:#ffffee; background-image:url(/static/chanbg.png); background-repeat:repeat-x; - background-position:1 10; + background-position:top; background-attachment:fixed; margin: 0; diff --git a/static/readyjoin.png b/static/readyjoin.png Binary files differnew file mode 100644 index 0000000..da8240c --- /dev/null +++ b/static/readyjoin.png diff --git a/static/search/imagesearch.html b/static/search/imagesearch.html new file mode 100644 index 0000000..73fb436 --- /dev/null +++ b/static/search/imagesearch.html @@ -0,0 +1,270 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title>dump.fm</title> + <link rel="stylesheet" type="text/css" href="/static/browser.css"> + +<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> + + <link href="/static/win.css" rel="stylesheet" type="text/css" media="screen"/> + <script type="text/javascript" src="/static/js/win.js"></script> + +</head> +<body onload=" + + javascript:CreateDropdownWindow('image search', '680px', true, 'search', 50, 60);" > + + + <div style="display:none;"id="search"> + <div id="content" name="content"style="background-image:url(/static/hearts.gif);background-repeat:repeat;height:800;"> + +<form onSubmit="searchImages(); return false;" > + + + <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"> + + <label> + </label> + </td> + + + <table class="search" width="425" border="0" cellpadding="5" cellspacing="0"> + + + <a href="#" id="about">options</a></div> + </table> + + + </div> + + <div id="description"> + <div align="left"><a href="#" class="closeinfo"></a> + </p> + + </div> + + + + <div align="left"> + <table class="search" width="425" border="0" cellpadding="5" cellspacing="0"> + <tr> + <td colspan="2"> + <p> + <label>where: + <select name="site" id="site" onChange="searchImages();"> + <option value="flickr.com" selected>flickr</option> + <option value="istockphoto.com">istockphoto</option> + <option value="photobucket.com">photobucket</option> + <option value="imikimi.com">imikimi</option> + <option value="blingee.com">Blingee</option> + <option value="myspace.com">myspace</option> + <option value="ning.com">ning.com</option> + <option value="mudspace.com">MudSpace</option> + <option value="gov">US Government</option> + <option value="wordpress.com">wordpress</option> + <option value="blogger.com">blogger</option> + <option value="typepad.com">typepad</option> + <option value="webshots.com">webshots</option> + <option value="blackplanet.com">Black Planet</option> + <option value="http://i.walmartimages.com/">walmart</option> + <option value="http://www.ibiblio.org">ibiblio</option> + <option value="deviantart.com">deviant art</option> + <option value="glitter-graphics.com">Glitter Graphics</option> + <option value="corbis.com">corbis</option> + <option value="made-in-china.com">made in china</option> + <option value="0" selected>EVERYWHERE</option> + </select> + </label> + <label> + <input name="showFaces" type="checkbox" onClick="searchImages();"> + Only Faces</label> + <div style="display:none;">★<label> hot shit</label>★ + <input type="radio" name="safeSearch" id="safeSearch2" value="off" onClick="searchImages();"checked> + Always ON</div> + </td> + </tr> + + <tr> + + </tr> + <tr> + <td colspan="2"><p> + <label>File Type</label> + <input type="radio" name="type" value="jpg" onClick="searchImages();"> + JPG + <input name="type" type="radio" value="png" onClick="searchImages();"> + PNG + <input name="type" type="radio" value="bmp" onClick="searchImages();"> + BMP + <input type="radio" name="type" value="gif" onClick="searchImages();"> + GIF + <input type="radio" name="type" value="0" checked onClick="searchImages();"> + Any</p></td> + </tr> + <tr> + <td colspan="2"><p> + <label>Image Size</label> + <input type="radio" name="size" value="small" onClick="searchImages();"> + Small + <input name="size" type="radio" value="medium" onClick="searchImages();"> + Medium + <input type="radio" name="size" value="large" onClick="searchImages();"> + Large + <input type="radio" name="size" value="xlarge" onClick="searchImages();"> + Extra Large + <input type="radio" name="size" value="0" checked onClick="searchImages();"> + All Sizes</p></td> + </tr> + <tr> + <td colspan="2"><p> + <label>Image Color</label> + <input type="radio" name="color" value="bw" onClick="searchImages();"> + Black & White + <input name="color" type="radio" value="gray" onClick="searchImages();"> + Gray + <input type="radio" name="color" value="color" onClick="searchImages();"> + Color + <input type="radio" name="color" value="0" checked onClick="searchImages();"> + Whateva</p></td> + </tr> + </table> + + </div> + </div> + </div> + + <tr> + <td colspan="2"><div id="searchControl"> + <div align="left">Loading... + </div> + </div></td> + </tr> + <div align="left"> + </table> + </div> +</form> + +</div> </div> +</div></div></div></div> +<script type="text/javascript"> + google.load('search', '1'); + google.setOnLoadCallback(searchImages, true); + + function searchImages() { + var control = new google.search.SearchControl(); + control.setResultSetSize(google.search.Search.LARGE_RESULTSET); + control.setNoResultsString("Sorry but no images match your search criteria. Please modify your search query and try again."); + control.setLinkTarget(google.search.Search.LINK_TARGET_BLANK); + + var options = new google.search.SearcherOptions(); + options.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN); + + var searcher = new google.search.ImageSearch(); + + for (var i = 0; i < document.forms[0].safeSearch.length; i++) { + if (document.forms[0].safeSearch[i].checked) { + if (document.forms[0].safeSearch[i].value == "off") + searcher.setRestriction(GSearch.RESTRICT_SAFESEARCH, google.search.Search.SAFESEARCH_OFF); + else if (document.forms[0].safeSearch[i].value == "moderate") + searcher.setRestriction(GSearch.RESTRICT_SAFESEARCH, google.search.Search.SAFESEARCH_MODERATE); + else if (document.forms[0].safeSearch[i].value == "strict") + searcher.setRestriction(GSearch.RESTRICT_SAFESEARCH, google.search.Search.SAFESEARCH_STRICT); + else + searcher.setRestriction(GSearch.RESTRICT_SAFESEARCH, null); + break; + } + } + + for (var i = 0; i < document.forms[0].size.length; i++) { + if (document.forms[0].size[i].checked) { + if (document.forms[0].size[i].value == "small") + searcher.setRestriction(GimageSearch.RESTRICT_IMAGESIZE, google.search.ImageSearch.IMAGESIZE_SMALL); + else if (document.forms[0].size[i].value == "medium") + searcher.setRestriction(GimageSearch.RESTRICT_IMAGESIZE, google.search.ImageSearch.IMAGESIZE_MEDIUM); + else if (document.forms[0].size[i].value == "large") + searcher.setRestriction(GimageSearch.RESTRICT_IMAGESIZE, google.search.ImageSearch.IMAGESIZE_LARGE); + else if (document.forms[0].size[i].value == "xlarge") + searcher.setRestriction(GimageSearch.RESTRICT_IMAGESIZE, google.search.ImageSearch.IMAGESIZE_EXTRA_LARGE); + else + searcher.setRestriction(GimageSearch.RESTRICT_IMAGESIZE, null); + break; + } + } + + for (var i = 0; i < document.forms[0].type.length; i++) { + if (document.forms[0].type[i].checked) { + if (document.forms[0].type[i].value == "bmp") + searcher.setRestriction(GimageSearch.RESTRICT_FILETYPE, google.search.ImageSearch.FILETYPE_BMP); + else if (document.forms[0].type[i].value == "jpg") + searcher.setRestriction(GimageSearch.RESTRICT_FILETYPE, google.search.ImageSearch.FILETYPE_JPG); + else if (document.forms[0].type[i].value == "png") + searcher.setRestriction(GimageSearch.RESTRICT_FILETYPE, google.search.ImageSearch.FILETYPE_PNG); + else if (document.forms[0].type[i].value == "gif") + searcher.setRestriction(GimageSearch.RESTRICT_FILETYPE, google.search.ImageSearch.FILETYPE_GIF); + else + searcher.setRestriction(GimageSearch.RESTRICT_FILETYPE, null); + break; + } + } + + for (var i = 0; i < document.forms[0].color.length; i++) { + if (document.forms[0].color[i].checked) { + if (document.forms[0].color[i].value == "bw") + searcher.setRestriction(GimageSearch.RESTRICT_COLORIZATION, google.search.ImageSearch.COLORIZATION_BLACK_AND_WHITE ); + else if (document.forms[0].color[i].value == "gray") + searcher.setRestriction(GimageSearch.RESTRICT_COLORIZATION, google.search.ImageSearch.COLORIZATION_GRAYSCALE); + else if (document.forms[0].color[i].value == "color") + searcher.setRestriction(GimageSearch.RESTRICT_COLORIZATION, google.search.ImageSearch.COLORIZATION_COLOR); + else + searcher.setRestriction(GimageSearch.RESTRICT_COLORIZATION, null); + break; + } + } + + var list = document.forms[0].site; + if (list.options[list.selectedIndex].value == 0) + searcher.setSiteRestriction(null); + else + searcher.setSiteRestriction(list.options[list.selectedIndex].value); + + for (var i = 0; i < document.forms[0].site.length; i++) { + if (document.forms[0].site[i].checked) { + if (document.forms[0].site[i].value == 0) + searcher.setSiteRestriction(null); + else + searcher.setSiteRestriction(document.forms[0].site[i].value); + break; + } + } + + if (document.forms[0].showFaces.checked) + searcher.setRestriction(GimageSearch.RESTRICT_IMAGETYPE, GimageSearch.IMAGETYPE_FACES); + else + searcher.setRestriction(GimageSearch.RESTRICT_IMAGETYPE); + + control.addSearcher(searcher, options); + + function keepResult(res) { + $.ajax({ + type: 'POST', + timeout: 5000, + url: '/msg', + data: { 'room': 'RoomA', 'content': res.unescapedUrl }, + cache: false, + dataType: 'json' + }); + }; + + control.setOnKeepCallback(this, keepResult, 'DUMP THIS'); + control.draw(document.getElementById("searchControl")); + + control.execute(document.getElementById('q').value); + return false; + } + </script> +</body> +</html>
\ No newline at end of file diff --git a/static/signinblurb.png b/static/signinblurb.png Binary files differnew file mode 100644 index 0000000..1ea58dd --- /dev/null +++ b/static/signinblurb.png diff --git a/static/uploadstuff.png b/static/uploadstuff.png Binary files differnew file mode 100644 index 0000000..405b463 --- /dev/null +++ b/static/uploadstuff.png diff --git a/static/urlbutton.png b/static/urlbutton.png Binary files differindex cbbe031..ef5ab64 100644 --- a/static/urlbutton.png +++ b/static/urlbutton.png diff --git a/static/urserlisthelp.png b/static/urserlisthelp.png Binary files differnew file mode 100644 index 0000000..bb2a559 --- /dev/null +++ b/static/urserlisthelp.png diff --git a/static/userlisthelp.png b/static/userlisthelp.png Binary files differnew file mode 100644 index 0000000..bb2a559 --- /dev/null +++ b/static/userlisthelp.png diff --git a/static/webcamhelp.png b/static/webcamhelp.png Binary files differnew file mode 100644 index 0000000..d3137e4 --- /dev/null +++ b/static/webcamhelp.png diff --git a/template/about_us.st b/template/about_us.st index 23265c4..1ea4df9 100644 --- a/template/about_us.st +++ b/template/about_us.st @@ -26,7 +26,7 @@ jQuery(function() background-attachment:fixed;" onload=" javascript:CreateDropdownWindow('about the site', '360px', true, 'news', 70, 75); javascript:CreateDropdownWindow('about the team', '380px', true, 'link', 500, 60); - javascript:CreateDropdownWindow('contact us', '360px', true, 'contact', 100, 375); + javascript:CreateDropdownWindow('contact us', '360px', true, 'contact', 100, 395); "> @@ -39,7 +39,7 @@ background-attachment:fixed;" onload=" <div style="padding:0px" id="content" name="content"> <div style="background-color:#fff"><center> <img src="/static/dumpclouds.png"><br><br> <h5 style="padding:2px;"> -DUMP.FM is a <img src="/static/newanim.gif"> experiment in communication and web surfing; allowing pictures to be used to talk in realtime. Users can send image URLs, upload locally from their hard drive or post a pic right from their webcam. Every image posted gets stored in your DUMP.FM log, similarly, a log is kept of the entire collaboration. +DUMP.FM is a <img src="/static/newanim.gif"> exciting tool for the internets; allowing pictures to be used for realtime communication and collaboration. Users can send image URLs (which display instantly in the chat), upload locally from their hard drive or post a pics right from their webcam. Every image gets stored in your DUMP.FM log, similarly, a log is kept of the entire collaboration. </center><br></div></h5> </div></div> @@ -54,7 +54,7 @@ DUMP.FM is a <img src="/static/newanim.gif"> experiment in communication and web <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> + <h2> <img src="/static/dot.gif"> Tim also helped make <a href="http://www.delicious.com" target="_blank">delicious</a></h2> <h1><a href="/u/stefan">Stefan Moore</a> - beats, fog machine, lights <br></h1> <h2> <img src="/static/dot.gif"> Stefan is also one half of <a href="http://www.that-go.net" target="_blank">That-Go</a></h2> </h1> diff --git a/template/banner.st b/template/banner.st index aa5ae50..b58a2b5 100755 --- a/template/banner.st +++ b/template/banner.st @@ -19,10 +19,16 @@ <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> - <div id="landscape"> <img src="/static/const_landscape.gif" /> </div> - <div id="welcomeinternet"> <img src="/static/welcome.gif" /> </div> + $else$ + + + <ul id="banner-menu"> + <li><div id="lastli"><a href="/">.</a></div></li> + + <li><a href="/register"><img src="/static/answer_good.gif" />Register</a></li> + + </ul> + $endif$ </div> </div> @@ -47,7 +53,3 @@ </div> </div> -<div id="preload"> - <img src="/static/img/cursors/osx.hand.gif" class="no-cursor invisible" id="cursor-big"> -</div> - diff --git a/template/chat.st b/template/chat.st index f44c383..6bdefc8 100755 --- a/template/chat.st +++ b/template/chat.st @@ -2,7 +2,11 @@ <head> <title>dump.fm</title> $head()$ + $if(user_nick)$ <link rel="stylesheet" type="text/css" href="/static/dump.css"> + $else$ + <link rel="stylesheet" type="text/css" href="/static/dumpnewuser.css"> + $endif$ <script type="text/javascript" src="/static/webcam/webcam.js"></script> <script type="text/javascript" src="/static/js/tooltip.js"></script> <script> @@ -44,7 +48,7 @@ function pop(url) <div id="userList"> $users: { u | <div class="username"><a href="/u/$u.nick$" target="_blank"> - $if(u.avatar)$<img src="$u.avatar$" width="50" height="50">$endif$ + $if(u.avatar)$<img src="$u.avatar$" width="50" height="50">$else$<img src="/static/noinfo.png"> $endif$ $u.nick$</a><br> </div> }$ @@ -68,6 +72,7 @@ function pop(url) <hr /> </div> $if(user_nick)$ + <link rel="stylesheet" type="text/css" href="/static/dump.css"> <div id="msgInputDiv"> <div id="msginputrapper"> <input id="msgInput" class="msgInput" type="input" /> </div> <input id="msgSubmit" type="submit" value="Send" @@ -77,12 +82,36 @@ function pop(url) <input id="webcam-button-snap" value="Send Pic" type="submit" class="invisible blink"> <div id="trophy"><a href="javascript:pop('http://www.likeneveralways.com/trash/count/index.php');"class="tooltip" title="Contest Counter"><img src="/static/trophyicon.gif"></a></div> </div> - $endif$ +$else$ + + <link rel="stylesheet" type="text/css" href="/static/dump.css"> + <div id="msgInputDiv"> + <div id="msginputrapper"> <input id="msgInput" class="msgInput" type="input" /> </div> + <input id="msgSubmit" type="submit" value="Send" + /> + <input id="upload" value="Upload" type="submit"> + <input id="webcam-button-upload" value="Webcam" type="submit"> + <input id="webcam-button-snap" value="Send Pic" type="submit" class="invisible blink"> + <div id="trophy"><a href="javascript:pop('http://www.likeneveralways.com/trash/count/index.php');"class="tooltip" title="Contest Counter"><img src="/static/trophyicon.gif"></a></div> + </div> + </div> </div> </div> </div> + <div id="newuserwrap"> + <div id="posthelp"><img src="/static/posthere.png"></div> + <div id="webcamhelp"><img src="/static/webcamhelp.png"></div> + <div id="userlisthelp"><img src="/static/userlisthelp.png"></div> + <div id="imageboard"><img src="/static/imageboard.png"></div> + <div id="uploadstuff"><img src="/static/uploadstuff.png"></div> + <div id="signinblurb"><img src="/static/signinblurb.png"></div> + <div id="readyjoin"><img src="/static/readyjoin.png"></div> + <script> + jQuery(document).ready(function(){ setTimeout( function(){ jQuery("#newuserwrap div").hide(1000) }, 10000 ) }) + </script> + </div> $endif$ <div id="footerc"> <p> $footer()$ diff --git a/template/goodies.st b/template/goodies.st index f8e4429..2bab2c7 100644 --- a/template/goodies.st +++ b/template/goodies.st @@ -1,11 +1,71 @@ <html> <head> - <title>Goodies</title> + <title>dump.fm | Image Search Beta</title> $head()$ + <link rel="stylesheet" type="text/css" href="/static/browser.css"> + <script type="text/javascript" src="/static/gritter/js/jquery.gritter.js"></script> + <link rel="stylesheet" type="text/css" href="/static/gritter/css/jquery.gritter.css" /> + + + + <script> + jQuery(document).ready(initChat); + var Nick = $json_user_nick$; + var Room = $json_room_key$; + var Timestamp = $timestamp$; + var PostedMessages = []; + var IsAdmin = "$isadmin$"; + var growlize = true; + </script> + + <style> + iframe { + z-index: 50000; + position: fixed; + top: 300px; + right: 25px; + + width:100%; + height:100%; + padding:0px; + background-color: #fff; + position:absolute; + top:0px; left:0px; + border:none; + } + </style> + </head> <body> - WE GOT NO GOODIES YET!!!!!!!!!!!!!!!!!!!!!!! - + $banner()$ + <div id="chatrap"> + <div id="logc"> + <div id="content"> + + <div id="rapper"> + <div id="loghead"></div> + </div> + + </div> + <div id="messagePane"> + <div id="messageList"> + <iframe src="/static/search/imagesearch.html" allowtransparency="true" scrolling="auto" ></iframe> + </div> + + </div> + </div> + </div> + </div> +</div> +</div> + + </div> + <div id="footerc"> + <p> + $footer()$</p> + <p> + </p> + </div> </body> -</html> -
\ No newline at end of file + +</html> diff --git a/template/head.st b/template/head.st index da1c3f5..fdf5fea 100755 --- a/template/head.st +++ b/template/head.st @@ -42,4 +42,4 @@ jQuery(document).ready(function () { MM_preloadImages('/static/mouseover.gif'); jQuery(function() { jQuery("#banner-menu").lavaLamp({ fx: "backout", speed: 700 })}); -</script> +</script>
\ No newline at end of file diff --git a/template/log.st b/template/log.st index 145f8c6..45de47e 100755 --- a/template/log.st +++ b/template/log.st @@ -2,50 +2,45 @@ <head> <title>dump.fm log</title> $head()$ - <link rel="stylesheet" type="text/css" href="/static/log.css"> + <link rel="stylesheet" type="text/css" href="/static/log.css"> <script> jQuery(document).ready(initLog); </script> </head> <body> $banner()$ - <div id="chatrap"> - - + <div id="chatrap"> <div id="log"> <div id="loghead"></div> <br> <div id="posts"> - <div id="lolbanner"> + <div id="lolbanner"> <img src="/static/welcomebanner.gif"> - </div> - $if(dumps)$ - $dumps: { d | $logged_dump(dump=d)$ }$ - $else$ - No dumps! - $endif$ - <div id="pnav"> - - $if(next)$ - <div id="pnavn"><a href="/$roomkey$/log/$next$">next ☞</a></div> + </div> + $if(dumps)$ + $dumps: { d | $log_dump(dump=d)$ }$ + $else$ + No dumps! $endif$ + <div id="pnav"> - - $if(prev)$ - <div id="pnavo"> <a href="/$roomkey$/log/$prev$">☜ prev</a> </div> - $endif$ + $if(next)$ + <div id="pnavn"><a href="/$roomkey$/log/$next$">next ☞</a></div> + $endif$ + + $if(prev)$ + <div id="pnavo"> <a href="/$roomkey$/log/$prev$">☜ prev</a> </div> + $endif$ - <br><br> + <br><br> </div> -</div> - - + </div> <div id="footer"> $footer()$ - </div></div> - + </div></div> + </body> </html> diff --git a/template/log_dump.st b/template/log_dump.st new file mode 100644 index 0000000..49aab4b --- /dev/null +++ b/template/log_dump.st @@ -0,0 +1,18 @@ +<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> + <a href="/u/$dump.nick$"> + <div id="logavatar"> + + $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 /> + $share_buttons()$ +</div> diff --git a/template/preload.st b/template/preload.st index 1f51935..8963e70 100644 --- a/template/preload.st +++ b/template/preload.st @@ -1,4 +1,13 @@ +<!-- todo: just put this lot in javascript? --> <div id="preload"> <img src="/static/img/cursors/osx.hand.gif" class="no-cursor invisible" id="cursor-big" /> - <img src="/static/upload.png" /> + <img src="/static/upload.png" class="invisible" /> + <img src="/static/dblue2.png" class="invisible" /> +<img src="/static/text.gif" class="invisible" /> +<img src="/static/directory.gif" class="invisible" /> +<img src="/static/image_draw.gif" class="invisible" /> +<img src="/static/door2.gif" class="invisible" /> +<img src="/static/cambutton.png" class="invisible" /> +<img src="/static/urlbutton.png" class="invisible" /> +<img src="/static/upbutton.png" class="invisible" /> </div>
\ No newline at end of file diff --git a/template/profile.st b/template/profile.st index bca6a8b..7a3944f 100755 --- a/template/profile.st +++ b/template/profile.st @@ -1,3 +1,4 @@ + <html> <head> <title>$nick$'s dump.fm</title> @@ -7,143 +8,138 @@ <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 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="cats"> - $if(dumps)$ - - <div id="lolbanner"> - <img src="/static/welcomebanner.gif"> + $if(dumps)$ + <div id="lolbanner"> + <img src="/static/welcomebanner.gif"> </div> + + $dumps:{ d | $profile_dump(dump=d)$ }$ + <div id="profile"> - $dumps:{ d | $logged_dump(dump=d)$ }$ - <div id="profile"> + <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> + $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 id="date"> + <div type="text" id="datepicker"></div></div> + </div> - <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> - $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> + <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(is_home)$ - <br> - <div id="edit-toggle"><a href="#">edit profile</a></div> - $endif$ - - <br> - <div id="date"> - <div type="text" id="datepicker"></div></div> - </div> + $if(next)$ + <div id="pnavn"><a href="/u/$nick$/$next$">next ☞</a></div> + $endif$ - $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" /> + + $if(prev)$ + <div id="pnavo"> <a href="/u/$nick$/$prev$">☜ prev</a></div> + $endif$ + + <br><br> </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 id="footer"> + $footer()$ + </div> </div> - - <div id="footer"> - $footer()$ - </div> - </div> </div></div></div> -$preload()$ </body> </html> diff --git a/template/profile_dump.st b/template/profile_dump.st new file mode 100644 index 0000000..52001d6 --- /dev/null +++ b/template/profile_dump.st @@ -0,0 +1,18 @@ +<div class="logged-dump" id="message-$dump.message_id$"> + <div> + $dump.created_on$ -- in <b><a href="/$dump.key$/chat">$dump.key$</a></b> + </div> + <a href="/u/$dump.nick$"> + <div id="logavatar"> + + $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 /> + $share_buttons()$ +</div> |
