From svnnotify @ sourceforge.jp Mon Dec 1 13:21:53 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Dec 2008 13:21:53 +0900 Subject: [Slashdotjp-dev 1322] [853] add some csses and js Message-ID: <1228105313.311628.10315.nullmailer@users.sourceforge.jp> Revision: 853 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=853 Author: tach Date: 2008-12-01 13:21:53 +0900 (Mon, 01 Dec 2008) Log Message: ----------- add some csses and js Modified Paths: -------------- test/images/Makefile Added Paths: ----------- test/images/css/comments-idle.css test/images/css/comments-idle.css.orig test/images/css/idlecore-tidied.css test/images/css/idlecore-tidied.css.orig test/images/css/lick.css test/images/css/lick.css.orig test/images/jquery-opt-1.js test/images/jquery-opt-1.js.orig -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-11-28 11:55:53 UTC (rev 852) +++ test/images/Makefile 2008-12-01 04:21:53 UTC (rev 853) @@ -3,8 +3,8 @@ DESTDIR = /var/lib/slash/site/slashdot.jp/htdocs/images sections = apple ask books developer games hardware it linux mobile politics yro -csses = core-tidied comments firehose search polls calendar admin admin-topic-popup print handheld slashcode_lite slashcode_low_bw iestyles ie6 ie7 ie8 -jses = all-minified comments sectionprefs +csses = core-tidied comments firehose search polls calendar admin admin-topic-popup print handheld slashcode_lite slashcode_low_bw iestyles ie6 ie7 ie8 idlecore-tidied lick comments-idle +jses = all-minified comments sectionprefs jquery-opt-1 default: update update: $(csses) $(sections) $(jses) images Added: test/images/css/comments-idle.css =================================================================== --- test/images/css/comments-idle.css (rev 0) +++ test/images/css/comments-idle.css 2008-12-01 04:21:53 UTC (rev 853) @@ -0,0 +1,367 @@ +frame {border: none; overflow: hidden} + +ul li {list-style: none} + +#commentlisting ul li { + padding-left: 2em; + background: url("//images.slashdot.jp/comment-line.png") no-repeat 10px 0px; +} + +#commentlisting ul li.contain {padding-left: 0;} + +#commentlisting .commentBody ul {background: transparent} + +/* Control box */ +div.commentwrap { + position: relative; + margin: .5em 0 1.25em 0; + padding: 0; + background: #696969 url("//images.slashdot.jp/commentbox-bg.png") repeat-x left top; + clear: right; +} +.title2 {padding: 1em} +div.commentwrap div.commentBox:first-child {margin: 0;} + +div.commentBox { + padding: .3em .7em; + color: #555; + font-size: 93%; + text-align: center; +} +.commentBox a { color: #555; } +.commentBox a:visited { color: #ccc; } + +div.commentBoxForm { + padding: 1.3em 0 0 0; + text-align: center; + background: #eee url("//images.slashdot.jp/commentboxform-bg.png") repeat-x left bottom; +} + div.commentBoxForm form { padding: 0; } + div.commentBoxForm div.commentBox { + padding: 1em 0 .5em 0; + } + div.commentBoxForm div.commentBox small { + color: #555; + font-size: 93%; + } + +.commentwrap legend { + display: none; +} +.commentwrap fieldset, .commentswrap form { + margin:0; + padding: 0; + border: none; +} +.linkCommentPage { + margin-bottom: 15px; + background: #eee; + text-align: center; + padding: .3em; +} + + #metamod div.commentTop div.title {padding: .35em 0 .5em 0;} + #metamod div.commentTop div.title h4 { + padding: .5em .7em; + display: inline; + } + + + + +/* Comment titlebar */ + +.comment div.title { background: #044 url("http://images.slashdot.jp/article-title-bg.png") repeat-x left top; } +.comment div.full div.title { background: #044 url("http://images.slashdot.jp/article-title-bg.png") repeat-x left top !important; } +.comment .full div.title, .comment .full div.details {margin: 0 -4px} +.comment .full {border-bottom: 1px solid #eee} +.comment div.title h4 a { color: #fff; background: none;} +.comment div.title h4 { padding: .3em .7em; color: #fff; font-weight: bold; background: url("http://images.slashdot.jp/article-title-left.png") no-repeat left top; } + +/* comment styling */ +#commentlisting li { padding: 0; margin: 1em; } +#commentlisting li .oneline {margin-top: .3em} +.comment .oneline .score {color: #000} +.comment .oneline div.title, .comment .oneline div.title h4, .comment .oneline div.title h4 a {color: #044} +.comment .oneline div.commentBody {color: #555;} +/* Review for removal */ +.comment .oneline div.title, .comment .oneline div.details, .comment .oneline div.title h4, .comment .oneline div, .comment .oneline div.title h4 a, +#commentlisting div.commentTop a, +#commentlisting div.commentBody a, +#commentlisting div.commentSub a, +#commentlisting div.commentTop a:visited, +#commentlisting div.commentBody a:visited, +#commentlisting div.commentSub a:visited, +#commentlisting .commentBody ul { background: none; } + + +div.commentTop div.details { + padding: .3em .7em; + font-size: 93%; + background: #e6e6e6; +} +.full div.commentTop div.details { + font-size: 93%; + background: #e6e6e6; +} + + +div.commentBody { padding: 1em; line-height: 160%; overflow: hidden; } +#commentlisting { padding: 2em; } + +/* Sub button */ +div.commentSub { + padding: .7em; + font-size: 93%; + font-weight: bold; + color: #ccc; +} + +/* Current selected */ + +span.current {position: absolute; left: .3em; margin-top: -.4em; z-index: 0; font-weight: bold; font-size:42px;} +.contain {border: 4px solid #e6e6e6; border-top: none;} + + +/* Styles copied from the old comments.css */ + +.commentshrunk, .commentstatus { font-weight: bold } + +.comment_footer { text-align: center; background: #ddd } +.modsel { + display: inline; + font-weight: bold; + color: black; +} + +.ups { + margin: 0 0 0 -.3em; + padding: 0 .3em; + text-decoration: none; + background: url("http://images.slashdot.jp/comm-minus.gif") 0 .2em no-repeat; + right: -1.4em; + z-index: 2; + cursor: pointer; +} + +.dwns { + margin: 0; + padding: 0 .3em; + text-decoration: none; + background: url("http://images.slashdot.jp/comm-plus.gif") 0 .2em no-repeat; + right: -1.4em; + z-index: 1; + cursor: pointer; +} + +.oldcomment { + opacity: .65; +} +.newcomment { } +.currcomment .oldcomment { + opacity: 1; +} + + + + +.comment .hidden { display: none; } +.comment .full { display: block;} +.comment .oneline * { display: inline; padding: .3em 0 } +.comment .oneline .badgeicon img {position: absolute; top: 0; left: 5px; height: 16px; width: 16px;} +.comment .oneline .badgeicon {padding: 4px 8px 8px !important; position: relative} + +.comment .oneline .commentSub, .comment .oneline .otherdetails, .comment .oneline .sig, .comment .oneline .quote, .comment .oneline .readrest, .comment .oneline .zooicon { display: none; } +.comment .oneline { overflow: hidden; height: 1.5em; } +.score { font-weight: normal; color:#fff; } + +/* D2 Widget */ + +#d2act {display: none; position: relative; opacity: 1; z-index: 1000; width: 9.3em; text-align: center; } +.vertical #d2act {position: absolute; left: 1.2em !important} +.vertical #d2act.rooted {left:-10.6em !important;} +#d2act div.block {background: transparent} +#d2act div.block div.title h4 {text-align: left;} +.rooted #d2act.rooted div.block div.title h4 { background: none !important; } +#d2act .close {position: absolute; top: .2em; right: .2em; color: #ccc; text-decoration: none; border: 1px solid #bbb; border-bottom: 1px solid #444; border-right: 1px solid #555; padding: 0 .3em;} +#d2act .close:hover {position: absolute; top: .2em; right: .2em; color: #eee; text-decoration: none; border: 1px solid #444; border-bottom: 1px solid #aaa; border-right: 1px solid #ccc; padding: 0 .3em;} +#d2act .commentControlFooter {border-bottom: 1px solid #444; border-top: 1px solid #ccc; text-align: center; padding: 3px; background: #666; color: #fff; font-size: 10px; } +#d2act .commentControlFooter a { color: #fff; text-decoration: none; } +.loki { display: inline;} +.comment_divider, +#comment_full, +#comment_abbr, +#comment_hidden {opacity: 1 !important; border-right: 1px solid #aaa;border-left: 1px solid #aaa;} +.commentControlFooter {clear: both} +#commentlisting {clear: right; background: #fff} +#commentControlBoxStatus {border-bottom: 1px solid #444; border-top: 1px solid #ccc; text-align: center; padding: 3px; background: #666; color: #fff; } + +.escape-link { position: relative; float: left; text-align: left;} +.commentBox div {width: 100%; text-align: right} + +.horizontal .loki {display: block; } +.horizontal #d2act {left: 0 !important; margin:0;background: #fff; right: 0; opacity: 1; top: 0; z-index: 1000; border: none; width: auto; text-align: center; overflow: hidden;} +.horizontal #d2act.rooted {left: 0 !important; margin:0 0 0 0;} +.rooted #d2act.rooted { border: 3px solid #555555; } +/* .horizontal #d2act div.block div.title h4 {background: transparent !important} */ +.horizontal #d2act .commentControlFooter { display: none; } + +.ccw-header-links { display: none; } +.horizontal .ccw-header-links { display: block; position: absolute; right: 2em; top: 0.5em; text-align: right; } + +/* new draggable guts for the D2 Widget */ + +/* Overall Size and Position */ +.ccw-panel-border { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } + +#ccw, #ccw-centering-rail, +#ccw-body { + display: block; + position: relative; +} + +#ccw-panel-container, +div.ccw-panel, #ccw-control, +#ccw-abbr-bar-pos, #ccw-hide-bar-pos, +#ccw-abbr-bar, #ccw-hide-bar, +.ccw-count-pos, .ccw-count-text, +.ccw-bar-tab, +.horizontal #ccw-body, +.horizontal div.ccw-panel { + display: block; + position: absolute; +} + +.horizontal #ccw-body { width: 100%; border-top:1px solid #999999;} +.vertical #ccw-panel-container, .vertical #ccw-control { top: 16px; bottom: 16px; } +.horizontal #ccw-panel-container, .horizontal #ccw-control { left: 0.5em; right: 0.5em; } + +.ccw-core-pos { height: 1px; } +.horizontal .ccw-core-pos { width: 1px; } + + +#ccw-centering-rail, #ccw-abbr-bar-pos, #ccw-hide-bar-pos { width: 2px; } +#ccw-centering-rail { margin: 0 auto; } +.horizontal #ccw-centering-rail { width: 100%; } + +.horizontal #ccw-centering-rail, +.horizontal #ccw-abbr-bar-pos, +.horizontal #ccw-hide-bar-pos { top: 1em; height: 2px; } + + +.ccw-core, .ccw-panel, .ccw-count-pos { height: 140px; width: 9.3em; } +.vertical .ccw-panel { height: auto; } +.vertical .ccw-count-pos { height: 1px; } +.horizontal .ccw-core, .horizontal .ccw-panel, .horizontal .ccw-count-pos { height: 2em; width: auto; } +.horizontal #ccw-panel-container, .horizontal #ccw-control { left: 0.5em; } +#ccw { height: 172px; width: 9.3em; } +.horizontal #ccw { height: 2em; width: 100%; } + +.ccw-bar { height: 4px; width: 9.8em; left: -4.65em; } +.horizontal .ccw-bar { width: 4px; height: 2.4em; top: -1.2em; left: 0; } +#ccw-abbr-bar { top: -5px; } +.horizontal #ccw-abbr-bar { top: -1.2em; left: -9px; } + +.ccw-bar-tab { height: 8px; width: 3em; left: 3.5em; } +.horizontal .ccw-bar-tab { height: 1.2em; width: 4px; } +#ccw-abbr-bar-tab { top: -9px; } +#ccw-hide-bar-tab { top: 4px; } +.horizontal #ccw-abbr-bar-tab { top: 0.5em; left: -5px; } +.horizontal #ccw-hide-bar-tab { top: 0.5em; left: 4px; } + +.ccw-upzone, .ccw-downzone { display: none; height: 12px; width: 100%; } +.horizontal .ccw-upzone, .horizontal .ccw-downzone { width: 12px; height: 100%; } +.ccw-upzone { top: -12px; } +.ccw-downzone { top: 4px; } +.horizontal .ccw-upzone { left: -12px; top: 0; } +.horizontal .ccw-downzone { left: 4px; top: 0; } + + +#ccw-body { z-index: 1; } + +.vertical #ccw-full-panel { top: -16px; } +.vertical #ccw-hide-panel { bottom: -16px; } +.horizontal #ccw-full-panel { left: -0.5em; } +.horizontal #ccw-hide-panel { right: -0.5em; } + +.vertical .ccw-panel-border { border-width: 0 1px; } +.horizontal .ccw-panel-border { border-width: 0 0 1px 0; } +.horizontal #ccw-full-panel .ccw-panel-border { border-width: 0 0 1px 1px; } + + +/* Borders and Fills */ +#ccw-full-panel { background: #fff url("//images.slashdot.jp/dark_fade_30.png") bottom repeat-x; border-bottom: solid 1px #999;} +#ccw-abbr-panel { background: #ccc url("//images.slashdot.jp/dark_fade_30.png") bottom repeat-x; border-bottom: solid 1px #888;} +#ccw-hide-panel { background: #aaa url("//images.slashdot.jp/dark_fade_30.png") bottom repeat-x; border-bottom: solid 1px #777;} + +/* Grab Bars */ +.horizontal #ccw-abbr-bar {background: transparent url("/images/d2_button_horizonal.png") center no-repeat; width:19px; height: 33px; z-index:1000;} +.horizontal #ccw-hide-bar {background: transparent url("/images/d2_button_horizonal.png") center no-repeat; width:19px; height: 33px; z-index:1001; left: -9px} + +.vertical #ccw-abbr-bar {background: transparent url("/images/d2_button_horizonal_v2.png") center no-repeat; width:126px; height: 22px;} +.vertical #ccw-hide-bar {background: transparent url("/images/d2_button_horizonal_v2.png") center no-repeat; width:126px; height: 14px; margin: -1px 0 0 0;} + +/* Cursor Behavior */ + +#ccw { -khtml-user-select: none; -moz-user-select: none; user-select: none;} + +.horizontal #ccw-abbr-bar, .horizontal #ccw-hide-bar { cursor: grab; cursor:ew-resize; } +.vertical #ccw-abbr-bar, .vertical #ccw-hide-bar { cursor: grab; cursor:ns-resize; } + +#ccw-control.ccw-active, +.ccw-active #ccw-abbr-bar, +.ccw-active #ccw-hide-bar { cursor: grabbing; cursor: -moz-grabbing; } + + +/* specifics */ + +.horizontal .ccw-count-pos { width: 100%; } +.h-inline { display: none; } +.horizontal .h-inline { display: inline; } +.horizontal .titlecount:before { content: " ("; } +.horizontal .titlecount:after { content: ")"; } +.horizontal .titlecount { text-decoration: none; } + +.ccw-count-text { width: 100%; text-align: center; } + +.vertical #ccw-full-count-text { top: -4px; } +.vertical #ccw-abbr-count-text { top: -9px; } +.vertical #ccw-hide-count-text { top: 4px; } + +.horizontal #ccw-full-count-text { top: 0.5em; left: -0.3em; } +.horizontal #ccw-abbr-count-text { top: 0.5em; } +.horizontal #ccw-hide-count-text { top: 0.5em; left: 0.25em; } + + +#ccw-abbr-bar-tab { border-bottom-width: 0; } +#ccw-hide-bar-tab { border-top-width: 0; } +.horizontal #ccw-abbr-bar-tab { border-bottom-width: 1px; border-right: none; } +.horizontal #ccw-hide-bar-tab { border-top-width: 1px; border-left: none; } +#ccw-panel-container, div.ccw-panel, .ccw-count-pos, .ccw-count-text, .horizontal #ccw-body, .horizontal div.ccw-panel { left: 0; } + +/* inline ajax commenting */ + +.inline_comment {border: 2px solid #666; margin: 1em; position: relative;} +.inline_comment input[type="text"] {width: auto} +.inline_comment textarea {margin: 1em; width: 96%} +.inline_comment .generalbody {margin: 0; padding: 0;} +.inline_comment .pref {position: absolute; right: 0; top: -.8em} +.inline_comment .pref a {right: 10px; background-image: url("//images.slashdot.jp/sic_icons.png"); background-repeat: no-repeat; background-position: 0px -1198px;padding: 5px 10px; position:absolute; text-decoration:none; text-indent:-7000em; top: .8em; } +.inline_comment .state { color:#CCCCCC; font-weight:bold; position:absolute; right:0.5em; top:-.1em;} +.inline_comment .replyto_buttons, .inlinemsg {margin: .5em 1em;} +.inline_comment #commentlisting {padding: 0; margin: 0;} +.warning {background: #ffd; border: 1px solid #fe6; padding: .5em; margin: .5em 0 1em 0; color: #000;} +.inline_comment .replyto_msg {background: #fdd; border: 1px solid #fbb; padding: .5em; margin: .5em 1em 0; color: #000 } +.inline_comment div.generaltitle {background: transparent; margin: 0; padding: 0;} +.inline_comment div.title { background: #666 !important; margin: -3px -1px 0px -3px; border: none !important } +.inline_comment .full div.title { margin: -1.5em -1.15em 0 -1.15em} +.inline_comment .full {border: none} +.inline_comment .full div.commentTop div.details, .inline_comment .full div.commentBody {margin: 0 -1em 0 -1.1em} +.inline_comment div.title h3, .inline_comment .full div.title h4 { background: url("//images.slashdot.jp/corner_w_tl.png") no-repeat left top !important; } +.inline_comment div.title input {font-size: 93%; margin: .3em .7em} +.inline_comment .commentload {margin: 0 1em; font-weight: bold; color: #aaa;} +.inline_comment .contain {margin: 0; padding: 0; border: none} + + +#discussion_buttons {margin: 1em} + Added: test/images/css/comments-idle.css.orig =================================================================== --- test/images/css/comments-idle.css.orig (rev 0) +++ test/images/css/comments-idle.css.orig 2008-12-01 04:21:53 UTC (rev 853) @@ -0,0 +1,366 @@ +frame {border: none; overflow: hidden} + +ul li {list-style: none} + +#commentlisting ul li { + padding-left: 2em; + background: url("//images.slashdot.org/comment-line.png") no-repeat 10px 0px; +} + +#commentlisting ul li.contain {padding-left: 0;} + +#commentlisting .commentBody ul {background: transparent} + +/* Control box */ +div.commentwrap { + position: relative; + margin: .5em 0 1.25em 0; + padding: 0; + background: #696969 url("//images.slashdot.org/commentbox-bg.png") repeat-x left top; + clear: right; +} +.title2 {padding: 1em} +div.commentwrap div.commentBox:first-child {margin: 0;} + +div.commentBox { + padding: .3em .7em; + color: #555; + font-size: 93%; + text-align: center; +} +.commentBox a { color: #555; } +.commentBox a:visited { color: #ccc; } + +div.commentBoxForm { + padding: 1.3em 0 0 0; + text-align: center; + background: #eee url("//images.slashdot.org/commentboxform-bg.png") repeat-x left bottom; +} + div.commentBoxForm form { padding: 0; } + div.commentBoxForm div.commentBox { + padding: 1em 0 .5em 0; + } + div.commentBoxForm div.commentBox small { + color: #555; + font-size: 93%; + } + +.commentwrap legend { + display: none; +} +.commentwrap fieldset, .commentswrap form { + margin:0; + padding: 0; + border: none; +} +.linkCommentPage { + margin-bottom: 15px; + background: #eee; + text-align: center; + padding: .3em; +} + + #metamod div.commentTop div.title {padding: .35em 0 .5em 0;} + #metamod div.commentTop div.title h4 { + padding: .5em .7em; + display: inline; + } + + + + +/* Comment titlebar */ + +.comment div.title { background: #044 url("http://images.slashdot.org/article-title-bg.png") repeat-x left top; } +.comment div.full div.title { background: #044 url("http://images.slashdot.org/article-title-bg.png") repeat-x left top !important; } +.comment .full div.title, .comment .full div.details {margin: 0 -4px} +.comment .full {border-bottom: 1px solid #eee} +.comment div.title h4 a { color: #fff; background: none;} +.comment div.title h4 { padding: .3em .7em; color: #fff; font-weight: bold; background: url("http://images.slashdot.org/article-title-left.png") no-repeat left top; } + +/* comment styling */ +#commentlisting li { padding: 0; margin: 1em; } +#commentlisting li .oneline {margin-top: .3em} +.comment .oneline .score {color: #000} +.comment .oneline div.title, .comment .oneline div.title h4, .comment .oneline div.title h4 a {color: #044} +.comment .oneline div.commentBody {color: #555;} +/* Review for removal */ +.comment .oneline div.title, .comment .oneline div.details, .comment .oneline div.title h4, .comment .oneline div, .comment .oneline div.title h4 a, +#commentlisting div.commentTop a, +#commentlisting div.commentBody a, +#commentlisting div.commentSub a, +#commentlisting div.commentTop a:visited, +#commentlisting div.commentBody a:visited, +#commentlisting div.commentSub a:visited, +#commentlisting .commentBody ul { background: none; } + + +div.commentTop div.details { + padding: .3em .7em; + font-size: 93%; + background: #e6e6e6; +} +.full div.commentTop div.details { + font-size: 93%; + background: #e6e6e6; +} + + +div.commentBody { padding: 1em; line-height: 160%; overflow: hidden; } +#commentlisting { padding: 2em; } + +/* Sub button */ +div.commentSub { + padding: .7em; + font-size: 93%; + font-weight: bold; + color: #ccc; +} + +/* Current selected */ + +span.current {position: absolute; left: .3em; margin-top: -.4em; z-index: 0; font-weight: bold; font-family:serif; font-size:42px;} +.contain {border: 4px solid #e6e6e6; border-top: none;} + + +/* Styles copied from the old comments.css */ + +.commentshrunk, .commentstatus { font-weight: bold } + +.comment_footer { text-align: center; background: #ddd } +.modsel { + display: inline; + font-weight: bold; + color: black; +} + +.ups { + margin: 0 0 0 -.3em; + padding: 0 .3em; + text-decoration: none; + background: url("http://images.slashdot.org/comm-minus.gif") 0 .2em no-repeat; + right: -1.4em; + z-index: 2; + cursor: pointer; +} + +.dwns { + margin: 0; + padding: 0 .3em; + text-decoration: none; + background: url("http://images.slashdot.org/comm-plus.gif") 0 .2em no-repeat; + right: -1.4em; + z-index: 1; + cursor: pointer; +} + +.oldcomment { + opacity: .65; +} +.newcomment { } +.currcomment .oldcomment { + opacity: 1; +} + + + + +.comment .hidden { display: none; } +.comment .full { display: block;} +.comment .oneline * { display: inline; padding: .3em 0 } +.comment .oneline .badgeicon img {position: absolute; top: 0; left: 5px; height: 16px; width: 16px;} +.comment .oneline .badgeicon {padding: 4px 8px 8px !important; position: relative} + +.comment .oneline .commentSub, .comment .oneline .otherdetails, .comment .oneline .sig, .comment .oneline .quote, .comment .oneline .readrest, .comment .oneline .zooicon { display: none; } +.comment .oneline { overflow: hidden; height: 1.5em; } +.score { font-weight: normal; color:#fff; } + +/* D2 Widget */ + +#d2act {display: none; position: relative; opacity: 1; z-index: 1000; width: 9.3em; text-align: center; } +.vertical #d2act {position: absolute; left: 1.2em !important} +.vertical #d2act.rooted {left:-10.6em !important;} +#d2act div.block {background: transparent} +#d2act div.block div.title h4 {text-align: left;} +.rooted #d2act.rooted div.block div.title h4 { background: none !important; } +#d2act .close {position: absolute; top: .2em; right: .2em; color: #ccc; text-decoration: none; border: 1px solid #bbb; border-bottom: 1px solid #444; border-right: 1px solid #555; padding: 0 .3em;} +#d2act .close:hover {position: absolute; top: .2em; right: .2em; color: #eee; text-decoration: none; border: 1px solid #444; border-bottom: 1px solid #aaa; border-right: 1px solid #ccc; padding: 0 .3em;} +#d2act .commentControlFooter {border-bottom: 1px solid #444; border-top: 1px solid #ccc; text-align: center; padding: 3px; background: #666; color: #fff; font-size: 10px; } +#d2act .commentControlFooter a { color: #fff; text-decoration: none; } +.loki { display: inline;} +.comment_divider, +#comment_full, +#comment_abbr, +#comment_hidden {opacity: 1 !important; border-right: 1px solid #aaa;border-left: 1px solid #aaa;} +.commentControlFooter {clear: both} +#commentlisting {clear: right; background: #fff} +#commentControlBoxStatus {border-bottom: 1px solid #444; border-top: 1px solid #ccc; text-align: center; padding: 3px; background: #666; color: #fff; } + +.escape-link { position: relative; float: left; text-align: left;} +.commentBox div {width: 100%; text-align: right} + +.horizontal .loki {display: block; } +.horizontal #d2act {left: 0 !important; margin:0;background: #fff; right: 0; opacity: 1; top: 0; z-index: 1000; border: none; width: auto; text-align: center; overflow: hidden;} +.horizontal #d2act.rooted {left: 0 !important; margin:0 0 0 0;} +.rooted #d2act.rooted { border: 3px solid #555555; } +/* .horizontal #d2act div.block div.title h4 {background: transparent !important} */ +.horizontal #d2act .commentControlFooter { display: none; } + +.ccw-header-links { display: none; } +.horizontal .ccw-header-links { display: block; position: absolute; right: 2em; top: 0.5em; text-align: right; } + +/* new draggable guts for the D2 Widget */ + +/* Overall Size and Position */ +.ccw-panel-border { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } + +#ccw, #ccw-centering-rail, +#ccw-body { + display: block; + position: relative; +} + +#ccw-panel-container, +div.ccw-panel, #ccw-control, +#ccw-abbr-bar-pos, #ccw-hide-bar-pos, +#ccw-abbr-bar, #ccw-hide-bar, +.ccw-count-pos, .ccw-count-text, +.ccw-bar-tab, +.horizontal #ccw-body, +.horizontal div.ccw-panel { + display: block; + position: absolute; +} + +.horizontal #ccw-body { width: 100%; border-top:1px solid #999999;} +.vertical #ccw-panel-container, .vertical #ccw-control { top: 16px; bottom: 16px; } +.horizontal #ccw-panel-container, .horizontal #ccw-control { left: 0.5em; right: 0.5em; } + +.ccw-core-pos { height: 1px; } +.horizontal .ccw-core-pos { width: 1px; } + + +#ccw-centering-rail, #ccw-abbr-bar-pos, #ccw-hide-bar-pos { width: 2px; } +#ccw-centering-rail { margin: 0 auto; } +.horizontal #ccw-centering-rail { width: 100%; } + +.horizontal #ccw-centering-rail, +.horizontal #ccw-abbr-bar-pos, +.horizontal #ccw-hide-bar-pos { top: 1em; height: 2px; } + + +.ccw-core, .ccw-panel, .ccw-count-pos { height: 140px; width: 9.3em; } +.vertical .ccw-panel { height: auto; } +.vertical .ccw-count-pos { height: 1px; } +.horizontal .ccw-core, .horizontal .ccw-panel, .horizontal .ccw-count-pos { height: 2em; width: auto; } +.horizontal #ccw-panel-container, .horizontal #ccw-control { left: 0.5em; } +#ccw { height: 172px; width: 9.3em; } +.horizontal #ccw { height: 2em; width: 100%; } + +.ccw-bar { height: 4px; width: 9.8em; left: -4.65em; } +.horizontal .ccw-bar { width: 4px; height: 2.4em; top: -1.2em; left: 0; } +#ccw-abbr-bar { top: -5px; } +.horizontal #ccw-abbr-bar { top: -1.2em; left: -9px; } + +.ccw-bar-tab { height: 8px; width: 3em; left: 3.5em; } +.horizontal .ccw-bar-tab { height: 1.2em; width: 4px; } +#ccw-abbr-bar-tab { top: -9px; } +#ccw-hide-bar-tab { top: 4px; } +.horizontal #ccw-abbr-bar-tab { top: 0.5em; left: -5px; } +.horizontal #ccw-hide-bar-tab { top: 0.5em; left: 4px; } + +.ccw-upzone, .ccw-downzone { display: none; height: 12px; width: 100%; } +.horizontal .ccw-upzone, .horizontal .ccw-downzone { width: 12px; height: 100%; } +.ccw-upzone { top: -12px; } +.ccw-downzone { top: 4px; } +.horizontal .ccw-upzone { left: -12px; top: 0; } +.horizontal .ccw-downzone { left: 4px; top: 0; } + + +#ccw-body { z-index: 1; } + +.vertical #ccw-full-panel { top: -16px; } +.vertical #ccw-hide-panel { bottom: -16px; } +.horizontal #ccw-full-panel { left: -0.5em; } +.horizontal #ccw-hide-panel { right: -0.5em; } + +.vertical .ccw-panel-border { border-width: 0 1px; } +.horizontal .ccw-panel-border { border-width: 0 0 1px 0; } +.horizontal #ccw-full-panel .ccw-panel-border { border-width: 0 0 1px 1px; } + + +/* Borders and Fills */ +#ccw-full-panel { background: #fff url("//images.slashdot.org/dark_fade_30.png") bottom repeat-x; border-bottom: solid 1px #999;} +#ccw-abbr-panel { background: #ccc url("//images.slashdot.org/dark_fade_30.png") bottom repeat-x; border-bottom: solid 1px #888;} +#ccw-hide-panel { background: #aaa url("//images.slashdot.org/dark_fade_30.png") bottom repeat-x; border-bottom: solid 1px #777;} + +/* Grab Bars */ +.horizontal #ccw-abbr-bar {background: transparent url("/images/d2_button_horizonal.png") center no-repeat; width:19px; height: 33px; z-index:1000;} +.horizontal #ccw-hide-bar {background: transparent url("/images/d2_button_horizonal.png") center no-repeat; width:19px; height: 33px; z-index:1001; left: -9px} + +.vertical #ccw-abbr-bar {background: transparent url("/images/d2_button_horizonal_v2.png") center no-repeat; width:126px; height: 22px;} +.vertical #ccw-hide-bar {background: transparent url("/images/d2_button_horizonal_v2.png") center no-repeat; width:126px; height: 14px; margin: -1px 0 0 0;} + +/* Cursor Behavior */ + +#ccw { -khtml-user-select: none; -moz-user-select: none; user-select: none;} + +.horizontal #ccw-abbr-bar, .horizontal #ccw-hide-bar { cursor: grab; cursor:ew-resize; } +.vertical #ccw-abbr-bar, .vertical #ccw-hide-bar { cursor: grab; cursor:ns-resize; } + +#ccw-control.ccw-active, +.ccw-active #ccw-abbr-bar, +.ccw-active #ccw-hide-bar { cursor: grabbing; cursor: -moz-grabbing; } + + +/* specifics */ + +.horizontal .ccw-count-pos { width: 100%; } +.h-inline { display: none; } +.horizontal .h-inline { display: inline; } +.horizontal .titlecount:before { content: " ("; } +.horizontal .titlecount:after { content: ")"; } +.horizontal .titlecount { text-decoration: none; } + +.ccw-count-text { width: 100%; text-align: center; } + +.vertical #ccw-full-count-text { top: -4px; } +.vertical #ccw-abbr-count-text { top: -9px; } +.vertical #ccw-hide-count-text { top: 4px; } + +.horizontal #ccw-full-count-text { top: 0.5em; left: -0.3em; } +.horizontal #ccw-abbr-count-text { top: 0.5em; } +.horizontal #ccw-hide-count-text { top: 0.5em; left: 0.25em; } + + +#ccw-abbr-bar-tab { border-bottom-width: 0; } +#ccw-hide-bar-tab { border-top-width: 0; } +.horizontal #ccw-abbr-bar-tab { border-bottom-width: 1px; border-right: none; } +.horizontal #ccw-hide-bar-tab { border-top-width: 1px; border-left: none; } +#ccw-panel-container, div.ccw-panel, .ccw-count-pos, .ccw-count-text, .horizontal #ccw-body, .horizontal div.ccw-panel { left: 0; } + +/* inline ajax commenting */ + +.inline_comment {border: 2px solid #666; margin: 1em; position: relative;} +.inline_comment input[type="text"] {width: auto} +.inline_comment textarea {margin: 1em; width: 96%} +.inline_comment .generalbody {margin: 0; padding: 0;} +.inline_comment .pref {position: absolute; right: 0; top: -.8em} +.inline_comment .pref a {right: 10px; background-image: url("//images.slashdot.org/sic_icons.png"); background-repeat: no-repeat; background-position: 0px -1198px;padding: 5px 10px; position:absolute; text-decoration:none; text-indent:-7000em; top: .8em; } +.inline_comment .state { color:#CCCCCC; font-weight:bold; position:absolute; right:0.5em; top:-.1em;} +.inline_comment .replyto_buttons, .inlinemsg {margin: .5em 1em;} +.inline_comment #commentlisting {padding: 0; margin: 0;} +.warning {background: #ffd; border: 1px solid #fe6; padding: .5em; margin: .5em 0 1em 0; color: #000;} +.inline_comment .replyto_msg {background: #fdd; border: 1px solid #fbb; padding: .5em; margin: .5em 1em 0; color: #000 } +.inline_comment div.generaltitle {background: transparent; margin: 0; padding: 0;} +.inline_comment div.title { background: #666 !important; margin: -3px -1px 0px -3px; border: none !important } +.inline_comment .full div.title { margin: -1.5em -1.15em 0 -1.15em} +.inline_comment .full {border: none} +.inline_comment .full div.commentTop div.details, .inline_comment .full div.commentBody {margin: 0 -1em 0 -1.1em} +.inline_comment div.title h3, .inline_comment .full div.title h4 { background: url("//images.slashdot.org/corner_w_tl.png") no-repeat left top !important; } +.inline_comment div.title input {font-size: 93%; margin: .3em .7em} +.inline_comment .commentload {margin: 0 1em; font-weight: bold; color: #aaa;} +.inline_comment .contain {margin: 0; padding: 0; border: none} + + +#discussion_buttons {margin: 1em} Added: test/images/css/idlecore-tidied.css =================================================================== --- test/images/css/idlecore-tidied.css (rev 0) +++ test/images/css/idlecore-tidied.css 2008-12-01 04:21:53 UTC (rev 853) @@ -0,0 +1,494 @@ +html{color:#000;background:#FFF;} +table{font:100%;border-collapse:none;border-spacing:0;font-size:inherit;margin:1em 0;} +fieldset,img{border:0;} +address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400;} +li{list-style:none;} +caption,th{text-align:left;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400;} +abbr,acronym{border:0;font-variant:normal;border-bottom:1px dotted #000;cursor:help;} +sup{vertical-align:text-top;} +sub{vertical-align:text-bottom;} +input,textarea,select{font-weight:inherit;font-size:100%;} +legend{color:#000;} +body{font-size:small;font:x-small;text-align:center;} +pre,code,kbd,samp,tt{font-size:108%;line-height:100%;} +#ft{clear:both;display:block;background:transparent url(//images.slashdot.jp/dark_dwn_fade_50.png) repeat-x;margin:0 0 6em;} +#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{text-align:left;width:56.25em;min-width:750px;margin:auto;} +#doc2{width:71.25em;} +#doc3{width:auto;background:#2E2E2E url(//images.slashdot.jp/dark_dwn_fade_100.png) repeat-x scroll 0 4.9em;border-top:2px solid #111;min-width:780px;margin:0;} +#doc4{width:73.050003em;} +.yui-b{position:relative;_position:static;width:30em;} +#yui-main .yui-b{position:static;float:none;width:auto;} +#yui-main{width:100%;background:#fff;margin-top:-.5em;} +.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;} +.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-336px;} +.yui-t1 .yui-b{float:left;width:12em;} +.yui-t1 #yui-main .yui-b{margin-left:13.05em;} +.yui-t2 .yui-b{float:left;width:13.5em;} +.yui-t2 #yui-main .yui-b{margin-left:14.55em;} +.yui-t3 .yui-b{float:left;width:22.5em;} +.yui-t3 #yui-main .yui-b{margin-left:23.620001em;} +.yui-t4 .yui-b{float:right;width:13.5em;} +.yui-t4 #yui-main .yui-b{margin-right:14.55em;} +.yui-t5 .yui-b{float:right;width:18em;} +.yui-t5 #yui-main .yui-b{margin-right:19.125em;} +.yui-t6 .yui-b{float:right;width:336px;} +.yui-t6 #yui-main .yui-b{margin-right:336px;} +.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em;} +.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;width:32%;margin-left:1.99%;} +.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.099998%;} +.yui-gb .yui-u{margin-left:1.9%;width:31.9%;} +.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{margin-right:0;width:32%;_width:31.700001%;} +.yui-gb .yui-g div.first{margin-right:4%;_margin-right:1.3%;} +.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{margin-left:1.8%;_margin-left:4%;} +.yui-g .yui-gb .yui-u{_margin-left:1%;} +.yui-gb .yui-gd .yui-u{width:66%;_width:61.200001%;} +.yui-gb .yui-gd div.first{width:31%;_width:29.5%;} +.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;} +.yui-gb .yui-gc div.first{width:66%;float:left;margin-left:0;} +.yui-gb .yui-gb .yui-u{_margin-left:.7%;} +.yui-g .yui-gd div.first{_width:29.9%;} +.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{width:24%;_width:20%;} +.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{width:73.5%;_width:65.5%;} +.yui-ge div.first .yui-gd .yui-u{width:65%;} +#bd:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;} +#bd,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;} +h1{font-size:138.5%;} +h2{font-size:123.099998%;} +h3{font-size:108%;} +h1,h2,h3{margin:1em 0;} +ol li{list-style:decimal outside;} +ul li{list-style:disc outside;} +dl dd{margin-left:1em;} +th,td{border:1px solid #000;padding:.5em;} +th{font-weight:700;text-align:center;} +caption{margin-bottom:.5em;text-align:center;} +input[type=text],input[type=password],textarea{width:11.9em;} +body,html{background:#2e2e2e;} +.generaltitle{margin-top:.5em;padding:.5em 1em;} +.generalbody{border-top:1px solid #aaa;padding:2em;} +.generalbody p{padding:.5em 1em;} +label{display:block;margin-top:.5em;font-weight:700;padding:.5em 0;} +#jump{position:absolute;top:-7000em;left:0;} +#hd{height:3.9em;position:relative;z-index:2;background:#066 url(//images.slashdot.jp/dark_fade_50.png) repeat-x bottom;margin:1em 2em .2em;} +.hidden{position:absolute;left:0;top:-500px;width:1px;height:1px;overflow:hidden;} +#logo{background:url(//images.slashdot.jp/logo-idle.png) no-repeat left top;height:69px;width:430px;position:absolute;z-index:1;} +#logo span{text-indent:-5000px;text-decoration:none;background:url(//images.slashdot.jp/dark_largecurve.png) no-repeat left top;position:absolute;top:0;left:0;height:25px;width:25px;padding:0;} +#logo a{height:60px;width:430px;position:absolute;top:0;left:0;} +.error{background:#edd;border:3px solid #eaa;color:#600;text-align:left;padding-left:.5em;font-weight:700;margin:.8em;} +.warn{background:#ffc;border:3px solid #dc9;color:#630;text-align:left;padding-left:.5em;font-weight:700;margin:.8em;} +#bd{background:#fff;position:relative;margin:0 2em;} +#hd .nav{position:absolute;right:1em;top:.5em;font-size:93%;z-index:2;} +#hd .nav,#hd .nav ul,#hd .nav ul li{background:none;} +#hd form{position:absolute;right:1.5em;top:1.9em;z-index:2;} +#hd form input.query{border:1px solid #033;font-size:93%;padding:.15em .2em;} +.article{padding:0 1em;} +div.generalbody #firehoselist div.article,#yui-main #firehose .article,#yui-main #firehose .briefarticle,#commentControlBox,.commentBox{background:url(//images.slashdot.jp/dark_fade_20.png) repeat-x bottom;position:relative;display:block;overflow:hidden;margin:0;padding:0 1em 1.8em;} +#firehoselist .tag-widget{padding-right:1.4em;} +div.tag-display > ul,#contents div.tag-display > ul{margin:-.1em -.5em!important;padding:.1em .5em!important;} +div.tag-display span.tag,div.tag-display > h1.legend,#contents div.tag-display > h1.legend{color:#333;margin:-.1em!important;padding:.1em .3em!important;} +#yui-main #firehose .paginate,.title2{background:url(//images.slashdot.jp/dark_fade_20.png) repeat-x bottom;position:relative;clear:left;display:block;padding:1em;} +.title2{background-color:#fff;color:#567;padding:.5em 1em;} +#bd .nav{border-top:1px solid #033;clear:both;position:relative!important;padding:1em;} +#bd .nav ul{margin-bottom:-.4em;} +.nav ul li{list-style:none;display:inline;font-size:93%;} +#slashboxes li,.head .block li{list-style:none!important;} +.nav ul li a{padding:.6em .8em 1em 1em;} +.block ul li:last-child{padding-bottom:0;} +.block .content{background:#efefef url(//images.slashdot.jp/dark_dwn_fade_30.png) repeat-x scroll 0 0;border-left:1px solid #ccc;border-top:1px solid #aaa;line-height:160%;color:#111;font-size:93%;text-align:left;padding:1em;} +.article .generaltitle{background:none;border:none;margin:0;padding:0;} +#slashboxes{clear:right;} +.block .title,#fh_advprefs h4,#filter_prefs h4,.generaltitle{background:#fff url(//images.slashdot.jp/dark_fade_g.png) repeat-x scroll bottom;border-left:1px solid #ccc;border-top:1px solid #ddd;text-align:left;position:relative;padding:.5em .5em .5em 1em;} +#slashboxes .block .title h4{background-image:url(//images.slashdot.jp/s3a_controls.png);background-repeat:no-repeat;background-position:right -32px;cursor:move;} +#slashboxes .block .title h4 .closebox{position:absolute;top:.5em;right:.5em;background-image:url(//images.slashdot.jp/s3a_controls.png);background-position:0 0;background-repeat:no-repeat;width:16px;height:16px;text-indent:700em;overflow:hidden;cursor:pointer;} +#slashboxes .block .title h4 .closebox:hover{background-position:0 -16px;} +#floating-slashbox-ad{display:none;position:absolute;height:300px;width:300px;} +#floating-slashbox-ad.Article{display:block;right:-313px;} +#floating-slashbox-ad.Bottom{display:block;bottom:0;right:49px;} +#floating-slashbox-ad.Top,#floating-slashbox-ad.TopDisconnected{display:block;position:relative;} +.head .block .foot{display:block;font-size:85%;font-weight:400;background:url(//images.slashdot.jp/dark_dwn_corner.png) no-repeat top left;padding:1em 1em 0;} +.details{color:#333;font-size:85%;padding:.3em 0 .5em;} +.more{font-weight:700;font-size:100%;} +.body{font-size:93%;line-height:150%;color:#000;padding-top:.5em;} +.head{position:relative;overflow:hidden;background:#066 url(//images.slashdot.jp/dark_dwn_fade_100.png) repeat-x top;} +.head2{text-align:right;min-height:30px;background:#066 url(//images.slashdot.jp/dark_fade.png) repeat-x bottom;} +.head .more{margin-top:.2em;position:absolute;z-index:9;} +.body .more{padding-top:1em;z-index:10;} +div#firehoselist .more{font-weight:700;display:block;position:absolute;white-space:nowrap;width:auto;margin:0;} +.head p{padding-top:1em;} +.head p:last-child{padding-bottom:2em;} +.head .block .content{background:url(//images.slashdot.jp/dark_corner.png) no-repeat top left;border:none;color:#fff;font-size:85%;padding:1em 1.5em 0;} +.head .block .title{background:transparent;font-weight:700;font-size:93%;border:none;padding:1em 1.5em;} +.head .block ul li,.head .block p{padding-bottom:.5em;margin:0;} +.head .body{margin-bottom:4em;} +.head .yui-b{margin-left:2em;margin-bottom:1em;} +.head .article{margin-right:26em!important;padding:.5em 1.5em 2em;} +.head .article .details{margin-right:140px;margin-bottom:.5em;} +.head .article .details b{font-weight:400;} +.head .body span.media{float:right;position:relative;z-index:0;margin:0 1em 2em 2em;} +#yui-main #firehose h3,.head h3{font-size:100%;margin:0;padding:.6em 0 0;} +.head h3{font-size:120%;} +#yui-main #firehose{background:#fff;position:relative;z-index:0;} +#commentwrap{background:#fff;position:relative;z-index:2;} +.body .media a.watch{display:block;position:relative;top:-104px;margin-bottom:-104px;width:130px;height:100px;text-indent:-99999px;background:url(/images/icon_play.png) no-repeat center;} +#yui-main #firehose .body{margin-bottom:1.75em;} +#yui-main #firehose .body .media{text-align:center;width:130px;height:100%;float:left;margin:0 1em .3em 0;} +#yui-main #firehose h3 a{line-height:160%;} +#yui-main #firehose .article h3 img,#yui-main #firehose .briefarticle h3 img{float:left;padding-right:1em;} +div#login_box div#fhcalendar.generaltitle{display:block;padding:0;} +#yui-main #firehose .tags{font-size:93%;width:80%;display:block;clear:both;position:relative;} +.paginate{font-size:93%;text-align:center;padding:1.5em 1em;} +.paginate a b,b em{color:#888;font-size:130%;} +div.briefarticle div.intro{padding:0 1.15em .5em;} +div.briefarticle a span{text-indent:-5000px;position:relative;float:left;} +div.briefarticle a span.expanded{width:15px;background:url(//images.slashdot.jp/block-arrow-expanded.gif) no-repeat 0 50%;} +div.briefarticle a span,div.briefarticle a span.condensed{width:15px;background:url(//images.slashdot.jp/block-arrow-collapsed.gif) no-repeat 0 50%;} +div div.briefcomment{padding-left:4em;padding-top:0;} +div#firehose div.article div.comments,div#firehose div.briefarticle div.comments{background:transparent url(//images.slashdot.jp/commentBubbleExt.png) no-repeat 3px bottom!important;height:1.85em!important;} +div#firehose div.article div.comments div,div#firehose div.briefarticle div.comments div{display:block;background:#666 url(//images.slashdot.jp/commentBubbleBg.png) no-repeat top left;margin:0;padding:0;} +div#firehose div.article div.comments div p,div#firehose div.briefarticle div.comments div p{background:transparent url(//images.slashdot.jp/commentBubbleBg.png) no-repeat top right;} +div#firehose div.article div.comments div p b,div#firehose div.briefarticle div.comments div p b{display:block!important;background:transparent url(//images.slashdot.jp/commentBubbleBg.png) no-repeat bottom right;} +div#firehose div.article div.comments div p b a,div#firehose div.briefarticle div.comments div p b a{display:block!important;background:transparent url(//images.slashdot.jp/commentBubbleBg.png) no-repeat bottom left;color:#fff;text-decoration:none;height:1.1em!important;font-weight:400;min-width:1em;padding:.1em .5em;} +#yui-main #firehose .article .comments,#yui-main #firehose .briefarticle .comments{color:#f5f5f5;position:absolute;right:2em;top:.51em;font-size:77%;text-align:center;} +div.head div.article div.comments{right:390px;color:#066;text-align:center;float:right;background:transparent url(//images.slashdot.jp/commentBubbleExt_marquee.png) no-repeat 3px bottom!important;height:2.15em!important;} +div.head div.article div.comments div{display:block;background:#033 url(//images.slashdot.jp/commentBubbleBg_marquee.png) no-repeat top left;margin:0;padding:0;} +div.head div.article div.comments div p{background:transparent url(//images.slashdot.jp/commentBubbleBg_marquee.png) no-repeat top right;margin:0;padding:0;} +div.head div.article div.comments div p b{display:block!important;background:transparent url(//images.slashdot.jp/commentBubbleBg_marquee.png) no-repeat bottom right;} +div.head div.article div.comments div p b a{display:block!important;background:transparent url(//images.slashdot.jp/commentBubbleBg_marquee.png) no-repeat bottom left;color:#fff;text-decoration:none;height:1.1em!important;font-weight:400;min-width:1em;padding:.05em .75em .3em;} +div.head .tag-widget.expanded .tag-server-busy{right:0!important;top:0!important;} +.external{display:inline;padding:0 20px 0 5px;} +h3 .external a{z-index:1000;width:20px;background:url(//images.slashdot.jp/sic_icons.png) no-repeat 0 -799px!important;text-indent:-7000em;position:absolute!important;} +div.copyright{clear:both;background:#555 url(//images.slashdot.jp/dark_fade_50.png) repeat-x bottom left;margin:0 2em;} +div.copyright p{color:#999;font-size:85%;text-align:center;margin:0;padding:1em;} +div.copyright a{color:#ccc;} +div#topfoot{background:#bbb url(//images.slashdot.jp/light_dwn_fade_50.png) repeat-x scroll left top;border:none;border-top:1em solid #fff;border-left:1em solid #fff;border-right:1em solid #fff;clear:both;margin:0;} +div#topfoot div.search{float:left;width:23.25em;white-space:nowrap;padding:1.35em 0 0 1.25em;} +div#topfoot div.rightcontent{text-align:right;background:url(//images.slashdot.jp/footer-right.png) no-repeat right top;padding:1.35em 1.25em 1.5em 0;} +div#topfoot div.rightcontent table{width:auto;border:1px solid #aaa;border-right:1px solid #fff;border-bottom:1px solid #fff;} +div#topfoot div.rightcontent .data_hl1{background:#eee;} +div#topfoot div.rightcontent small{color:#333;font-size:100%;font-style:italic;} +#ft .nav{text-align:center;background:transparent;margin:1em;} +#ft .nav li{font-size:85%;} +#ft .nav li a{padding:0 .8em 0 1em;} +#ft .nav .menu{border-color:#555;} +.ad6{text-align:center;} +.body #fad6{float:none;} +.view #fad6{margin-top:1em;} +#fad6{float:right;width:336px;z-index:100;position:relative;margin:1em 0 0;} +#fad30{position:absolute;top:0;right:0;z-index:10000;margin:0;padding:0;} +#fad2{float:right;width:270px;z-index:100;position:relative;margin:1em 0 0;} +#fad1{text-align:center;margin-top:.5em;z-index:100;position:relative;} +.to-be-moved{border:dotted 2px #555;opacity:.5;} +.prev-next{margin:2em 1.1em;} +.prev-next em{font-style:normal;color:#fff;} +#adminmenu ul.nestedmenu a{text-align:left;padding:.2em;} +.user_admin{border:1px solid #aaa;} +table,td,th{border:none!important;text-align:left;} +table td{border-bottom:1px solid #eee!important;padding:.5em 1em;} +table th{background:#fff url(//images.slashdot.jp/dark_fade_10.png) repeat-x bottom!important;border-bottom:2px solid #bbb!important;padding:.1em 1em .5em;} +#login_cover,#modal_cover{background-color:#222;height:100%;opacity:.75;position:fixed;width:100%;z-index:1000000;} +#login_box .generaltitle .title h3,#modal_box .generaltitle .title h3{background:transparent!important;color:#222;margin:0!important;padding:0;} +#login_box .generaltitle .title,#modal_box .generaltitle .title{background:#ccc url(//images.slashdot.jp/dark_fade_g.png) repeat-x top!important;border:none!important;padding:.7em .3em .6em .5em!important;} +#modal_box{height:65%;} +#login_box,#modal_box{position:fixed;width:50%;z-index:1000001;border:4px solid #222;overflow:hidden;background:#fff;padding-bottom:2.6em;margin:5% 25%;} +#login_box h3 a,#modal_box h3 a,#fh_advprefs .generaltitle .title a,#filter_prefs .generaltitle .title a{position:absolute!important;right:.3em;} +#login_box fieldset,#modal_box fieldset{border:none;margin:0;padding:0;} +#login_box #login_box_content,#modal_box #modal_box_content{overflow:auto;background-color:#fff;border-top:1px solid #aaa;height:100%;text-align:left;padding:0 2em;} +#login_box .generaltitle .title a,#modal_box .generaltitle .title a,#fh_advprefs .generaltitle .title a,#filter_prefs .generaltitle .title a{color:#222!important;background:url(//images.slashdot.jp/s3a_controls.png) no-repeat;width:16px;position:relative;height:16px;margin:.2em 0;padding:0 0 0 8px;} +#login_box .generaltitle .title a:hover,#modal_box .generaltitle .title a:hover,#fh_advprefs .generaltitle .title a:hover,#filter_prefs .generaltitle .title a:hover{background:url(//images.slashdot.jp/s3a_controls.png) no-repeat 0 -16px;} +#login_box .generaltitle h3,#modal_box .generaltitle h3,#login_box .generaltitle .title,#modal_box .generaltitle .title,#login_box .generaltitle,#modal_box .generaltitle{line-height:100%!important;margin-top:0;padding:0;} +.mod_menu{display:block;margin:.5em auto;} +.mod_menu li{list-style:none;display:inline;} +.mod_menu li a{width:auto;position:relative;color:#fff;border-radius:.5em;-moz-border-radius:.5em;-webkit-border-radius:.5em;background:#666;margin:.5em auto;padding:.5em;} +.mod_menu li.selected a{background:#222;} +div.modalprefhelp{background:#EBEBEB;border:2px solid #A3A3A3;position:absolute;width:50%;text-align:left;z-index:100000;margin:0 1em;padding:1.5em;} +a.help{text-decoration:none;border:1px solid #777;width:10px;height:10px;background:#888;font-size:10px;font-weight:700;color:#fff;padding:1px 2px 0 3px;} +.nbutton{background:#666 url(//images.slashdot.jp/corner_w_tl.png) top left no-repeat;color:#fff;white-space:nowrap;margin:.25em;padding:.4em 0;} +.nbutton p{display:inline;background:transparent url(//images.slashdot.jp/corner_w_tr.png) top right no-repeat;padding:.4em 0;} +.nbutton p b{display:inline;background:transparent url(//images.slashdot.jp/corner_w_bl.png) bottom left no-repeat;padding:.4em 0;} +.nbutton p b input,.nbutton p b a{background:transparent url(//images.slashdot.jp/corner_w_br.png) bottom right no-repeat!important;color:#fff!important;font-weight:400;text-decoration:none;border:none;padding:.4em 1em;} +.nbutton:hover{background-color:#444;} +.expand{background:transparent url(//images.slashdot.jp/login-arrow-expanded.gif) no-repeat scroll 0 50%;padding:8px;} +.collapse{background:transparent url(//images.slashdot.jp/login-arrow-collapsed.gif) no-repeat scroll 0 50%;padding:8px;} +.head .collapse{background:transparent url(//images.slashdot.jp/tag-arrow-collapsed-ffffff.png) no-repeat scroll 0 50%;} +.head .expand{background:transparent url(//images.slashdot.jp/tag-arrow-expanded-ffffff.png) no-repeat scroll 0 50%;} +span.vballoon-marquee{background:#033;display:inline-block;color:#fff;float:right;position:relative;margin:0 .5em .5em;padding:.25em .75em;} +span.vballoon-marquee span{display:block;position:absolute;height:19px;width:20px;text-indent:-9999px;background:transparent url(/images/balloon_ext_003333.png) no-repeat scroll center bottom;margin:1em 0 0 -.5em;} +span.vballoon-firehoselist{background:#666;display:inline-block;color:#fff;margin-top:.5em;position:absolute;right:1.75em;text-align:center;top:.51em;font-size:.75em;padding:.25em .75em .15em;} +span.vballoon-firehoselist span{display:block;position:absolute;height:10px;width:20px;text-indent:-9999px;background:transparent url(/images/balloon_ext_666666.png) no-repeat scroll center bottom;margin:1.25em 0 0 -.65em;} +.reject input{visibility:hidden;} +h3 .reject{position:absolute;right:4.5em;top:0;background:transparent url(//images.slashdot.jp/sic_icons.png) no-repeat scroll 0 -602px;width:20px;cursor:pointer;} +.popup{border:solid 2px #066;} +.popup-title{text-align:left;background:#066;font-size:100%;color:#fff;padding-right:4em;} +.popup-title .buttons{position:absolute;right:.2em;} +.popup-message{background:#066;font-size:100%;color:#fff;font-weight:700;text-align:right;} +.popup-contents{background:#ccc;font-size:80%;padding:5px;} +.popup-title .buttons a{color:#fff;text-decoration:none;padding:0 0 0 .2em;} +span.balloon-marquee a{padding:0 .25em;} +span.balloon-firehoselist a{padding:0 .05em;} +.baloon-marquee-position{float:right;height:2.15em!important;right:390px;} +.balloon-marquee a{font-weight:400;text-decoration:none;} +.balloon-firehoselist-position{position:absolute;right:1.75em;text-align:center;top:.51em;} +.balloon-firehoselist a{font-weight:400;text-decoration:none;color:#fff;font-size:.75em;display:block;line-height:.65em;text-align:center;margin:.15em .25em;padding:0;} +.rnd-nbutton a{color:#fff;text-decoration:none;font-weight:400;} +div.rnd-nbutton-contain .c{padding-top:0!important;line-height:16px;padding-bottom:-18px;top:5px!important;} +div.commentSub{position:relative;display:block;margin-bottom:3.15em;} +div.head .tag-widget{background-color:transparent;display:block;position:relative;top:1.25em;float:right;text-align:right;width:80%;padding:0 1.4em 0 .8em;} +.vbutton{display:inline-block;position:relative;color:#fff;margin:0;padding:.25em 1.25em;} +.bg_666666{background:#666!important;} +.vbutton:hover{background:#444;} +table.tagslist{margin-left:1em;margin-top:.5em;} +table.data{background:#DFDFDF;clear:none;margin:1em 0 0;} +table.data tr.data_head th{background:#E6E6E6;border-bottom:1px solid #FFF;color:#444;text-align:left;padding:.3em .5em;} +.data_hl1 td,.data_hl2 td,.data_hl3 td{padding:.3em .5em;} +.data_hl1{background:#F8F8F8 none repeat scroll 0 0;} +.data_hl2{background:#DDD none repeat scroll 0 0;} +#adminmenu{background:#000;} +#adminmenu li{display:inline-block;padding:.5em;} +#adminmenu li a{color:#fff!important;} +.nav ul li.selected,#fhtablist li.active,#tablist li.active{background:none!important;font-weight:700;text-decoration:none;position:relative;border:none!important;padding:1em 1em 1.5em;} +#tablist li.active a,#fhtablist li.active a{background:#fff;font-size:108%!important;border-radius:.8em .8em 0 0;-moz-border-radius:.8em .8em 0 0;-webkit-border-top-left-radius:.8em;-webkit-border-top-right-radius:.8em;padding:.5em 1em .8em!important;} +div.head span.reader{padding-top:0;display:none;} +div#filter_play_status{display:block;font-size:90%;position:relative;top:.5em;margin:.15em;} +div.aduserbox .tag-widget-stub span.button.collapse{margin-left:-2em;margin-top:0;} +div.aduserbox div.tag-widget-stub,div.aduserbox div.tag-widget{margin:2.15em 0 0 10em;} +div.aduserbox div#firehoselist div.briefarticle{padding:.25em 1em .75em!important;} +div.aduserbox div#firehoselist div.article{padding:.25em 1em 2em!important;} +div.aduserbox #firehose div.article div.tag-widget-stub.body-widget,div.aduserbox #firehose div.article div.tag-widget.body-widget{right:.5em;} +div.aduserbox #firehose h3,.head h3{padding:.4em 0 0!important;} +div.aduserbox .body .more{padding-top:1.85em;} +a:focus{outline:none;} +#firehoselist{margin-top:.5em;} +#yui-main #firehose h3{margin-left:4em;margin-right:6em;} +#yui-main #firehose .hide{margin-left:.5em;} +.view .article.thumbs h3{margin-left:3.3em;} +.view .article h3{padding:.3em 0 0;} +.vote,.votedup,.voteddown{background-repeat:no-repeat;background-position:bottom left!important;top:.6em;left:.8em;z-index:7;background-image:url(//images.slashdot.jp/unvote.png);text-indent:-7000em;height:25px;width:44px;} +.vote a,.votedup a,.voteddown a{height:18px;z-index:8;width:18px;border:none;text-indent:-7000em;margin:0;padding:0;} +.votedup{background-image:url(//images.slashdot.jp/upvote.png);background-position:-5px -4px;} +.voteddown{background-image:url(//images.slashdot.jp/downvote.png);background-position:-24px -4px;} +.up{left:5px;top:4px;} +.down{left:24px;top:4px;} +.nav ul li.selected a,#fhtablist li.active a,#tablist li.active a{border:none!important;color:#044;margin:0;padding:0;} +#fhtablist li.active a,#tablist li.active a{text-decoration:none;font-size:120%;} +#fhtabdel{position:relative;margin:0 0 0 10px;} +#fhtabdel a{background:transparent url(//images.slashdot.jp/s3a_controls.png) no-repeat!important;background-position:0 0;position:absolute;text-indent:-7000em;width:16px;right:-5px;top:-3px;} +#fhtabdel a:hover{background-position:0 -16px!important;} +#fh_advprefs{background:#efefef url(//images.slashdot.jp/dark_fade_20.png) repeat-x bottom;color:#456!important;clear:both;position:relative;z-index:2;margin:-.5em 0 .5em;} +#fh_advprefs p{float:left;margin:1em;} +#fh_advprefs form{background:none!important;clear:both;padding:1em;} +#fh_advprefs div.yui-gb{background:url(//images.slashdot.jp/dark_dwn_fade_20.png) repeat-x top;margin:0 0 .5em;} +#fh_advprefs div.yui-u ul{padding:1em;} +#fh_advprefs ul li{padding-bottom:.5em;} +.menu .date-span-popup{font-size:90%;} +.pop0{background-color:#cde;} +.pop1{background-color:#c00;} +.pop2{background-color:#f93;} +.pop3{background-color:#ff6;} +.pop4{background-color:#0c3;} +.pop5{background-color:#06f;} +.pop6{background-color:#609;} +.pop7{background-color:#306;} +.pop8{background-color:#000;} +.soda{background-image:url(//images.slashdot.jp/dark_fade_30.png);background-repeat:repeat-x;background-position:bottom;text-indent:-7000em;top:0;left:0;height:100%;width:.5em;min-height:24px;overflow:hidden;z-index:1;} +.soda span{height:10px;width:.5em;bottom:0;left:0;} +.daybreak{background:#fff url(//images.slashdot.jp/dark_fade_g.png) repeat-x center bottom;border-bottom:1px solid #ccc;border-top:1px solid #ddd;font-size:77%;position:relative;z-index:10;margin:0;padding:.3em;} +.daybreak a{line-height:140%;padding:.2em;} +#fh-pag-div{background:#fff url(//images.slashdot.jp/dark_fade_20.png) repeat-x scroll left bottom;color:#456;padding:.5em;} +#fh-pag-div a{color:#456;} +.paginate span.active{font-weight:700;background:#fff url(//images.slashdot.jp/dark_dwn_fade_30.png) repeat-x 0 -10px;} +.paginate span.inactive,.paginate span.active{border-right:1px solid #e5e5e5;line-height:2.2em;white-space:nowrap;padding:1em;} +.paginate span:first-child{border-left:1px solid #e5e5e5;} +.paginate span span{border:none!important;} +.busy img{vertical-align:middle;} +#firehose_more{font-weight:400;margin-left:.9em;} +.calendar-pane{background:#FFF none repeat scroll 0;border:2px solid #333;position:absolute;z-index:1000;margin:2em 0;} +.calendar-pane td a{color:#066!important;margin:0;padding:.3em .5em .3em .1em;} +.calendar-pane th{color:#fff!important;font-size:90%!important;background:#555!important;border-bottom:1px solid #aaa!important;} +.calendar-pane th,.calendar-pane td{border:none!important;padding:0;} +.calendar-pane table{margin:0!important;padding:0!important;} +.calendar-pane td{color:#555!important;font-size:90%!important;width:1.8em!important;height:1em!important;background:#E6E6E6 url(//images.slashdot.jp/sections-bg.png) repeat-x left bottom;border-bottom:1px solid #aaa!important;border-left:1px solid #aaa!important;margin:0!important;padding:0 0 0 .2em!important;} +.calendar-pane td.today{background:#666 url(//images.slashdot.jp/block-title-bg.png) repeat-x scroll 0!important;} +.calendar-pane td.today,.calendar-pane td.selected{font-weight:700!important;} +.calendar-pane td.selected,.calendar-pane td.today.selected{background:#066!important;font-weight:700;} +.calheader{color:#fff;background:#044 url(//images.slashdot.jp/article-title-bg.png) repeat-x scroll left top;} +.calheader a{background-repeat:no-repeat;padding:1px 4px 0;} +.calheader .calnavright{background-image:url(//images.slashdot.jp/arrows.png)!important;} +.calheader .calnavleft{background-image:url(//images.slashdot.jp/arrows.png)!important;background-position:0 -200px;} +.calendar-pane td.oom{background:#999;} +span.date-tab{background:transparent url(//images.slashdot.jp/sic_icons_new.png) no-repeat scroll 0 -995px;color:#fff;position:absolute;top:-2px;right:6px;cursor:pointer;padding:20px 0 2px 20px;} +.day.date-tab.active{background:transparent url(//images.slashdot.jp/s3a_controls.png) no-repeat scroll 0 0;float:none;border:none;top:2px;padding:8px 21px 8px 0!important;} +#fh-paginate .day.date-tab.active{padding:10px 17px 10px 0!important;} +span.date-tab.active div.tab-button{background:#066;} +#fhcalendar-calendar-pane{right:1em;} +#fh_change_range{font-size:80%;} +.firemenu .date-tab-bar{float:right;margin-right:.6em;padding:0 15px .5em 0;} +.date-tab-bar{position:relative;padding-right:25px;} +div.tags{padding:0 0 0 9em;} +div.article div.body div.tags{padding-left:1em;margin-left:1em;} +div#firehoselist div.article p{clear:both;} +div.tags div{padding:.2em .5em;} +.head div.tags div.tagtitleopen a span{background:transparent url(//images.slashdot.jp/block-arrow-expanded.gif) no-repeat;} +.head div.tags div.tagtitleclosed a span{background:transparent url(//images.slashdot.jp/block-arrow-collapsed.gif) no-repeat;} +div.article div.hide div.body div.tags{margin-left:9em;} +div.tags div.tagtitleopen a span{position:absolute;margin-left:-20px;top:2px;left:0;text-indent:-7000em;text-decoration:none;background:transparent url(//images.slashdot.jp/login-arrow-expanded.gif) no-repeat;padding:0 0 0 10px;} +div.tags div.tagtitleclosed a span{margin-left:-20px;text-indent:-7000em;top:2px;left:0;text-decoration:none;background:transparent url(//images.slashdot.jp/login-arrow-collapsed.gif) no-repeat;position:relative;color:#fff;padding:0 0 0 10px;} +div.tags i{white-space:nowrap;} +#nod-user-tags,#nix-user-tags{display:none;position:absolute;top:-55px;width:500px;} +#nod-user-tags ol,#nix-user-tags ol{display:inline;list-style:none;margin:0 -.2em;padding:0 .2em;} +#nod-user-tags li,#nix-user-tags li{display:inline;margin:0;padding:0 0 0 .3em;} +#nod-input,#nix-input{display:inline;font-size:11px;width:101px;} +#nod-user-tags{left:-150px;} +#nix-user-tags{left:58px;} +#nodmenu,#nixmenu{display:none;width:200px;z-index:100000;position:absolute!important;font-size:11px;} +#nodmenu .menu,#nixmenu .menu{top:-35px;width:150px;height:15em;z-index:1000000!important;position:absolute!important;font-size:11px;} +#nodmenu .menu{left:-150px!important;background:url(//images.slashdot.jp/popup_nod.png) no-repeat;} +#nixmenu .menu{left:15px!important;text-align:right;background:url(//images.slashdot.jp/popup_nix.png) no-repeat;} +#nodmenu li,#nixmenu li{list-style:none;color:#ddd;padding:1px 4px;} +#nodmenu ul{background:#222;opacity:.9;border:1px solid #111;margin:0 43px 0 0;} +#nodmenu li:hover,#nixmenu li:hover,#nodmenu li.selected,#nixmenu li.selected{background:#000;color:#fff;} +#nodmenu .menu,#console #nodmenu .menu{left:20px!important;background:url(//images.slashdot.jp/popup_nix.png) no-repeat;} +#nixmenu .menu,#console #nixmenu .menu{left:25px!important;} +#nod-user-tags,#console #nod-input{left:63px!important;} +#nix-user-tags,#console #nix-input{left:68px!important;} +ol#nod-hardened,ol#nix-hardened,ol#nod-hardened li,ol#nix-hardened li{position:relative;background:#000!important;} +ol#nod-hardened,ol#nix-hardened{margin-left:0!important;padding-left:0!important;cursor:pointer;} +#fhoptions a,#options a{background-image:url(//images.slashdot.jp/sic_controls_new.png);background-repeat:no-repeat;color:#FFF;font-weight:700;position:absolute;text-decoration:none;text-indent:-7000em;top:.8em;padding:0 10px 12px;} +#fhadvprefpane td span{background-image:url(//images.slashdot.jp/sic_controls_new.png);background-repeat:no-repeat;padding:3px 10px 3px 30px;} +#play a,#advplay{background-position:0 1px;} +#pause a,#advpause{background-position:0 -200px;} +#desc a,#advdesc{background-position:0 -400px;} +#asc a,#advasc{background-position:0 -600px;} +#full a,#advfull{background-position:0 -800px;} +#abbrev a,#advabbrev{background-position:0 -1000px;} +#time a,#advtime{background-position:0 -1200px;} +#popularity a,#advpopularity{background-position:0 -1400px;} +#marquee a{background-image:url(//images.slashdot.jp/sic_controls_new.png);background-position:0 -1600px;background-repeat:no-repeat;position:absolute;right:5em;text-decoration:none;text-indent:-7000em;top:.85em;} +#marquee a.collapsed{background-position:0 -1800px;} +#slashboxen a{background-image:url(//images.slashdot.jp/sic_controls_new.png);background-position:0 -2000px;background-repeat:no-repeat;position:absolute;right:3em;text-decoration:none;text-indent:-7000em;top:.85em;} +#slashboxen a.collapsed{background-position:0 -2200px;} +#play a,#pause a{right:13em;} +#desc a,#asc a{right:11em;} +#full a,#abbrev a{right:9em;} +#time a,#popularity a{right:7em;} +#pref a{background-image:url(//images.slashdot.jp/sic_controls_new.png);background-position:0 -2400px;background-repeat:no-repeat;height:14px;position:absolute;right:1em;text-decoration:none;text-indent:-7000em;top:1em;} +#options,#fhoptions{position:absolute;top:0;right:0;} +.msg{background:#fff url(//images.slashdot.jp/dark_fade_20.png) repeat-x bottom;position:relative;clear:left;display:block;color:#678;text-align:right;font-size:85%;margin:0;padding:5px 32px 5px 0;} +.msg img{position:absolute;top:4px;right:10px;} +#colorsliderbg{position:relative;background:url(http://images.slashdot.jp/colorscale.png) 5px 5px no-repeat;height:28px;width:155px;display:inline;padding:4px 160px 3px 0;} +#colorsliderthumb{cursor:default;position:absolute;top:4px;} +#fh_advprefs .date-tab-bar{float:right;padding:0 30px;} +#fh_advprefs form.reset{position:absolute;right:0;top:0;padding:.3em;} +#filter_prefs{background:#EFEFEF url(http://images.slashdot.jp/dark_fade_20.png) repeat-x scroll center bottom;clear:both;color:#456!important;position:relative;z-index:2;margin:-.5em 0 .5em;} +#filter_prefs div.box_content{padding:.9em;} +#filter_prefs .generaltitle{background:transparent;border:none;margin:0;padding:0;} +div#filter_prefs{padding:.25em 1em 1em;} +div#filter_prefs label{clear:both!important;} +.head div.tags div.tagtitleclosed a span,div.tagtitleclosed a span{position:relative;color:#066;text-decoration:none;} +div.tagtitleclosed a,div.tagtitleclosed a:hover,div.tagtitleclosed a:active,div.tagtitleclosed a:visited{text-indent:-9999999px;text-decoration:none;} +.article div.tagtitleclosed{width:90%;} +#filterinfo,#filterinfo a,#filterinfo #filter_text{color:#333;} +#filterinfo{text-align:right;padding-top:10px;} +.tag-widget,.tag-entry{user-select:text;-moz-user-select:text;} +.tag-widget-stub span.button.collapse{position:absolute;margin-top:-1.6em;margin-left:7em;} +span.tag,.tmenu,.tag-display,.tag-display-set,.tag-display ul,.tag-display li,.tag-display h1.legend,.edit-toggle,.tag-widget .related{user-select:none;-moz-user-select:none;} +.tag-entry{cursor:text!important;} +.tag-display span.tag,.tag-widget .admin-buttons{color:#666;} +.minus > .tag{text-decoration:line-through;background-color:inherit!important;} +.not-saved > .tag{color:#A9A9A9;background-color:inherit!important;} +.adminmode[tag-server] .s1 > .tag,.adminmode[tag-server] .t2 > .tag{font-weight:700;font-variant:small-caps;} +.adminmode[tag-server] .descriptive > .tag{color:orange;} +.adminmode[tag-server] .ignore > .tag{color:#A9A9A9;} +div.tag-display ul,div.tag-display li{display:inline;list-style:none inherit none!important;} +div.tag-display .tmenu li{text-align:center;margin:0!important;} +.tag-display li:hover span.tag{cursor:arrow;color:#FFF;background-color:#066;} +.tag-display[context=signoff]{padding-left:.5em;} +.tag-display[context=signoff] .w span.tag{background-color:#ff4949!important;} +.tag-display[context=signoff] .w:hover span.tag{background-color:red!important;} +.tag-display li.d:hover span.tag{color:inherit;background-color:inherit;} +div.tag-display,div.tag-display > h1.legend{width:auto!important;} +.tag-display ul,.tag-display span.tag,.tag-display .tmenu,.tag-display .tmenu li,.tag-display h1.legend{border:0 solid transparent;-moz-border-radius:.4em;-webkit-border-radius:.4em;} +div.tag-display .tmenu li span,#contents div.tag-display .tmenu li span{text-align:center;margin:-.1em -.25em!important;padding:0 .55em .45em!important;} +.tag-display .tmenu{display:none;position:absolute;top:-2em;right:.5em;font-size:85%;color:#fff;background-color:#066;white-space:nowrap;opacity:.5;-moz-opacity:.5;text-align:center;margin:0!important;padding:0 .3em 0 .2em!important;} +div.tag-display .tmenu{padding-bottom:.05em!important;} +div.yui-b div.tag-display .tmenu{padding-bottom:.5em!important;} +div.yui-b div.tag-display .tmenu li span,div.yui-b #contents div.tag-display .tmenu li span{margin:-.1em -.25em!important;padding:0 .55em .45em!important;} +.tag-display .tmenu:hover{opacity:.9;} +.tag-display .tmenu > li:hover{color:#FFF;background-color:#000!important;} +div.tag-display > ul > li,div.tag-display .tmenu > li{margin-left:0!important;} +div.tag-display .tmenu > li + li,div.tag-display > ul > li + li{margin-left:.25em!important;} +.tag-display > h1.legend{display:none;position:absolute;top:-2.2em;left:-.2em;color:#444;background-color:#FFF;opacity:.85;font-size:85%!important;text-align:left;text-transform:capitalize;} +.tag-display h1.legend{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;} +.tag-display[context=related] > h1.legend{bottom:-2em!important;top:inherit;-moz-border-radius-bottomleft:.4em;-moz-border-radius-bottomright:.4em;-webkit-border-bottom-left-radius:.4em;-webkit-border-bottom-right-radius:.4em;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;} +div.tag-display-stub,div.tag-display{display:inline!important;position:relative;margin-left:0!important;} +.tag-display:hover > ul{background-color:#dfdfdf;} +.tag-display[context=related]{display:block;text-align:left;} +.tag-display-set.train{display:inline!important;margin-right:1em;} +.tag-widget.expanded .tag-display-set.train{padding-right:1em;} +.tag-widget .tag-entry{display:none;margin-right:.4em;} +.tag-widget .tag-server-busy{display:none;position:absolute;} +.tag-widget.expanded .tag-server-busy{top:.5em;right:.25em;} +div.tag-widget-stub,div.tag-widget{display:block;position:absolute;background-color:transparent;} +div.head div.tag-widget-stub,{display:block;background-color:transparent;margin-left:10em;margin-top:2.8em;} +#firehose div.tag-widget-stub.body-widget,#firehose div.tag-widget.body-widget{right:-.5em;bottom:6px;z-index:10;text-align:right;left:10em;padding:0 .4em 0 .8em;} +#firehose div.tag-widget-stub.body-widget.expanded,#firehose div.tag-widget.body-widget.expanded{right:0;} +.tag-widget .note-wrapper{display:block;font-style:italic;padding-right:.4em;margin:0 1em .5em 0;} +.tag-widget .note-wrapper.no-note{display:inline;font-style:inherit;padding-right:0;} +.tag-widget .admin-buttons{padding-right:.7em;} +.tag-widget .admin-buttons .note-wrapper:before{content:'Note: ';} +.tag-widget div.tags{display:inline;position:relative;right:1em!important;top:.8em;margin-left:1em;} +.tag-widget.nod-nix-reasons{position:relative;bottom:0;color:inherit;background-color:inherit;text-align:inherit;padding-left:.8em;z-index:10;} +div.article div.title div.nod-nix-reasons span.tag{color:#FFF;} +.nod-nix-reasons .tag-display li:hover span.tag{color:#FFF;background-color:#000;} +.nod-nix-reasons .tag-display:hover ul{background-color:inherit;} +div.tag-display.ready.dirty{border-top:1px solid transparnt!important;} +.ac_results{border:1px solid #000;background-color:#FFF;overflow:hidden;z-index:99999;padding:0;} +.ac_results ul{width:100%;list-style-position:outside;list-style:none;margin:0;padding:0;} +.ac_results li{cursor:default;display:block;font:menu;font-size:12px;line-height:16px;overflow:hidden;margin:0;padding:2px 5px;} +.ac_loading{background:#FFF url(indicator.gif) right center no-repeat;} +.ac_odd{background-color:#eee;} +.ac_over{background-color:#0A246A;color:#FFF;} +.nav{background:#066 url(//images.slashdot.jp/dark_dwn_fade_50.png) repeat-x top;} +.nav ul li.selected a,.nav ul li.active a{color:#044;} +.nav ul li.active{border:1px solid #033;} +.head a.skin{color:#077;} +#yui-main #firehose .article,#yui-main #firehose h3 a.skin{color:#567;} +#yui-main #firehose h3 a,a{color:#055;} +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,h1,h2,h3,h4,h5,h6,fieldset,#adminmenu ul,.nav ul,.nav ul li,ul,div.aduserbox div#firehoselist .tag-widget-stub span.button.collapse,div.aduserbox div#firehoselist div.tag-widget-stub,div#firehoselist div.tag-widget{margin:0;padding:0;} +q:before,q:after,.tag-widget .admin-buttons .note-wrapper a:before,.tag-widget .admin-buttons .note-wrapper a:after,.tag-widget .admin-buttons .note-wrapper.no-note:before{content:'';} +.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u,.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;} +.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first,.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first,.head .comments,#yui-main #firehose .body .media img,#afterwidget,div.rnd-nbutton-position{float:left;} +.yui-gc div.first,.yui-gd .yui-u,.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;} +.yui-gd div.first,s .yui-gb .yui-gd div.first,.yui-ge div.first .yui-gd div.first{width:32%;} +.yui-ge div.first,.yui-gf .yui-u,.yui-gf .yui-g{width:74.199997%;} +.yui-ge .yui-u,.yui-gf div.first,.yui-ge .yui-g{width:24%;} +.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{margin-left:0;} +.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{margin-left:0;width:48.099998%;} +.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first,.head.noslashboxes .article{margin-right:0;} +.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u,form p,.block ul,.head .block table,.menu{margin:0;} +h1,h2,h3,h4,h5,h6,strong,.bang > span.tag > .punct,.adminmode[tag-server] .pound > .tag,.tag-display[context=related] li.suggestion span.tag{font-weight:700;} +em,.tag-widget .admin-buttons .note-input{font-style:italic;} +blockquote,ul,ol,dl,#fh-paginate .vbutton{margin:1em;} +ol,ul,dl,#fhoptions,#options span{margin-left:2em;} +p,fieldset,table,pre,.head .body .intro{margin-bottom:1em;} +div#modal_box label,.menu #fh_pag_calendar,.menu .date-tab-bar,.menu .tab-button,#fh_advprefs form.yui-skin-sam label,#filter_prefs label,#fhcalendar,.date-tab-bar,#filter_play_status,#filter_prefs label,.date-tab-bar,#fhcalendar,.tag-widget.expanded .tag-display[context=user],.tag-widget.expanded .tag-entry,.tag-widget.expanded .tag-editor{display:inline;} +#slogan,.tag-display li.not-saved .tmenu,.tag-display[context=signoff] .tmenu,.tag-display li.d .tmenu,.tag-display.no-tags,.tag-display[context=related].no-tags,.tag-display[context=user].no-visible-tags,.briefarticle .tag-widget-stub.body-widget,.briefarticle .tag-widget.body-widget{display:none!important;} +#commentControlBox,.commentBox,#modal_box .generaltitle h3{margin-top:0;} +#bd .nav,#bd .nav a,.head .article h3 a,.head .article h3 a.skin,#yui-main #firehose .article .comments:hover,#yui-main #firehose .article .comments:hover a,#yui-main #firehose .briefarticle .comments:hover,#yui-main #firehose .briefarticle .comments:hover a,div.head .tag-display span.tag,div.head .tag-widget .admin-buttons,.nav ul li a,.head,.innerblock,.head h4,.head h3,.head a,.head .body,.head .article h3,.head .details{color:#fff;} +.block ul li,#login_box form,#modal_box form,#filter_prefs form{padding-bottom:1em;} +div.yui-b div.block a,div.yui-b div.content a,div.yui-b div#user_bio.block a,div.tag-display li.u{text-decoration:none!important;} +#floating-slashbox-ad.SqueezedOut,div.head span.commentcnt,div.head a.skin,div.head span.date,div.head span.date,#yui-main #firehose .article h3 img,.hide,#modal_box #modal_box_content legend,#yui-main #firehose .briefarticle .comments span,hr,legend,#login_box #login_box_content legend,div.briefarticle div.introhide,div#firehose div.article div.comments span,div#firehose div.briefarticle div.comments span,div.head div.article div.comments div p b span,#login_box .generaltitle .title a img,#modal_box .generaltitle .title a img,#fh_advprefs .generaltitle .title a img,#filter_prefs .generaltitle .title a img,.popup iframe,span.balloon-marquee span,span.balloon-firehoselist span,div.head span.reader span.commentcnt,.briefarticle div.hide,.briefarticle .details,.briefarticle .intro,div.head span.soda,.date-widget.all span.date-tab,.date-widget.now span.date-tab,#nodmenu .menu.autocomplete,#nixmenu .menu.autocomplete,#nodmenu.editing .menu.basic,#nixmenu.editing .menu.basic,div#firehose span.commentcnt,.tag-display[context=user] li.p,.tag-display[context=top] li.p,.tag-display[context=system] li.p,.tag-display[context=user] li.t,.tag-display[context=user] li.s,.tag-display[context=top] li.s,div.tag-display .tmenu li.minus,div.tag-display .tmenu li.ignore,div.tag-display .tmenu li.pound,div.tag-display .tmenu li.descriptive,.tag-display li.d:hover ul.tmenu,.tag-widget .tag-display[context=user],.tag-editor,div.tags div.tagshide,#d2toggle{display:none;} +.block table td,fieldset,.nav select{border:none;} +a:focus,.nav,.head .body .media img{overflow:hidden;} +.paginate a,.tag-widget .admin-buttons a,a.edit-toggle{text-decoration:none;} +.paginate a span,.tag-display[context=top] li.u,.tag-display[context=system] li.u,.tag-display[context=related] li.u{text-decoration:underline;} +div.briefarticle,#fhtablist li.active span,#tablist li.active span,div.tags div.tagtitleopen a,div.tags div.tagtitleclosed a,.tag-display > ul > li{position:relative;} +span.vballoon-marquee,span.vballoon-marquee a,span.vballoon-marquee a:hover,span.vballoon-firehoselist,span.vballoon-firehoselist a,span.vballoon-firehoselist a:hover{color:#fff;text-decoration:none;} +div.rnd-balloon-contain,div.balloon-firehoselist-contain,div.balloon-marquee-contain,div.rnd-nbutton-contain,div.tag-display li.u > .tmenu li.minus,div.tag-display li.u > .tmenu li.descriptive,div.tag-display li.t > .tmenu li.pound,div.tag-display li.t > .tmenu li.ignore,div.tag-display li.t > .tmenu li.descriptive{display:inline-block;} +.maincol,div#bd div#filter_prefs{padding:0;} +a.vbutton,.calendar-pane td.today a,.calendar-pane td.selected a{color:#fff!important;text-decoration:none;} +.article div.hide,#nodmenu.editing #nod-user-tags,#nixmenu.editing #nix-user-tags,#nodmenu.editing .menu.autocomplete,#nixmenu.editing .menu.autocomplete,#nodmenu.editing.soon .menu.basic,#nixmenu.editing.soon .menu.basic,.tag-display li:hover ul.tmenu,.tag-display:hover > h1.legend,.tag-widget .working + .tag-server-busy{display:block;} +.view .article.thumbs .hide,#yui-main #firehose .article.thumbs h3,#yui-main #firehose .briefarticle.thumbs h3,#yui-main #firehose .article.thumbs .hide,#yui-main #firehose .briefarticle.thumbs .hide{margin-left:4em;} +.vote,.votedup,.voteddown,.vote a,.votedup a,.voteddown a,.soda,span.tag,.tmenu,.tag-display ul,.tag-display li,.edit-toggle{cursor:pointer;} +.vote,.votedup,.voteddown,.vote a,.votedup a,.voteddown a,.soda,.soda span,#filter_prefs h4 a{position:absolute;} +#nixmenu ul,#nodmenu ul,#console #nodmenu ul{background:#222;border:1px solid #111;opacity:.9;margin:0 0 0 43px;} Added: test/images/css/idlecore-tidied.css.orig =================================================================== --- test/images/css/idlecore-tidied.css.orig (rev 0) +++ test/images/css/idlecore-tidied.css.orig 2008-12-01 04:21:53 UTC (rev 853) @@ -0,0 +1,494 @@ +html{color:#000;background:#FFF;} +table{font:100%;border-collapse:none;border-spacing:0;font-size:inherit;margin:1em 0;} +fieldset,img{border:0;} +address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400;} +li{list-style:none;} +caption,th{text-align:left;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400;} +abbr,acronym{border:0;font-variant:normal;border-bottom:1px dotted #000;cursor:help;} +sup{vertical-align:text-top;} +sub{vertical-align:text-bottom;} +input,textarea,select{font-family:inherit;font-weight:inherit;font-size:100%;} +legend{color:#000;} +body{font-size:small;font:x-small;text-align:center;} +pre,code,kbd,samp,tt{font-family:monospace;font-size:108%;line-height:100%;} +#ft{clear:both;display:block;background:transparent url(//images.slashdot.org/dark_dwn_fade_50.png) repeat-x;font-family:arial, sans-serif;margin:0 0 6em;} +#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{text-align:left;width:56.25em;min-width:750px;margin:auto;} +#doc2{width:71.25em;} +#doc3{width:auto;font-family:arial, sans-serif;background:#2E2E2E url(//images.slashdot.org/dark_dwn_fade_100.png) repeat-x scroll 0 4.9em;border-top:2px solid #111;min-width:780px;margin:0;} +#doc4{width:73.050003em;} +.yui-b{position:relative;_position:static;width:30em;} +#yui-main .yui-b{position:static;float:none;width:auto;} +#yui-main{width:100%;background:#fff;margin-top:-.5em;} +.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;} +.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-336px;} +.yui-t1 .yui-b{float:left;width:12em;} +.yui-t1 #yui-main .yui-b{margin-left:13.05em;} +.yui-t2 .yui-b{float:left;width:13.5em;} +.yui-t2 #yui-main .yui-b{margin-left:14.55em;} +.yui-t3 .yui-b{float:left;width:22.5em;} +.yui-t3 #yui-main .yui-b{margin-left:23.620001em;} +.yui-t4 .yui-b{float:right;width:13.5em;} +.yui-t4 #yui-main .yui-b{margin-right:14.55em;} +.yui-t5 .yui-b{float:right;width:18em;} +.yui-t5 #yui-main .yui-b{margin-right:19.125em;} +.yui-t6 .yui-b{float:right;width:336px;} +.yui-t6 #yui-main .yui-b{margin-right:336px;} +.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em;} +.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;width:32%;margin-left:1.99%;} +.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.099998%;} +.yui-gb .yui-u{margin-left:1.9%;width:31.9%;} +.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{margin-right:0;width:32%;_width:31.700001%;} +.yui-gb .yui-g div.first{margin-right:4%;_margin-right:1.3%;} +.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{margin-left:1.8%;_margin-left:4%;} +.yui-g .yui-gb .yui-u{_margin-left:1%;} +.yui-gb .yui-gd .yui-u{width:66%;_width:61.200001%;} +.yui-gb .yui-gd div.first{width:31%;_width:29.5%;} +.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;} +.yui-gb .yui-gc div.first{width:66%;float:left;margin-left:0;} +.yui-gb .yui-gb .yui-u{_margin-left:.7%;} +.yui-g .yui-gd div.first{_width:29.9%;} +.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{width:24%;_width:20%;} +.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{width:73.5%;_width:65.5%;} +.yui-ge div.first .yui-gd .yui-u{width:65%;} +#bd:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;} +#bd,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;} +h1{font-size:138.5%;} +h2{font-size:123.099998%;} +h3{font-size:108%;} +h1,h2,h3{margin:1em 0;} +ol li{list-style:decimal outside;} +ul li{list-style:disc outside;} +dl dd{margin-left:1em;} +th,td{border:1px solid #000;padding:.5em;} +th{font-weight:700;text-align:center;} +caption{margin-bottom:.5em;text-align:center;} +input[type=text],input[type=password],textarea{width:11.9em;} +body,html{background:#2e2e2e;} +.generaltitle{margin-top:.5em;padding:.5em 1em;} +.generalbody{border-top:1px solid #aaa;padding:2em;} +.generalbody p{padding:.5em 1em;} +label{display:block;margin-top:.5em;font-weight:700;padding:.5em 0;} +#jump{position:absolute;top:-7000em;left:0;} +#hd{height:3.9em;position:relative;z-index:2;background:#066 url(//images.slashdot.org/dark_fade_50.png) repeat-x bottom;margin:1em 2em .2em;} +.hidden{position:absolute;left:0;top:-500px;width:1px;height:1px;overflow:hidden;} +#logo{background:url(//images.slashdot.org/logo-idle.png) no-repeat left top;height:69px;width:430px;position:absolute;z-index:1;} +#logo span{text-indent:-5000px;text-decoration:none;background:url(//images.slashdot.org/dark_largecurve.png) no-repeat left top;position:absolute;top:0;left:0;height:25px;width:25px;padding:0;} +#logo a{height:60px;width:430px;position:absolute;top:0;left:0;} +.error{background:#edd;border:3px solid #eaa;color:#600;text-align:left;padding-left:.5em;font-weight:700;margin:.8em;} +.warn{background:#ffc;border:3px solid #dc9;color:#630;text-align:left;padding-left:.5em;font-weight:700;margin:.8em;} +#bd{background:#fff;position:relative;margin:0 2em;} +#hd .nav{position:absolute;right:1em;top:.5em;font-size:93%;z-index:2;} +#hd .nav,#hd .nav ul,#hd .nav ul li{background:none;} +#hd form{position:absolute;right:1.5em;top:1.9em;z-index:2;} +#hd form input.query{border:1px solid #033;font-size:93%;padding:.15em .2em;} +.article{padding:0 1em;} +div.generalbody #firehoselist div.article,#yui-main #firehose .article,#yui-main #firehose .briefarticle,#commentControlBox,.commentBox{background:url(//images.slashdot.org/dark_fade_20.png) repeat-x bottom;position:relative;display:block;overflow:hidden;margin:0;padding:0 1em 1.8em;} +#firehoselist .tag-widget{padding-right:1.4em;} +div.tag-display > ul,#contents div.tag-display > ul{margin:-.1em -.5em!important;padding:.1em .5em!important;} +div.tag-display span.tag,div.tag-display > h1.legend,#contents div.tag-display > h1.legend{color:#333;margin:-.1em!important;padding:.1em .3em!important;} +#yui-main #firehose .paginate,.title2{background:url(//images.slashdot.org/dark_fade_20.png) repeat-x bottom;position:relative;clear:left;display:block;padding:1em;} +.title2{background-color:#fff;color:#567;padding:.5em 1em;} +#bd .nav{border-top:1px solid #033;clear:both;position:relative!important;padding:1em;} +#bd .nav ul{margin-bottom:-.4em;} +.nav ul li{list-style:none;display:inline;font-size:93%;} +#slashboxes li,.head .block li{list-style:none!important;} +.nav ul li a{padding:.6em .8em 1em 1em;} +.block ul li:last-child{padding-bottom:0;} +.block .content{background:#efefef url(//images.slashdot.org/dark_dwn_fade_30.png) repeat-x scroll 0 0;border-left:1px solid #ccc;border-top:1px solid #aaa;line-height:160%;color:#111;font-size:93%;text-align:left;padding:1em;} +.article .generaltitle{background:none;border:none;margin:0;padding:0;} +#slashboxes{clear:right;} +.block .title,#fh_advprefs h4,#filter_prefs h4,.generaltitle{background:#fff url(//images.slashdot.org/dark_fade_g.png) repeat-x scroll bottom;border-left:1px solid #ccc;border-top:1px solid #ddd;text-align:left;position:relative;padding:.5em .5em .5em 1em;} +#slashboxes .block .title h4{background-image:url(//images.slashdot.org/s3a_controls.png);background-repeat:no-repeat;background-position:right -32px;cursor:move;} +#slashboxes .block .title h4 .closebox{position:absolute;top:.5em;right:.5em;background-image:url(//images.slashdot.org/s3a_controls.png);background-position:0 0;background-repeat:no-repeat;width:16px;height:16px;text-indent:700em;overflow:hidden;cursor:pointer;} +#slashboxes .block .title h4 .closebox:hover{background-position:0 -16px;} +#floating-slashbox-ad{display:none;position:absolute;height:300px;width:300px;} +#floating-slashbox-ad.Article{display:block;right:-313px;} +#floating-slashbox-ad.Bottom{display:block;bottom:0;right:49px;} +#floating-slashbox-ad.Top,#floating-slashbox-ad.TopDisconnected{display:block;position:relative;} +.head .block .foot{display:block;font-size:85%;font-weight:400;background:url(//images.slashdot.org/dark_dwn_corner.png) no-repeat top left;padding:1em 1em 0;} +.details{color:#333;font-size:85%;padding:.3em 0 .5em;} +.more{font-weight:700;font-size:100%;} +.body{font-size:93%;line-height:150%;color:#000;padding-top:.5em;} +.head{position:relative;overflow:hidden;background:#066 url(//images.slashdot.org/dark_dwn_fade_100.png) repeat-x top;} +.head2{text-align:right;min-height:30px;background:#066 url(//images.slashdot.org/dark_fade.png) repeat-x bottom;} +.head .more{margin-top:.2em;position:absolute;z-index:9;} +.body .more{padding-top:1em;z-index:10;} +div#firehoselist .more{font-weight:700;display:block;position:absolute;white-space:nowrap;width:auto;margin:0;} +.head p{padding-top:1em;} +.head p:last-child{padding-bottom:2em;} +.head .block .content{background:url(//images.slashdot.org/dark_corner.png) no-repeat top left;border:none;color:#fff;font-size:85%;padding:1em 1.5em 0;} +.head .block .title{background:transparent;font-weight:700;font-size:93%;border:none;padding:1em 1.5em;} +.head .block ul li,.head .block p{padding-bottom:.5em;margin:0;} +.head .body{margin-bottom:4em;} +.head .yui-b{margin-left:2em;margin-bottom:1em;} +.head .article{margin-right:26em!important;padding:.5em 1.5em 2em;} +.head .article .details{margin-right:140px;margin-bottom:.5em;} +.head .article .details b{font-weight:400;} +.head .body span.media{float:right;position:relative;z-index:0;margin:0 1em 2em 2em;} +#yui-main #firehose h3,.head h3{font-size:100%;margin:0;padding:.6em 0 0;} +.head h3{font-size:120%;} +#yui-main #firehose{background:#fff;position:relative;z-index:0;} +#commentwrap{background:#fff;position:relative;z-index:2;} +.body .media a.watch{display:block;position:relative;top:-104px;margin-bottom:-104px;width:130px;height:100px;text-indent:-99999px;background:url(/images/icon_play.png) no-repeat center;} +#yui-main #firehose .body{margin-bottom:1.75em;} +#yui-main #firehose .body .media{text-align:center;width:130px;height:100%;float:left;margin:0 1em .3em 0;} +#yui-main #firehose h3 a{line-height:160%;} +#yui-main #firehose .article h3 img,#yui-main #firehose .briefarticle h3 img{float:left;padding-right:1em;} +div#login_box div#fhcalendar.generaltitle{display:block;padding:0;} +#yui-main #firehose .tags{font-size:93%;width:80%;display:block;clear:both;position:relative;} +.paginate{font-size:93%;text-align:center;padding:1.5em 1em;} +.paginate a b,b em{color:#888;font-family:georgia;font-size:130%;} +div.briefarticle div.intro{padding:0 1.15em .5em;} +div.briefarticle a span{text-indent:-5000px;position:relative;float:left;} +div.briefarticle a span.expanded{width:15px;background:url(//images.slashdot.org/block-arrow-expanded.gif) no-repeat 0 50%;} +div.briefarticle a span,div.briefarticle a span.condensed{width:15px;background:url(//images.slashdot.org/block-arrow-collapsed.gif) no-repeat 0 50%;} +div div.briefcomment{padding-left:4em;padding-top:0;} +div#firehose div.article div.comments,div#firehose div.briefarticle div.comments{background:transparent url(//images.slashdot.org/commentBubbleExt.png) no-repeat 3px bottom!important;height:1.85em!important;} +div#firehose div.article div.comments div,div#firehose div.briefarticle div.comments div{display:block;background:#666 url(//images.slashdot.org/commentBubbleBg.png) no-repeat top left;margin:0;padding:0;} +div#firehose div.article div.comments div p,div#firehose div.briefarticle div.comments div p{background:transparent url(//images.slashdot.org/commentBubbleBg.png) no-repeat top right;} +div#firehose div.article div.comments div p b,div#firehose div.briefarticle div.comments div p b{display:block!important;background:transparent url(//images.slashdot.org/commentBubbleBg.png) no-repeat bottom right;} +div#firehose div.article div.comments div p b a,div#firehose div.briefarticle div.comments div p b a{display:block!important;background:transparent url(//images.slashdot.org/commentBubbleBg.png) no-repeat bottom left;color:#fff;text-decoration:none;height:1.1em!important;font-weight:400;min-width:1em;padding:.1em .5em;} +#yui-main #firehose .article .comments,#yui-main #firehose .briefarticle .comments{color:#f5f5f5;position:absolute;right:2em;top:.51em;font-size:77%;text-align:center;} +div.head div.article div.comments{right:390px;color:#066;text-align:center;float:right;background:transparent url(//images.slashdot.org/commentBubbleExt_marquee.png) no-repeat 3px bottom!important;height:2.15em!important;} +div.head div.article div.comments div{display:block;background:#033 url(//images.slashdot.org/commentBubbleBg_marquee.png) no-repeat top left;margin:0;padding:0;} +div.head div.article div.comments div p{background:transparent url(//images.slashdot.org/commentBubbleBg_marquee.png) no-repeat top right;margin:0;padding:0;} +div.head div.article div.comments div p b{display:block!important;background:transparent url(//images.slashdot.org/commentBubbleBg_marquee.png) no-repeat bottom right;} +div.head div.article div.comments div p b a{display:block!important;background:transparent url(//images.slashdot.org/commentBubbleBg_marquee.png) no-repeat bottom left;color:#fff;text-decoration:none;height:1.1em!important;font-weight:400;min-width:1em;padding:.05em .75em .3em;} +div.head .tag-widget.expanded .tag-server-busy{right:0!important;top:0!important;} +.external{display:inline;padding:0 20px 0 5px;} +h3 .external a{z-index:1000;width:20px;background:url(//images.slashdot.org/sic_icons.png) no-repeat 0 -799px!important;text-indent:-7000em;position:absolute!important;} +div.copyright{clear:both;background:#555 url(//images.slashdot.org/dark_fade_50.png) repeat-x bottom left;margin:0 2em;} +div.copyright p{color:#999;font-size:85%;text-align:center;margin:0;padding:1em;} +div.copyright a{color:#ccc;} +div#topfoot{background:#bbb url(//images.slashdot.org/light_dwn_fade_50.png) repeat-x scroll left top;border:none;border-top:1em solid #fff;border-left:1em solid #fff;border-right:1em solid #fff;clear:both;margin:0;} +div#topfoot div.search{float:left;width:23.25em;white-space:nowrap;padding:1.35em 0 0 1.25em;} +div#topfoot div.rightcontent{text-align:right;background:url(//images.slashdot.org/footer-right.png) no-repeat right top;padding:1.35em 1.25em 1.5em 0;} +div#topfoot div.rightcontent table{width:auto;border:1px solid #aaa;border-right:1px solid #fff;border-bottom:1px solid #fff;} +div#topfoot div.rightcontent .data_hl1{background:#eee;} +div#topfoot div.rightcontent small{color:#333;font-family:'Trebuchet MS', Helvetica, Arial, clean, sans-serif;font-size:100%;font-style:italic;} +#ft .nav{text-align:center;background:transparent;margin:1em;} +#ft .nav li{font-size:85%;} +#ft .nav li a{padding:0 .8em 0 1em;} +#ft .nav .menu{border-color:#555;} +.ad6{text-align:center;} +.body #fad6{float:none;} +.view #fad6{margin-top:1em;} +#fad6{float:right;width:336px;z-index:100;position:relative;margin:1em 0 0;} +#fad30{position:absolute;top:0;right:0;z-index:10000;margin:0;padding:0;} +#fad2{float:right;width:270px;z-index:100;position:relative;margin:1em 0 0;} +#fad1{text-align:center;margin-top:.5em;z-index:100;position:relative;} +.to-be-moved{border:dotted 2px #555;opacity:.5;} +.prev-next{margin:2em 1.1em;} +.prev-next em{font-style:normal;color:#fff;} +#adminmenu ul.nestedmenu a{text-align:left;padding:.2em;} +.user_admin{border:1px solid #aaa;} +table,td,th{border:none!important;text-align:left;} +table td{border-bottom:1px solid #eee!important;padding:.5em 1em;} +table th{background:#fff url(//images.slashdot.org/dark_fade_10.png) repeat-x bottom!important;border-bottom:2px solid #bbb!important;padding:.1em 1em .5em;} +#login_cover,#modal_cover{background-color:#222;height:100%;opacity:.75;position:fixed;width:100%;z-index:1000000;} +#login_box .generaltitle .title h3,#modal_box .generaltitle .title h3{background:transparent!important;color:#222;margin:0!important;padding:0;} +#login_box .generaltitle .title,#modal_box .generaltitle .title{background:#ccc url(//images.slashdot.org/dark_fade_g.png) repeat-x top!important;border:none!important;padding:.7em .3em .6em .5em!important;} +#modal_box{height:65%;} +#login_box,#modal_box{position:fixed;width:50%;z-index:1000001;border:4px solid #222;overflow:hidden;background:#fff;padding-bottom:2.6em;margin:5% 25%;} +#login_box h3 a,#modal_box h3 a,#fh_advprefs .generaltitle .title a,#filter_prefs .generaltitle .title a{position:absolute!important;right:.3em;} +#login_box fieldset,#modal_box fieldset{border:none;margin:0;padding:0;} +#login_box #login_box_content,#modal_box #modal_box_content{overflow:auto;background-color:#fff;border-top:1px solid #aaa;height:100%;text-align:left;padding:0 2em;} +#login_box .generaltitle .title a,#modal_box .generaltitle .title a,#fh_advprefs .generaltitle .title a,#filter_prefs .generaltitle .title a{color:#222!important;background:url(//images.slashdot.org/s3a_controls.png) no-repeat;width:16px;position:relative;height:16px;margin:.2em 0;padding:0 0 0 8px;} +#login_box .generaltitle .title a:hover,#modal_box .generaltitle .title a:hover,#fh_advprefs .generaltitle .title a:hover,#filter_prefs .generaltitle .title a:hover{background:url(//images.slashdot.org/s3a_controls.png) no-repeat 0 -16px;} +#login_box .generaltitle h3,#modal_box .generaltitle h3,#login_box .generaltitle .title,#modal_box .generaltitle .title,#login_box .generaltitle,#modal_box .generaltitle{line-height:100%!important;margin-top:0;padding:0;} +.mod_menu{display:block;margin:.5em auto;} +.mod_menu li{list-style:none;display:inline;} +.mod_menu li a{width:auto;position:relative;color:#fff;border-radius:.5em;-moz-border-radius:.5em;-webkit-border-radius:.5em;background:#666;margin:.5em auto;padding:.5em;} +.mod_menu li.selected a{background:#222;} +div.modalprefhelp{background:#EBEBEB;border:2px solid #A3A3A3;position:absolute;width:50%;text-align:left;z-index:100000;margin:0 1em;padding:1.5em;} +a.help{text-decoration:none;border:1px solid #777;width:10px;height:10px;background:#888;font-size:10px;font-weight:700;color:#fff;padding:1px 2px 0 3px;} +.nbutton{background:#666 url(//images.slashdot.org/corner_w_tl.png) top left no-repeat;color:#fff;white-space:nowrap;margin:.25em;padding:.4em 0;} +.nbutton p{display:inline;background:transparent url(//images.slashdot.org/corner_w_tr.png) top right no-repeat;padding:.4em 0;} +.nbutton p b{display:inline;background:transparent url(//images.slashdot.org/corner_w_bl.png) bottom left no-repeat;padding:.4em 0;} +.nbutton p b input,.nbutton p b a{background:transparent url(//images.slashdot.org/corner_w_br.png) bottom right no-repeat!important;color:#fff!important;font-weight:400;text-decoration:none;border:none;padding:.4em 1em;} +.nbutton:hover{background-color:#444;} +.expand{background:transparent url(//images.slashdot.org/login-arrow-expanded.gif) no-repeat scroll 0 50%;padding:8px;} +.collapse{background:transparent url(//images.slashdot.org/login-arrow-collapsed.gif) no-repeat scroll 0 50%;padding:8px;} +.head .collapse{background:transparent url(//images.slashdot.org/tag-arrow-collapsed-ffffff.png) no-repeat scroll 0 50%;} +.head .expand{background:transparent url(//images.slashdot.org/tag-arrow-expanded-ffffff.png) no-repeat scroll 0 50%;} +span.vballoon-marquee{background:#033;display:inline-block;color:#fff;float:right;position:relative;margin:0 .5em .5em;padding:.25em .75em;} +span.vballoon-marquee span{display:block;position:absolute;height:19px;width:20px;text-indent:-9999px;background:transparent url(/images/balloon_ext_003333.png) no-repeat scroll center bottom;margin:1em 0 0 -.5em;} +span.vballoon-firehoselist{background:#666;display:inline-block;color:#fff;margin-top:.5em;position:absolute;right:1.75em;text-align:center;top:.51em;font-size:.75em;padding:.25em .75em .15em;} +span.vballoon-firehoselist span{display:block;position:absolute;height:10px;width:20px;text-indent:-9999px;background:transparent url(/images/balloon_ext_666666.png) no-repeat scroll center bottom;margin:1.25em 0 0 -.65em;} +.reject input{visibility:hidden;} +h3 .reject{position:absolute;right:4.5em;top:0;background:transparent url(//images.slashdot.org/sic_icons.png) no-repeat scroll 0 -602px;width:20px;cursor:pointer;} +.popup{border:solid 2px #066;} +.popup-title{text-align:left;background:#066;font-size:100%;color:#fff;padding-right:4em;} +.popup-title .buttons{position:absolute;right:.2em;} +.popup-message{background:#066;font-size:100%;color:#fff;font-weight:700;text-align:right;} +.popup-contents{background:#ccc;font-size:80%;padding:5px;} +.popup-title .buttons a{color:#fff;text-decoration:none;padding:0 0 0 .2em;} +span.balloon-marquee a{padding:0 .25em;} +span.balloon-firehoselist a{padding:0 .05em;} +.baloon-marquee-position{float:right;height:2.15em!important;right:390px;} +.balloon-marquee a{font-weight:400;text-decoration:none;} +.balloon-firehoselist-position{position:absolute;right:1.75em;text-align:center;top:.51em;} +.balloon-firehoselist a{font-weight:400;text-decoration:none;color:#fff;font-size:.75em;display:block;line-height:.65em;text-align:center;margin:.15em .25em;padding:0;} +.rnd-nbutton a{color:#fff;text-decoration:none;font-weight:400;} +div.rnd-nbutton-contain .c{padding-top:0!important;line-height:16px;padding-bottom:-18px;top:5px!important;} +div.commentSub{position:relative;display:block;margin-bottom:3.15em;} +div.head .tag-widget{background-color:transparent;display:block;position:relative;top:1.25em;float:right;text-align:right;width:80%;padding:0 1.4em 0 .8em;} +.vbutton{display:inline-block;position:relative;color:#fff;margin:0;padding:.25em 1.25em;} +.bg_666666{background:#666!important;} +.vbutton:hover{background:#444;} +table.tagslist{margin-left:1em;margin-top:.5em;} +table.data{background:#DFDFDF;clear:none;margin:1em 0 0;} +table.data tr.data_head th{background:#E6E6E6;border-bottom:1px solid #FFF;color:#444;text-align:left;padding:.3em .5em;} +.data_hl1 td,.data_hl2 td,.data_hl3 td{padding:.3em .5em;} +.data_hl1{background:#F8F8F8 none repeat scroll 0 0;} +.data_hl2{background:#DDD none repeat scroll 0 0;} +#adminmenu{background:#000;font-family:arial;} +#adminmenu li{display:inline-block;padding:.5em;} +#adminmenu li a{color:#fff!important;} +.nav ul li.selected,#fhtablist li.active,#tablist li.active{background:none!important;font-weight:700;text-decoration:none;position:relative;border:none!important;padding:1em 1em 1.5em;} +#tablist li.active a,#fhtablist li.active a{background:#fff;font-size:108%!important;border-radius:.8em .8em 0 0;-moz-border-radius:.8em .8em 0 0;-webkit-border-top-left-radius:.8em;-webkit-border-top-right-radius:.8em;padding:.5em 1em .8em!important;} +div.head span.reader{padding-top:0;display:none;} +div#filter_play_status{display:block;font-size:90%;position:relative;top:.5em;margin:.15em;} +div.aduserbox .tag-widget-stub span.button.collapse{margin-left:-2em;margin-top:0;} +div.aduserbox div.tag-widget-stub,div.aduserbox div.tag-widget{margin:2.15em 0 0 10em;} +div.aduserbox div#firehoselist div.briefarticle{padding:.25em 1em .75em!important;} +div.aduserbox div#firehoselist div.article{padding:.25em 1em 2em!important;} +div.aduserbox #firehose div.article div.tag-widget-stub.body-widget,div.aduserbox #firehose div.article div.tag-widget.body-widget{right:.5em;} +div.aduserbox #firehose h3,.head h3{padding:.4em 0 0!important;} +div.aduserbox .body .more{padding-top:1.85em;} +a:focus{outline:none;} +#firehoselist{margin-top:.5em;} +#yui-main #firehose h3{margin-left:4em;margin-right:6em;} +#yui-main #firehose .hide{margin-left:.5em;} +.view .article.thumbs h3{margin-left:3.3em;} +.view .article h3{padding:.3em 0 0;} +.vote,.votedup,.voteddown{background-repeat:no-repeat;background-position:bottom left!important;top:.6em;left:.8em;z-index:7;background-image:url(//images.slashdot.org/unvote.png);text-indent:-7000em;height:25px;width:44px;} +.vote a,.votedup a,.voteddown a{height:18px;z-index:8;width:18px;border:none;text-indent:-7000em;margin:0;padding:0;} +.votedup{background-image:url(//images.slashdot.org/upvote.png);background-position:-5px -4px;} +.voteddown{background-image:url(//images.slashdot.org/downvote.png);background-position:-24px -4px;} +.up{left:5px;top:4px;} +.down{left:24px;top:4px;} +.nav ul li.selected a,#fhtablist li.active a,#tablist li.active a{border:none!important;color:#044;margin:0;padding:0;} +#fhtablist li.active a,#tablist li.active a{text-decoration:none;font-size:120%;} +#fhtabdel{position:relative;margin:0 0 0 10px;} +#fhtabdel a{background:transparent url(//images.slashdot.org/s3a_controls.png) no-repeat!important;background-position:0 0;position:absolute;text-indent:-7000em;width:16px;right:-5px;top:-3px;} +#fhtabdel a:hover{background-position:0 -16px!important;} +#fh_advprefs{background:#efefef url(//images.slashdot.org/dark_fade_20.png) repeat-x bottom;color:#456!important;clear:both;position:relative;z-index:2;margin:-.5em 0 .5em;} +#fh_advprefs p{float:left;margin:1em;} +#fh_advprefs form{background:none!important;clear:both;padding:1em;} +#fh_advprefs div.yui-gb{background:url(//images.slashdot.org/dark_dwn_fade_20.png) repeat-x top;margin:0 0 .5em;} +#fh_advprefs div.yui-u ul{padding:1em;} +#fh_advprefs ul li{padding-bottom:.5em;} +.menu .date-span-popup{font-size:90%;} +.pop0{background-color:#cde;} +.pop1{background-color:#c00;} +.pop2{background-color:#f93;} +.pop3{background-color:#ff6;} +.pop4{background-color:#0c3;} +.pop5{background-color:#06f;} +.pop6{background-color:#609;} +.pop7{background-color:#306;} +.pop8{background-color:#000;} +.soda{background-image:url(//images.slashdot.org/dark_fade_30.png);background-repeat:repeat-x;background-position:bottom;text-indent:-7000em;top:0;left:0;height:100%;width:.5em;min-height:24px;overflow:hidden;z-index:1;} +.soda span{height:10px;width:.5em;bottom:0;left:0;} +.daybreak{background:#fff url(//images.slashdot.org/dark_fade_g.png) repeat-x center bottom;border-bottom:1px solid #ccc;border-top:1px solid #ddd;font-size:77%;position:relative;z-index:10;margin:0;padding:.3em;} +.daybreak a{line-height:140%;padding:.2em;} +#fh-pag-div{background:#fff url(//images.slashdot.org/dark_fade_20.png) repeat-x scroll left bottom;color:#456;padding:.5em;} +#fh-pag-div a{color:#456;} +.paginate span.active{font-weight:700;background:#fff url(//images.slashdot.org/dark_dwn_fade_30.png) repeat-x 0 -10px;} +.paginate span.inactive,.paginate span.active{border-right:1px solid #e5e5e5;line-height:2.2em;white-space:nowrap;padding:1em;} +.paginate span:first-child{border-left:1px solid #e5e5e5;} +.paginate span span{border:none!important;} +.busy img{vertical-align:middle;} +#firehose_more{font-weight:400;margin-left:.9em;} +.calendar-pane{background:#FFF none repeat scroll 0;border:2px solid #333;position:absolute;z-index:1000;margin:2em 0;} +.calendar-pane td a{color:#066!important;margin:0;padding:.3em .5em .3em .1em;} +.calendar-pane th{color:#fff!important;font-size:90%!important;background:#555!important;border-bottom:1px solid #aaa!important;} +.calendar-pane th,.calendar-pane td{border:none!important;padding:0;} +.calendar-pane table{margin:0!important;padding:0!important;} +.calendar-pane td{color:#555!important;font-size:90%!important;width:1.8em!important;height:1em!important;background:#E6E6E6 url(//images.slashdot.org/sections-bg.png) repeat-x left bottom;border-bottom:1px solid #aaa!important;border-left:1px solid #aaa!important;margin:0!important;padding:0 0 0 .2em!important;} +.calendar-pane td.today{background:#666 url(//images.slashdot.org/block-title-bg.png) repeat-x scroll 0!important;} +.calendar-pane td.today,.calendar-pane td.selected{font-weight:700!important;} +.calendar-pane td.selected,.calendar-pane td.today.selected{background:#066!important;font-weight:700;} +.calheader{color:#fff;background:#044 url(//images.slashdot.org/article-title-bg.png) repeat-x scroll left top;} +.calheader a{background-repeat:no-repeat;padding:1px 4px 0;} +.calheader .calnavright{background-image:url(//images.slashdot.org/arrows.png)!important;} +.calheader .calnavleft{background-image:url(//images.slashdot.org/arrows.png)!important;background-position:0 -200px;} +.calendar-pane td.oom{background:#999;} +span.date-tab{background:transparent url(//images.slashdot.org/sic_icons_new.png) no-repeat scroll 0 -995px;color:#fff;position:absolute;top:-2px;right:6px;cursor:pointer;padding:20px 0 2px 20px;} +.day.date-tab.active{background:transparent url(//images.slashdot.org/s3a_controls.png) no-repeat scroll 0 0;float:none;border:none;top:2px;padding:8px 21px 8px 0!important;} +#fh-paginate .day.date-tab.active{padding:10px 17px 10px 0!important;} +span.date-tab.active div.tab-button{background:#066;} +#fhcalendar-calendar-pane{right:1em;} +#fh_change_range{font-size:80%;} +.firemenu .date-tab-bar{float:right;margin-right:.6em;padding:0 15px .5em 0;} +.date-tab-bar{position:relative;padding-right:25px;} +div.tags{padding:0 0 0 9em;} +div.article div.body div.tags{padding-left:1em;margin-left:1em;} +div#firehoselist div.article p{clear:both;} +div.tags div{padding:.2em .5em;} +.head div.tags div.tagtitleopen a span{background:transparent url(//images.slashdot.org/block-arrow-expanded.gif) no-repeat;} +.head div.tags div.tagtitleclosed a span{background:transparent url(//images.slashdot.org/block-arrow-collapsed.gif) no-repeat;} +div.article div.hide div.body div.tags{margin-left:9em;} +div.tags div.tagtitleopen a span{position:absolute;margin-left:-20px;top:2px;left:0;text-indent:-7000em;text-decoration:none;background:transparent url(//images.slashdot.org/login-arrow-expanded.gif) no-repeat;padding:0 0 0 10px;} +div.tags div.tagtitleclosed a span{margin-left:-20px;text-indent:-7000em;top:2px;left:0;text-decoration:none;background:transparent url(//images.slashdot.org/login-arrow-collapsed.gif) no-repeat;position:relative;color:#fff;padding:0 0 0 10px;} +div.tags i{white-space:nowrap;} +#nod-user-tags,#nix-user-tags{display:none;position:absolute;top:-55px;width:500px;} +#nod-user-tags ol,#nix-user-tags ol{display:inline;list-style:none;margin:0 -.2em;padding:0 .2em;} +#nod-user-tags li,#nix-user-tags li{display:inline;margin:0;padding:0 0 0 .3em;} +#nod-input,#nix-input{display:inline;font-size:11px;width:101px;} +#nod-user-tags{left:-150px;} +#nix-user-tags{left:58px;} +#nodmenu,#nixmenu{display:none;width:200px;z-index:100000;position:absolute!important;font-size:11px;} +#nodmenu .menu,#nixmenu .menu{top:-35px;width:150px;height:15em;z-index:1000000!important;position:absolute!important;font-size:11px;} +#nodmenu .menu{left:-150px!important;background:url(//images.slashdot.org/popup_nod.png) no-repeat;} +#nixmenu .menu{left:15px!important;text-align:right;background:url(//images.slashdot.org/popup_nix.png) no-repeat;} +#nodmenu li,#nixmenu li{list-style:none;color:#ddd;padding:1px 4px;} +#nodmenu ul{background:#222;opacity:.9;border:1px solid #111;margin:0 43px 0 0;} +#nodmenu li:hover,#nixmenu li:hover,#nodmenu li.selected,#nixmenu li.selected{background:#000;color:#fff;} +#nodmenu .menu,#console #nodmenu .menu{left:20px!important;background:url(//images.slashdot.org/popup_nix.png) no-repeat;} +#nixmenu .menu,#console #nixmenu .menu{left:25px!important;} +#nod-user-tags,#console #nod-input{left:63px!important;} +#nix-user-tags,#console #nix-input{left:68px!important;} +ol#nod-hardened,ol#nix-hardened,ol#nod-hardened li,ol#nix-hardened li{position:relative;background:#000!important;} +ol#nod-hardened,ol#nix-hardened{margin-left:0!important;padding-left:0!important;cursor:pointer;} +#fhoptions a,#options a{background-image:url(//images.slashdot.org/sic_controls_new.png);background-repeat:no-repeat;color:#FFF;font-weight:700;position:absolute;text-decoration:none;text-indent:-7000em;top:.8em;padding:0 10px 12px;} +#fhadvprefpane td span{background-image:url(//images.slashdot.org/sic_controls_new.png);background-repeat:no-repeat;padding:3px 10px 3px 30px;} +#play a,#advplay{background-position:0 1px;} +#pause a,#advpause{background-position:0 -200px;} +#desc a,#advdesc{background-position:0 -400px;} +#asc a,#advasc{background-position:0 -600px;} +#full a,#advfull{background-position:0 -800px;} +#abbrev a,#advabbrev{background-position:0 -1000px;} +#time a,#advtime{background-position:0 -1200px;} +#popularity a,#advpopularity{background-position:0 -1400px;} +#marquee a{background-image:url(//images.slashdot.org/sic_controls_new.png);background-position:0 -1600px;background-repeat:no-repeat;position:absolute;right:5em;text-decoration:none;text-indent:-7000em;top:.85em;} +#marquee a.collapsed{background-position:0 -1800px;} +#slashboxen a{background-image:url(//images.slashdot.org/sic_controls_new.png);background-position:0 -2000px;background-repeat:no-repeat;position:absolute;right:3em;text-decoration:none;text-indent:-7000em;top:.85em;} +#slashboxen a.collapsed{background-position:0 -2200px;} +#play a,#pause a{right:13em;} +#desc a,#asc a{right:11em;} +#full a,#abbrev a{right:9em;} +#time a,#popularity a{right:7em;} +#pref a{background-image:url(//images.slashdot.org/sic_controls_new.png);background-position:0 -2400px;background-repeat:no-repeat;height:14px;position:absolute;right:1em;text-decoration:none;text-indent:-7000em;top:1em;} +#options,#fhoptions{position:absolute;top:0;right:0;} +.msg{background:#fff url(//images.slashdot.org/dark_fade_20.png) repeat-x bottom;position:relative;clear:left;display:block;color:#678;text-align:right;font-size:85%;margin:0;padding:5px 32px 5px 0;} +.msg img{position:absolute;top:4px;right:10px;} +#colorsliderbg{position:relative;background:url(http://images.slashdot.org/colorscale.png) 5px 5px no-repeat;height:28px;width:155px;display:inline;padding:4px 160px 3px 0;} +#colorsliderthumb{cursor:default;position:absolute;top:4px;} +#fh_advprefs .date-tab-bar{float:right;padding:0 30px;} +#fh_advprefs form.reset{position:absolute;right:0;top:0;padding:.3em;} +#filter_prefs{background:#EFEFEF url(http://images.slashdot.org/dark_fade_20.png) repeat-x scroll center bottom;clear:both;color:#456!important;position:relative;z-index:2;margin:-.5em 0 .5em;} +#filter_prefs div.box_content{padding:.9em;} +#filter_prefs .generaltitle{background:transparent;border:none;margin:0;padding:0;} +div#filter_prefs{padding:.25em 1em 1em;} +div#filter_prefs label{clear:both!important;} +.head div.tags div.tagtitleclosed a span,div.tagtitleclosed a span{position:relative;color:#066;text-decoration:none;} +div.tagtitleclosed a,div.tagtitleclosed a:hover,div.tagtitleclosed a:active,div.tagtitleclosed a:visited{text-indent:-9999999px;text-decoration:none;} +.article div.tagtitleclosed{width:90%;} +#filterinfo,#filterinfo a,#filterinfo #filter_text{color:#333;} +#filterinfo{text-align:right;padding-top:10px;} +.tag-widget,.tag-entry{user-select:text;-moz-user-select:text;} +.tag-widget-stub span.button.collapse{position:absolute;margin-top:-1.6em;margin-left:7em;} +span.tag,.tmenu,.tag-display,.tag-display-set,.tag-display ul,.tag-display li,.tag-display h1.legend,.edit-toggle,.tag-widget .related{user-select:none;-moz-user-select:none;} +.tag-entry{cursor:text!important;} +.tag-display span.tag,.tag-widget .admin-buttons{font-family:arial, sans serif;color:#666;} +.minus > .tag{text-decoration:line-through;background-color:inherit!important;} +.not-saved > .tag{color:#A9A9A9;background-color:inherit!important;} +.adminmode[tag-server] .s1 > .tag,.adminmode[tag-server] .t2 > .tag{font-weight:700;font-variant:small-caps;} +.adminmode[tag-server] .descriptive > .tag{color:orange;} +.adminmode[tag-server] .ignore > .tag{color:#A9A9A9;} +div.tag-display ul,div.tag-display li{display:inline;list-style:none inherit none!important;} +div.tag-display .tmenu li{text-align:center;margin:0!important;} +.tag-display li:hover span.tag{cursor:arrow;color:#FFF;background-color:#066;} +.tag-display[context=signoff]{padding-left:.5em;} +.tag-display[context=signoff] .w span.tag{background-color:#ff4949!important;} +.tag-display[context=signoff] .w:hover span.tag{background-color:red!important;} +.tag-display li.d:hover span.tag{color:inherit;background-color:inherit;} +div.tag-display,div.tag-display > h1.legend{width:auto!important;} +.tag-display ul,.tag-display span.tag,.tag-display .tmenu,.tag-display .tmenu li,.tag-display h1.legend{border:0 solid transparent;-moz-border-radius:.4em;-webkit-border-radius:.4em;} +div.tag-display .tmenu li span,#contents div.tag-display .tmenu li span{text-align:center;margin:-.1em -.25em!important;padding:0 .55em .45em!important;} +.tag-display .tmenu{display:none;position:absolute;top:-2em;right:.5em;font-size:85%;color:#fff;background-color:#066;white-space:nowrap;opacity:.5;-moz-opacity:.5;text-align:center;margin:0!important;padding:0 .3em 0 .2em!important;} +div.tag-display .tmenu{padding-bottom:.05em!important;} +div.yui-b div.tag-display .tmenu{padding-bottom:.5em!important;} +div.yui-b div.tag-display .tmenu li span,div.yui-b #contents div.tag-display .tmenu li span{margin:-.1em -.25em!important;padding:0 .55em .45em!important;} +.tag-display .tmenu:hover{opacity:.9;} +.tag-display .tmenu > li:hover{color:#FFF;background-color:#000!important;} +div.tag-display > ul > li,div.tag-display .tmenu > li{margin-left:0!important;} +div.tag-display .tmenu > li + li,div.tag-display > ul > li + li{margin-left:.25em!important;} +.tag-display > h1.legend{display:none;position:absolute;top:-2.2em;left:-.2em;color:#444;background-color:#FFF;opacity:.85;font-size:85%!important;text-align:left;text-transform:capitalize;} +.tag-display h1.legend{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;} +.tag-display[context=related] > h1.legend{bottom:-2em!important;top:inherit;-moz-border-radius-bottomleft:.4em;-moz-border-radius-bottomright:.4em;-webkit-border-bottom-left-radius:.4em;-webkit-border-bottom-right-radius:.4em;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;} +div.tag-display-stub,div.tag-display{display:inline!important;position:relative;margin-left:0!important;} +.tag-display:hover > ul{background-color:#dfdfdf;} +.tag-display[context=related]{display:block;text-align:left;} +.tag-display-set.train{display:inline!important;margin-right:1em;} +.tag-widget.expanded .tag-display-set.train{padding-right:1em;} +.tag-widget .tag-entry{display:none;margin-right:.4em;} +.tag-widget .tag-server-busy{display:none;position:absolute;} +.tag-widget.expanded .tag-server-busy{top:.5em;right:.25em;} +div.tag-widget-stub,div.tag-widget{display:block;position:absolute;background-color:transparent;} +div.head div.tag-widget-stub,{display:block;background-color:transparent;margin-left:10em;margin-top:2.8em;} +#firehose div.tag-widget-stub.body-widget,#firehose div.tag-widget.body-widget{right:-.5em;bottom:6px;z-index:10;text-align:right;left:10em;padding:0 .4em 0 .8em;} +#firehose div.tag-widget-stub.body-widget.expanded,#firehose div.tag-widget.body-widget.expanded{right:0;} +.tag-widget .note-wrapper{display:block;font-style:italic;padding-right:.4em;margin:0 1em .5em 0;} +.tag-widget .note-wrapper.no-note{display:inline;font-style:inherit;padding-right:0;} +.tag-widget .admin-buttons{padding-right:.7em;} +.tag-widget .admin-buttons .note-wrapper:before{content:'Note: ';} +.tag-widget div.tags{display:inline;position:relative;right:1em!important;top:.8em;margin-left:1em;} +.tag-widget.nod-nix-reasons{position:relative;bottom:0;color:inherit;background-color:inherit;text-align:inherit;padding-left:.8em;z-index:10;} +div.article div.title div.nod-nix-reasons span.tag{color:#FFF;} +.nod-nix-reasons .tag-display li:hover span.tag{color:#FFF;background-color:#000;} +.nod-nix-reasons .tag-display:hover ul{background-color:inherit;} +div.tag-display.ready.dirty{border-top:1px solid transparnt!important;} +.ac_results{border:1px solid #000;background-color:#FFF;overflow:hidden;z-index:99999;padding:0;} +.ac_results ul{width:100%;list-style-position:outside;list-style:none;margin:0;padding:0;} +.ac_results li{cursor:default;display:block;font:menu;font-size:12px;line-height:16px;overflow:hidden;margin:0;padding:2px 5px;} +.ac_loading{background:#FFF url(indicator.gif) right center no-repeat;} +.ac_odd{background-color:#eee;} +.ac_over{background-color:#0A246A;color:#FFF;} +.nav{background:#066 url(//images.slashdot.org/dark_dwn_fade_50.png) repeat-x top;} +.nav ul li.selected a,.nav ul li.active a{color:#044;} +.nav ul li.active{border:1px solid #033;} +.head a.skin{color:#077;} +#yui-main #firehose .article,#yui-main #firehose h3 a.skin{color:#567;} +#yui-main #firehose h3 a,a{color:#055;} +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,h1,h2,h3,h4,h5,h6,fieldset,#adminmenu ul,.nav ul,.nav ul li,ul,div.aduserbox div#firehoselist .tag-widget-stub span.button.collapse,div.aduserbox div#firehoselist div.tag-widget-stub,div#firehoselist div.tag-widget{margin:0;padding:0;} +q:before,q:after,.tag-widget .admin-buttons .note-wrapper a:before,.tag-widget .admin-buttons .note-wrapper a:after,.tag-widget .admin-buttons .note-wrapper.no-note:before{content:'';} +.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u,.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;} +.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first,.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first,.head .comments,#yui-main #firehose .body .media img,#afterwidget,div.rnd-nbutton-position{float:left;} +.yui-gc div.first,.yui-gd .yui-u,.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;} +.yui-gd div.first,s .yui-gb .yui-gd div.first,.yui-ge div.first .yui-gd div.first{width:32%;} +.yui-ge div.first,.yui-gf .yui-u,.yui-gf .yui-g{width:74.199997%;} +.yui-ge .yui-u,.yui-gf div.first,.yui-ge .yui-g{width:24%;} +.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{margin-left:0;} +.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{margin-left:0;width:48.099998%;} +.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first,.head.noslashboxes .article{margin-right:0;} +.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u,form p,.block ul,.head .block table,.menu{margin:0;} +h1,h2,h3,h4,h5,h6,strong,.bang > span.tag > .punct,.adminmode[tag-server] .pound > .tag,.tag-display[context=related] li.suggestion span.tag{font-weight:700;} +em,.tag-widget .admin-buttons .note-input{font-style:italic;} +blockquote,ul,ol,dl,#fh-paginate .vbutton{margin:1em;} +ol,ul,dl,#fhoptions,#options span{margin-left:2em;} +p,fieldset,table,pre,.head .body .intro{margin-bottom:1em;} +div#modal_box label,.menu #fh_pag_calendar,.menu .date-tab-bar,.menu .tab-button,#fh_advprefs form.yui-skin-sam label,#filter_prefs label,#fhcalendar,.date-tab-bar,#filter_play_status,#filter_prefs label,.date-tab-bar,#fhcalendar,.tag-widget.expanded .tag-display[context=user],.tag-widget.expanded .tag-entry,.tag-widget.expanded .tag-editor{display:inline;} +#slogan,.tag-display li.not-saved .tmenu,.tag-display[context=signoff] .tmenu,.tag-display li.d .tmenu,.tag-display.no-tags,.tag-display[context=related].no-tags,.tag-display[context=user].no-visible-tags,.briefarticle .tag-widget-stub.body-widget,.briefarticle .tag-widget.body-widget{display:none!important;} +#commentControlBox,.commentBox,#modal_box .generaltitle h3{margin-top:0;} +#bd .nav,#bd .nav a,.head .article h3 a,.head .article h3 a.skin,#yui-main #firehose .article .comments:hover,#yui-main #firehose .article .comments:hover a,#yui-main #firehose .briefarticle .comments:hover,#yui-main #firehose .briefarticle .comments:hover a,div.head .tag-display span.tag,div.head .tag-widget .admin-buttons,.nav ul li a,.head,.innerblock,.head h4,.head h3,.head a,.head .body,.head .article h3,.head .details{color:#fff;} +.block ul li,#login_box form,#modal_box form,#filter_prefs form{padding-bottom:1em;} +div.yui-b div.block a,div.yui-b div.content a,div.yui-b div#user_bio.block a,div.tag-display li.u{text-decoration:none!important;} +#floating-slashbox-ad.SqueezedOut,div.head span.commentcnt,div.head a.skin,div.head span.date,div.head span.date,#yui-main #firehose .article h3 img,.hide,#modal_box #modal_box_content legend,#yui-main #firehose .briefarticle .comments span,hr,legend,#login_box #login_box_content legend,div.briefarticle div.introhide,div#firehose div.article div.comments span,div#firehose div.briefarticle div.comments span,div.head div.article div.comments div p b span,#login_box .generaltitle .title a img,#modal_box .generaltitle .title a img,#fh_advprefs .generaltitle .title a img,#filter_prefs .generaltitle .title a img,.popup iframe,span.balloon-marquee span,span.balloon-firehoselist span,div.head span.reader span.commentcnt,.briefarticle div.hide,.briefarticle .details,.briefarticle .intro,div.head span.soda,.date-widget.all span.date-tab,.date-widget.now span.date-tab,#nodmenu .menu.autocomplete,#nixmenu .menu.autocomplete,#nodmenu.editing .menu.basic,#nixmenu.editing .menu.basic,div#firehose span.commentcnt,.tag-display[context=user] li.p,.tag-display[context=top] li.p,.tag-display[context=system] li.p,.tag-display[context=user] li.t,.tag-display[context=user] li.s,.tag-display[context=top] li.s,div.tag-display .tmenu li.minus,div.tag-display .tmenu li.ignore,div.tag-display .tmenu li.pound,div.tag-display .tmenu li.descriptive,.tag-display li.d:hover ul.tmenu,.tag-widget .tag-display[context=user],.tag-editor,div.tags div.tagshide,#d2toggle{display:none;} +.block table td,fieldset,.nav select{border:none;} +a:focus,.nav,.head .body .media img{overflow:hidden;} +.paginate a,.tag-widget .admin-buttons a,a.edit-toggle{text-decoration:none;} +.paginate a span,.tag-display[context=top] li.u,.tag-display[context=system] li.u,.tag-display[context=related] li.u{text-decoration:underline;} +div.briefarticle,#fhtablist li.active span,#tablist li.active span,div.tags div.tagtitleopen a,div.tags div.tagtitleclosed a,.tag-display > ul > li{position:relative;} +span.vballoon-marquee,span.vballoon-marquee a,span.vballoon-marquee a:hover,span.vballoon-firehoselist,span.vballoon-firehoselist a,span.vballoon-firehoselist a:hover{color:#fff;text-decoration:none;} +div.rnd-balloon-contain,div.balloon-firehoselist-contain,div.balloon-marquee-contain,div.rnd-nbutton-contain,div.tag-display li.u > .tmenu li.minus,div.tag-display li.u > .tmenu li.descriptive,div.tag-display li.t > .tmenu li.pound,div.tag-display li.t > .tmenu li.ignore,div.tag-display li.t > .tmenu li.descriptive{display:inline-block;} +.maincol,div#bd div#filter_prefs{padding:0;} +a.vbutton,.calendar-pane td.today a,.calendar-pane td.selected a{color:#fff!important;text-decoration:none;} +.article div.hide,#nodmenu.editing #nod-user-tags,#nixmenu.editing #nix-user-tags,#nodmenu.editing .menu.autocomplete,#nixmenu.editing .menu.autocomplete,#nodmenu.editing.soon .menu.basic,#nixmenu.editing.soon .menu.basic,.tag-display li:hover ul.tmenu,.tag-display:hover > h1.legend,.tag-widget .working + .tag-server-busy{display:block;} +.view .article.thumbs .hide,#yui-main #firehose .article.thumbs h3,#yui-main #firehose .briefarticle.thumbs h3,#yui-main #firehose .article.thumbs .hide,#yui-main #firehose .briefarticle.thumbs .hide{margin-left:4em;} +.vote,.votedup,.voteddown,.vote a,.votedup a,.voteddown a,.soda,span.tag,.tmenu,.tag-display ul,.tag-display li,.edit-toggle{cursor:pointer;} +.vote,.votedup,.voteddown,.vote a,.votedup a,.voteddown a,.soda,.soda span,#filter_prefs h4 a{position:absolute;} +#nixmenu ul,#nodmenu ul,#console #nodmenu ul{background:#222;border:1px solid #111;opacity:.9;margin:0 0 0 43px;} \ No newline at end of file Added: test/images/css/lick.css =================================================================== --- test/images/css/lick.css (rev 0) +++ test/images/css/lick.css 2008-12-01 04:21:53 UTC (rev 853) @@ -0,0 +1,701 @@ +/* new stuff */ +#doc3 +{ + + background: #2E2E2E url("//images.slashdot.jp/dark_dwn_fade_100.png") repeat-x scroll 0 4.9em; + border-top: 2px solid #111; + margin: 0; +} + +#hd +{ + height: 3.9em; + position: relative; + z-index: 2; + background: #066 url("//images.slashdot.jp/topnav-bg.png") repeat-x bottom; + margin: 1em 1em .1em; +} + +#hd form +{ + position: absolute; + right: 1.5em; + top: 2em; + z-index: 2; +} + +#hd .nav ul {margin: 0} + +/* if no login is needed this will centralizes search #hd form{top: 1.1em;} */ +#hd form input.query { border: none; } + +#logo +{ + background: url("/images/logo2.png") no-repeat left top; + height: 50px; + width: 430px; + position: absolute; + z-index: 1; +} + +#logo span +{ + text-indent: -5000px; + text-decoration: none; + background: url("//images.slashdot.jp/dark_largecurve.png") no-repeat left top; + position: absolute; + top: 0; + left: 0; + height: 25px; + width: 25px; + padding: 0; +} + +#bd +{ + margin: 0; + padding: 0 1em; +} + +a { color: #066; } + +a:hover +{ + text-decoration: none !Important; + color: #033 !important; +} + +a:visited { color: #444; } +div.copyright { margin: 0 1em; } +.content table { margin: 0; } +#fad1 { background: none; } +#yui-main { margin: 0; } + +#yui-main #firehose .paginate,.title2 +{ + background: url("//images.slashdot.jp/dark_fade_20.png") repeat-x bottom; + position: relative; + clear: left; + display: block; + padding: 1em; +} + +#bd .nav +{ + border-top: none; + background: #E6E6E6 url("//images.slashdot.jp/sections-bg.png") repeat-x scroll left bottom; + clear: both; + position: relative !important; + padding: .5em .8em; + margin: 0; +} + +#bd .nav li { border-left: 1px solid #aaa; } +.nav ul li.selected, #fhtablist li.active {background: none} +#bd .nav #fhtablist li.active a, #bd .nav #fhtablist li a +{ + text-decoration: none; + color: #444 !important; + padding: .3em 1em .4em 1em; + border: 1px solid #999; + border-radius: .8em .8em 0 0; + -moz-border-radius: .8em .8em 0 0; + -webkit-border-top-right-radius: .8em; + -webkit-border-top-left-radius: .8em; + background: #aaa url("//images.slashdot.jp/dark_fade_30.png") repeat-x bottom; + position: relative; + font-size: 100%; +} + +#bd .nav #fhtablist li.active { + border-radius: .8em .8em 0 0; + -moz-border-radius: .8em .8em 0 0; + -webkit-border-top-right-radius: .8em; + -webkit-border-top-left-radius: .8em; + background: #fff !important; + padding: .3em 1em .4em 1em !important; +} +#bd .nav #fhtablist li.active a, #bd .nav #fhtablist li.active a:hover +{ + background: transparent; + border: 1px solid #aaa; + color: #333 !important; + font-weight: bold; + padding: 0; + margin: 0; +} + +#bd .nav li:first-child { border-left: none; } + +#bd .nav #fhtablist li +{ + border: none; + padding: 0 !important; + margin: 0 !important; +} +#bd .nav li a img {vertical-align: middle; padding: 0 .2em;} + + +#bd .nav ul { margin-bottom: -.3em; } + +#bd .nav #user-section ul, #bd .nav #user-section ul li {margin: 0; padding: 0;} +#user-utils{position: absolute; top: .4em; right: 0;} +#bd .nav #user-section ul, #bd .nav #user-section ul li a {color: #055; text-decoration: none; padding: 0 .5em} +#bd .nav #fhtablist li a:hover +{ + background: #999; + border: 1px solid #888; + color: #333 !important; +} +.msg {background: none; text-align: center;} +.article, .briefarticle, .message +{ + margin: 1em !important; + padding: 0 !important; + /* issue overflow: hidden; */ + clear: none !Important; + position: relative; + border-radius: 0 0 1em 0; + -moz-border-radius: 0 0 1em 0; + -webkit-border-bottom-right-radius: 1em; +} +.article {background: transparent url("//images.slashdot.jp/storylinks-bg.png") repeat-x scroll center bottom !important;} +.briefarticle { margin: 1px 1em !important; background: none !Important;} +.article .date {display: none;} + +.message +{ + border-radius: .8em 0 .8em 0; + -moz-border-radius: .8em 0 .8em 0; + -webkit-border-bottom-right-radius: .8em; + -webkit-border-top-left-radius: .8em; + margin-bottom: 0 !Important; +} +.message p {margin: 0;} + +#remarks_table {padding: 0 1em !important;} + +.article h3 +{ + border-radius: .8em .8em 0 0; + -moz-border-radius: .8em .8em 0 0; + -webkit-border-top-right-radius: .8em; + -webkit-border-top-left-radius: .8em; + background: #044 url("//images.slashdot.jp/article-title-bg.png") repeat-x !important; +} + +.briefarticle h3 +{ + border-radius: .8em; + -moz-border-radius: .8em; + -webkit-border-radius: .8em; + background: #044 url("//images.slashdot.jp/article-title-bg.png") repeat-x !important;} + +.article h3 img, .briefarticle h3 img { margin-top: -3px; } +.article .vballoon-firehoselist {display: none} +.article .commentcnt {border-left: 1px solid #ddd; padding: 0 0 0 .7em; margin: 0 0 0 .5em} +.article h3, .briefarticle h3 +{ + position: relative; + color: #fff !important; + padding: .3em 0 !important; + margin: 0 0 0 .3em !important; + padding-left: 3.5em !important; + padding-right: 2em !important; + font-size: 116% !important; +} +.article.adminmode h3, .briefarticle.adminmode h3 +{ padding-right: 4em !important; } + +.article h3 a, .briefarticle h3 a +{ + color: #fff !important; + text-decoration: none; + line-height: 100% !important; +} + +#yui-main #firehose .article h3 img, #yui-main #firehose .briefarticle h3 img { padding: 0 .5em 0 0; } + +.article div.details +{ + background: #ddd; + padding: .5em 1em; + display: block !important; + font-size: 93%; +} + +div.details strong { font-weight: normal; } + +div.body +{ + /* + border-radius: 0 0 1em 0; + -moz-border-radius: 0 0 1em 0; + -webkit-border-bottom-right-radius: 1em; + */ + background: transparent url("//images.slashdot.jp/storylinks-right.png") no-repeat scroll right bottom; + padding: .5em .8em; + font-size: 100%; +} + +#yui-main #firehose .body { +margin-bottom:0pt; +} + +h3 a.skin, .date, .nickname { opacity: .6; color: #fff !important; } +.date, .nickname {font-size: 77%; white-space: no-wrap;} + +.briefarticle h3.future, .article h3.future {background: #900 url("//images.slashdot.jp/dark_fade_30.png") repeat-x bottom !important} +.briefarticle h3.future, .article h3.future, h3.future a, h3.future .date, h3.future .nickname {color: #fff !important;} +.briefarticle h3.firehose, .article h3.firehose {background: #ccc url("//images.slashdot.jp/dark_fade_30.png") repeat-x bottom !important } +.briefarticle h3.firehose, .article h3.firehose, h3.firehose a, h3.firehose .date, h3.firehose .nickname {color: #555 !important;} +.briefarticle h3.firehose a.skin, .article h3.firehose a.skin {color: #055 !important; opacity: 1;} + +div.briefarticle a span {width: auto; background: transparent;} +div.body i +{ + display: block; + padding-left: 1em; + margin: .5em; + border-left: 3px #ddd solid; + font-style: normal; +} + +span.vballoon-firehoselist { z-index: 1 !important; } + +span.vballoon-firehoselist a +{ + border-radius: .5em; + -moz-border-radius: .5em; + -webkit-border-radius: .5em; + margin: 0; + padding: 0 .3em; + width: 2.2em; + display: block; +} +span.vballoon-firehoselist span {margin: 0; background: none} +span.vballoon-firehoselist +{ + right: .8em; + top: .2em; + padding: 0; + background: none; + font-size: 77%; +} + +.vote, .votedup, .voteddown +{ + position: absolute; + top: 2px; + left: .8em; +} +.tag-widget.nod-nix-reasons {background: transparent;} +.tag-widget.nod-nix-reasons .tag-display span.tag {color: #fff !important;} + +span.vballoon-firehoselist a { + background:#000000 url("//images.slashdot.jp/light_dwn_fade_20.png") repeat-x scroll center top !important; + border:1px solid #122 !important; + opacity: .6; +} + +/* Someday +.vote, +.votedup, +.voteddown, +.up, +.down, +.voted +{ + background: none; + text-align: center; +} + +.vote a, +.votedup a, +.voteddown a +{ + text-indent: 0; + text-decoration: none !important; + font-weight: bold; + color: #fff !important; + width: auto; + height: auto; +} + +.up, +.down, +span.vballoon-firehoselist a { + background:#000000 url("//images.slashdot.jp/light_dwn_fade_20.png") repeat-x scroll center top !important; + border:1px solid #122 !important; + opacity: .6; +} + +.up:hover, +.down:hover { background: #111 !important; opacity: .7;} + +.votedup .up, +.voteddown .down +{ background: #000 !important; opacity: .8;} + +.up +{ + border-radius: .8em 0 0 .8em; + -moz-border-radius: .8em 0 0 .8em; + -webkit-border-top-left-radius: .8em; + -webkit-border-bottom-left-radius: .8em; + padding: .1em .5em .12em .5em !important; + left: .3em; +} + +.down +{ + border-radius: 0 .8em .8em 0; + -moz-border-radius: 0 .8em .8em 0; + -webkit-border-top-right-radius: .8em; + -webkit-border-bottom-right-radius: .8em; + padding: 0.02em .6em .2em .6em !important; + left: 2em; +} +*/ +.soda { + z-index: -1 !important; + left: -.3em; +} +.article .soda +{ + border-radius: .8em 0 0 0; + -moz-border-radius: .8em 0 0 0; + -webkit-border-top-left-radius: .8em; + width: 2em; + background-image: url("//images.slashdot.jp/light_dwn_fade_20.png"); background-position: center top !important; +background-repeat: repeat-x; +} + +.briefarticle .soda +{ + border-radius: .8em 0 0 .8em; + -moz-border-radius: .8em 0 0 .8em; + -webkit-border-top-left-radius: .8em; + -webkit-border-bottom-left-radius: .8em; + width: 2em; + background-image: url("//images.slashdot.jp/light_dwn_fade_20.png"); background-position: center top !important; +background-repeat: repeat-x; +} + +#yui-main #firehose .article.thumbs .hide, +#yui-main #firehose .briefarticle.thumbs .hide { margin-left: 0; } +#yui-main #firehose .media { float: right !important; margin: 1em 0 .3em 1em !important; width: auto !important;} + + +/* columns */ + +.block .title, .message +{ + color: #fff; + background: #666666 url("//images.slashdot.jp/block-title-bg.png") repeat-x scroll 0 0; + padding: .5em 1em !important; +} + +#links +{ + border-radius: 0 0 1em 1em; + -moz-border-radius: 0 0 1em 1em; + -webkit-border-bottom-right-radius: 1em; + -webkit-border-bottom-left-radius: 1em; + background: #eee; + width: 9.5em; + position: absolute; + top: 0; +} +.maincol {width:auto; margin-left: 9.5em;min-height:80em;} + +#links, #slashboxes +{ + margin-top: 1em; +} + + +#slashboxes .block .title +{ + border-radius: 0 1em 0 0; + -moz-border-radius: 0 1em 0 0; + -webkit-border-top-right-radius: 1em; +} + +.block ul +{ + padding: 0; + margin: 0; +} + +.block ul li +{ + padding: .2em 1em; + border-bottom: 1px solid #ddd; + margin: 0; +} +#slashboxes .block ul li, #userboxes .block ul li +{ + padding: .2em 0; +} +#links h2 {font-size: 100%} +.block .title {padding: .3em 0} +.block ul li:last-child { border: none; } + +#slashboxes .block .content, #userboxes .block .content +{ + border-radius: 0 0 0 1em; + -moz-border-radius: 0 0 0 1em; + -webkit-border-bottom-left-radius: 1em; + background: #eee; + margin-bottom: 1em; + padding: .5em 1em; +} + +.block .title a, .message a { color: #fff; } +.block .title, .block .content, .block { border: none !important; } + +.block .content +{ + background: none; + padding: 0; +} + +.block #storyadmin-content.content {padding: 0;} +.block #storyadmin-content.content table td {padding: 0 0 .3em} + +#filter_play_status {text-align: center; padding: .5em 0 0; display: block;} + +.reader {display: block; margin-top: 1em; clear: both;} + +/* Tagging */ + +#firehose div.tag-widget-stub.body-widget, #firehose div.tag-widget.body-widget +{ + padding:0 1em 0 0; + margin: 0; + position: absolute; + right: 0; + float: right; + bottom: .5em; +} +div.tag-display ul, div.tag-display li {display: inline-block;} +.article .message, .briefarticle .message {display: none} /* not sure why this is there */ +.tag-widget.nod-nix-reasons {font-size:85%;} + +/* Comments */ +.comment .oneline div.title h4 { background: none !important; } +.comment div.title { background: #fff !important; } +#commentControlBox, .commentBox { background: none !important; } + +/* pagination */ +.paginate +{ + display: block; + position: relative; +} + +.paginate span.inactive, .paginate span.active { white-space: normal; } + + +/* tabular data */ +table.data { +background:#DFDFDF; +clear:none; +margin: 1em 0 0 0; +} +table.data tr.data_head th { +background:#E6E6E6; +border-bottom:1px solid #FFFFFF; +color:#444444; +padding:0.3em 0.5em; +text-align:left; +} +.data_hl1 td, .data_hl2 td, .data_hl3 td { +padding:0.3em 0.5em; +} +.data_hl1 { +background:#F8F8F8 none repeat scroll 0 0; +} +.data_hl2 { +background:#DDDDDD none repeat scroll 0 0; +} + +/* icons */ +.edit {width: 20px; position:relative;} +h3 .edit { + position:absolute; + right:.5em; + top:0.4em; +} + +span.note-flag { +right:1.5em; +} + +.reject input { + visibility:hidden; +} +h3 .reject { + position:absolute; + right:4.5em; + top:0em; + background:transparent url("//images.slashdot.jp/sic_icons.png") no-repeat scroll 0 -602px; + width: 20px; + cursor: pointer; +} +.edit a{ + display:block; + text-indent:-700em; + text-decoration:none; + background:url("//images.slashdot.jp/sic_edit.png") right no-repeat; + width: 20px; +} +#fhtabdel a {position: absolute !important; top: -1px} +.briefarticle .reject, .briefarticle .edit {display: none;} + +span.admin-buttons .no-note span.admin-note a, span.note-flag {width: 20px;} +/* why is this there */ +div#firehoselist div.article p {clear: none} + +/* admin */ +.menu {margin: 0;} +#adminmenu {background: #000; } +#adminmenu li {display: inline; padding: .5em; display: inline-block;} +#adminmenu li a {color: #fff !important;} +#fh_advprefs, #filter_prefs {margin: 0;} +#fhoptions a, #options a {top: .4em;} +#marquee a, #slashboxen a, #pref a {top: .5em;} + +#pref a { +background-position:0 -2398px; +} + +/* slightly fixing positioning of fhoptions by overwriting defaults */ +#pref a { +background-position:0 -2398px; +} +#time a, #advtime { +background-position:0 -1201px; +} +#popularity a, #advpopularity { +background-position:0 -1402px; +} + +.article.thumbs h3, .briefarticle.thumbs h3 {padding-left: 3.5em !important;} +.tag-widget .admin-buttons {padding: 0;} +.tag-widget .note-wrapper { +margin:0 .5em .5em; +padding:0; +vertical-align:middle; +} +.tagbody, .tagshide {margin-bottom: 2em;} +#play a, #pause a {right:11em;} +#time a, #popularity a {right:5em;} +#desc a, #asc a {right:9em;} +#full a, #abbrev a {right:7em;} +#marquee {display: none} +#fh_advprefs h4, #filter_prefs h4 {border-top: none;} + + +/* modal */ +#modal_box .generaltitle {background: none; margin: 0; padding: 0; } +#modal_box #modal_box_content {padding: 1em} + +/* +.article h3, .briefarticle h3 {padding-left: 1em !important;} +.article h3, .briefarticle h3 {margin: 0 !important} +.color_enabled .article h3, .color_enabled .briefarticle h3 {margin: 0 0 0 .5em !important} +*/ + +/* For vanilla article only */ +.head +{ + position: relative; + overflow: hidden; + background: #fff url("//images.slashdot.jp/dark_dwn_fade_30.png") repeat-x top; +} +.head .details a, .head .body a, .head a.more, .head h4 a { color: #066 !important; } +.head h3 .date, .head h3 .nickname {display: none;} +.head .body, .head .article h3 +{ + color: #000 !important; +} +.head .body, .head .article, .head .details +{ + background: none !important; +} +.head .collapse { +background:transparent url("//images.slashdot.jp/login-arrow-collapsed.gif") no-repeat scroll 0 50%; +padding:8px; +} +.head .details, .head h4 { color: #444 !important; } +div.head .tag-display span.tag {color: #444} +div.head .tag-display span:hover {color: #fff} + +div.nav #fhoptions a, div.nav #options a { +background-image: url('//images.slashdot.jp/sic_controls_new_666666.png'); +top:0.25em !important; +} + +div.nav #fhoptions a, div.nav #options a { + background-image: url('/images/sic_controls_new_666666.png'); + top:0.25em !important; +} + + +div#hd div.nav ul li a:hover { +color:#fff !important; +text-decoration:underline !important; +} + +/* enabling view of comment count -- because in firehose-idle it was disabled */ +div#firehose span.commentcnt { +display:inline; +} + +/* overwriting firehose-idle.css */ +div#firehoselist .more { +display:inline; +position:relative; +} + + +/* commented out below, it breaks inline- display of tags on ff2 and safari*/ +/* +#firehose div.tag-widget-stub.body-widget, #firehose div.tag-widget.body-widget { +border:1px solid #000000; +bottom:0.5em; +float:right; +margin:0; +padding:0; +position:absolute; +right:0; +} +#firehose div.tag-widget-stub.body-widget, #firehose div.tag-widget.body-widget { +left:13em; +} +*/ + + +/* enabling view of comment count -- because in firehose-idle it was disabled */ +div#firehose span.commentcnt { +display:inline; +} + + +/* overwriting firehose-idle.css */ +div#firehoselist .more { +display:inline; +position:relative; +} + +#firehose div.tag-widget-stub.body-widget, #firehose div.tag-widget.body-widget { +left:13em; +} + + +span.vballoon-firehoselist a:hover { +color:#ccc !important ; +} + Added: test/images/css/lick.css.orig =================================================================== --- test/images/css/lick.css.orig (rev 0) +++ test/images/css/lick.css.orig 2008-12-01 04:21:53 UTC (rev 853) @@ -0,0 +1,700 @@ +/* new stuff */ +#doc3 +{ + font-family: arial, sans-serif; + background: #2E2E2E url("//images.slashdot.org/dark_dwn_fade_100.png") repeat-x scroll 0 4.9em; + border-top: 2px solid #111; + margin: 0; +} + +#hd +{ + height: 3.9em; + position: relative; + z-index: 2; + background: #066 url("//images.slashdot.org/topnav-bg.png") repeat-x bottom; + margin: 1em 1em .1em; +} + +#hd form +{ + position: absolute; + right: 1.5em; + top: 2em; + z-index: 2; +} + +#hd .nav ul {margin: 0} + +/* if no login is needed this will centralizes search #hd form{top: 1.1em;} */ +#hd form input.query { border: none; } + +#logo +{ + background: url("/images/logo2.png") no-repeat left top; + height: 50px; + width: 430px; + position: absolute; + z-index: 1; +} + +#logo span +{ + text-indent: -5000px; + text-decoration: none; + background: url("//images.slashdot.org/dark_largecurve.png") no-repeat left top; + position: absolute; + top: 0; + left: 0; + height: 25px; + width: 25px; + padding: 0; +} + +#bd +{ + margin: 0; + padding: 0 1em; +} + +a { color: #066; } + +a:hover +{ + text-decoration: none !Important; + color: #033 !important; +} + +a:visited { color: #444; } +div.copyright { margin: 0 1em; } +.content table { margin: 0; } +#fad1 { background: none; } +#yui-main { margin: 0; } + +#yui-main #firehose .paginate,.title2 +{ + background: url("//images.slashdot.org/dark_fade_20.png") repeat-x bottom; + position: relative; + clear: left; + display: block; + padding: 1em; +} + +#bd .nav +{ + border-top: none; + background: #E6E6E6 url("//images.slashdot.org/sections-bg.png") repeat-x scroll left bottom; + clear: both; + position: relative !important; + padding: .5em .8em; + margin: 0; +} + +#bd .nav li { border-left: 1px solid #aaa; } +.nav ul li.selected, #fhtablist li.active {background: none} +#bd .nav #fhtablist li.active a, #bd .nav #fhtablist li a +{ + text-decoration: none; + color: #444 !important; + padding: .3em 1em .4em 1em; + border: 1px solid #999; + border-radius: .8em .8em 0 0; + -moz-border-radius: .8em .8em 0 0; + -webkit-border-top-right-radius: .8em; + -webkit-border-top-left-radius: .8em; + background: #aaa url("//images.slashdot.org/dark_fade_30.png") repeat-x bottom; + position: relative; + font-size: 100%; +} + +#bd .nav #fhtablist li.active { + border-radius: .8em .8em 0 0; + -moz-border-radius: .8em .8em 0 0; + -webkit-border-top-right-radius: .8em; + -webkit-border-top-left-radius: .8em; + background: #fff !important; + padding: .3em 1em .4em 1em !important; +} +#bd .nav #fhtablist li.active a, #bd .nav #fhtablist li.active a:hover +{ + background: transparent; + border: 1px solid #aaa; + color: #333 !important; + font-weight: bold; + padding: 0; + margin: 0; +} + +#bd .nav li:first-child { border-left: none; } + +#bd .nav #fhtablist li +{ + border: none; + padding: 0 !important; + margin: 0 !important; +} +#bd .nav li a img {vertical-align: middle; padding: 0 .2em;} + + +#bd .nav ul { margin-bottom: -.3em; } + +#bd .nav #user-section ul, #bd .nav #user-section ul li {margin: 0; padding: 0;} +#user-utils{position: absolute; top: .4em; right: 0;} +#bd .nav #user-section ul, #bd .nav #user-section ul li a {color: #055; text-decoration: none; padding: 0 .5em} +#bd .nav #fhtablist li a:hover +{ + background: #999; + border: 1px solid #888; + color: #333 !important; +} +.msg {background: none; text-align: center;} +.article, .briefarticle, .message +{ + margin: 1em !important; + padding: 0 !important; + /* issue overflow: hidden; */ + clear: none !Important; + position: relative; + border-radius: 0 0 1em 0; + -moz-border-radius: 0 0 1em 0; + -webkit-border-bottom-right-radius: 1em; +} +.article {background: transparent url("//images.slashdot.org/storylinks-bg.png") repeat-x scroll center bottom !important;} +.briefarticle { margin: 1px 1em !important; background: none !Important;} +.article .date {display: none;} + +.message +{ + border-radius: .8em 0 .8em 0; + -moz-border-radius: .8em 0 .8em 0; + -webkit-border-bottom-right-radius: .8em; + -webkit-border-top-left-radius: .8em; + margin-bottom: 0 !Important; +} +.message p {margin: 0;} + +#remarks_table {padding: 0 1em !important;} + +.article h3 +{ + border-radius: .8em .8em 0 0; + -moz-border-radius: .8em .8em 0 0; + -webkit-border-top-right-radius: .8em; + -webkit-border-top-left-radius: .8em; + background: #044 url("//images.slashdot.org/article-title-bg.png") repeat-x !important; +} + +.briefarticle h3 +{ + border-radius: .8em; + -moz-border-radius: .8em; + -webkit-border-radius: .8em; + background: #044 url("//images.slashdot.org/article-title-bg.png") repeat-x !important;} + +.article h3 img, .briefarticle h3 img { margin-top: -3px; } +.article .vballoon-firehoselist {display: none} +.article .commentcnt {border-left: 1px solid #ddd; padding: 0 0 0 .7em; margin: 0 0 0 .5em} +.article h3, .briefarticle h3 +{ + position: relative; + color: #fff !important; + padding: .3em 0 !important; + margin: 0 0 0 .3em !important; + padding-left: 3.5em !important; + padding-right: 2em !important; + font-size: 116% !important; +} +.article.adminmode h3, .briefarticle.adminmode h3 +{ padding-right: 4em !important; } + +.article h3 a, .briefarticle h3 a +{ + color: #fff !important; + text-decoration: none; + line-height: 100% !important; +} + +#yui-main #firehose .article h3 img, #yui-main #firehose .briefarticle h3 img { padding: 0 .5em 0 0; } + +.article div.details +{ + background: #ddd; + padding: .5em 1em; + display: block !important; + font-size: 93%; +} + +div.details strong { font-weight: normal; } + +div.body +{ + /* + border-radius: 0 0 1em 0; + -moz-border-radius: 0 0 1em 0; + -webkit-border-bottom-right-radius: 1em; + */ + background: transparent url("//images.slashdot.org/storylinks-right.png") no-repeat scroll right bottom; + padding: .5em .8em; + font-size: 100%; +} + +#yui-main #firehose .body { +margin-bottom:0pt; +} + +h3 a.skin, .date, .nickname { opacity: .6; color: #fff !important; } +.date, .nickname {font-size: 77%; white-space: no-wrap;} + +.briefarticle h3.future, .article h3.future {background: #900 url("//images.slashdot.org/dark_fade_30.png") repeat-x bottom !important} +.briefarticle h3.future, .article h3.future, h3.future a, h3.future .date, h3.future .nickname {color: #fff !important;} +.briefarticle h3.firehose, .article h3.firehose {background: #ccc url("//images.slashdot.org/dark_fade_30.png") repeat-x bottom !important } +.briefarticle h3.firehose, .article h3.firehose, h3.firehose a, h3.firehose .date, h3.firehose .nickname {color: #555 !important;} +.briefarticle h3.firehose a.skin, .article h3.firehose a.skin {color: #055 !important; opacity: 1;} + +div.briefarticle a span {width: auto; background: transparent;} +div.body i +{ + display: block; + padding-left: 1em; + margin: .5em; + border-left: 3px #ddd solid; + font-style: normal; +} + +span.vballoon-firehoselist { z-index: 1 !important; } + +span.vballoon-firehoselist a +{ + border-radius: .5em; + -moz-border-radius: .5em; + -webkit-border-radius: .5em; + margin: 0; + padding: 0 .3em; + width: 2.2em; + display: block; +} +span.vballoon-firehoselist span {margin: 0; background: none} +span.vballoon-firehoselist +{ + right: .8em; + top: .2em; + padding: 0; + background: none; + font-size: 77%; +} + +.vote, .votedup, .voteddown +{ + position: absolute; + top: 2px; + left: .8em; +} +.tag-widget.nod-nix-reasons {background: transparent;} +.tag-widget.nod-nix-reasons .tag-display span.tag {color: #fff !important;} + +span.vballoon-firehoselist a { + background:#000000 url("//images.slashdot.org/light_dwn_fade_20.png") repeat-x scroll center top !important; + border:1px solid #122 !important; + opacity: .6; +} + +/* Someday +.vote, +.votedup, +.voteddown, +.up, +.down, +.voted +{ + background: none; + text-align: center; +} + +.vote a, +.votedup a, +.voteddown a +{ + text-indent: 0; + text-decoration: none !important; + font-weight: bold; + color: #fff !important; + width: auto; + height: auto; +} + +.up, +.down, +span.vballoon-firehoselist a { + background:#000000 url("//images.slashdot.org/light_dwn_fade_20.png") repeat-x scroll center top !important; + border:1px solid #122 !important; + opacity: .6; +} + +.up:hover, +.down:hover { background: #111 !important; opacity: .7;} + +.votedup .up, +.voteddown .down +{ background: #000 !important; opacity: .8;} + +.up +{ + border-radius: .8em 0 0 .8em; + -moz-border-radius: .8em 0 0 .8em; + -webkit-border-top-left-radius: .8em; + -webkit-border-bottom-left-radius: .8em; + padding: .1em .5em .12em .5em !important; + left: .3em; +} + +.down +{ + border-radius: 0 .8em .8em 0; + -moz-border-radius: 0 .8em .8em 0; + -webkit-border-top-right-radius: .8em; + -webkit-border-bottom-right-radius: .8em; + padding: 0.02em .6em .2em .6em !important; + left: 2em; +} +*/ +.soda { + z-index: -1 !important; + left: -.3em; +} +.article .soda +{ + border-radius: .8em 0 0 0; + -moz-border-radius: .8em 0 0 0; + -webkit-border-top-left-radius: .8em; + width: 2em; + background-image: url("//images.slashdot.org/light_dwn_fade_20.png"); background-position: center top !important; +background-repeat: repeat-x; +} + +.briefarticle .soda +{ + border-radius: .8em 0 0 .8em; + -moz-border-radius: .8em 0 0 .8em; + -webkit-border-top-left-radius: .8em; + -webkit-border-bottom-left-radius: .8em; + width: 2em; + background-image: url("//images.slashdot.org/light_dwn_fade_20.png"); background-position: center top !important; +background-repeat: repeat-x; +} + +#yui-main #firehose .article.thumbs .hide, +#yui-main #firehose .briefarticle.thumbs .hide { margin-left: 0; } +#yui-main #firehose .media { float: right !important; margin: 1em 0 .3em 1em !important; width: auto !important;} + + +/* columns */ + +.block .title, .message +{ + color: #fff; + background: #666666 url("//images.slashdot.org/block-title-bg.png") repeat-x scroll 0 0; + padding: .5em 1em !important; +} + +#links +{ + border-radius: 0 0 1em 1em; + -moz-border-radius: 0 0 1em 1em; + -webkit-border-bottom-right-radius: 1em; + -webkit-border-bottom-left-radius: 1em; + background: #eee; + width: 9.5em; + position: absolute; + top: 0; +} +.maincol {width:auto; margin-left: 9.5em;min-height:80em;} + +#links, #slashboxes +{ + margin-top: 1em; +} + + +#slashboxes .block .title +{ + border-radius: 0 1em 0 0; + -moz-border-radius: 0 1em 0 0; + -webkit-border-top-right-radius: 1em; +} + +.block ul +{ + padding: 0; + margin: 0; +} + +.block ul li +{ + padding: .2em 1em; + border-bottom: 1px solid #ddd; + margin: 0; +} +#slashboxes .block ul li, #userboxes .block ul li +{ + padding: .2em 0; +} +#links h2 {font-size: 100%} +.block .title {padding: .3em 0} +.block ul li:last-child { border: none; } + +#slashboxes .block .content, #userboxes .block .content +{ + border-radius: 0 0 0 1em; + -moz-border-radius: 0 0 0 1em; + -webkit-border-bottom-left-radius: 1em; + background: #eee; + margin-bottom: 1em; + padding: .5em 1em; +} + +.block .title a, .message a { color: #fff; } +.block .title, .block .content, .block { border: none !important; } + +.block .content +{ + background: none; + padding: 0; +} + +.block #storyadmin-content.content {padding: 0;} +.block #storyadmin-content.content table td {padding: 0 0 .3em} + +#filter_play_status {text-align: center; padding: .5em 0 0; display: block;} + +.reader {display: block; margin-top: 1em; clear: both;} + +/* Tagging */ + +#firehose div.tag-widget-stub.body-widget, #firehose div.tag-widget.body-widget +{ + padding:0 1em 0 0; + margin: 0; + position: absolute; + right: 0; + float: right; + bottom: .5em; +} +div.tag-display ul, div.tag-display li {display: inline-block;} +.article .message, .briefarticle .message {display: none} /* not sure why this is there */ +.tag-widget.nod-nix-reasons {font-size:85%;} + +/* Comments */ +.comment .oneline div.title h4 { background: none !important; } +.comment div.title { background: #fff !important; } +#commentControlBox, .commentBox { background: none !important; } + +/* pagination */ +.paginate +{ + display: block; + position: relative; +} + +.paginate span.inactive, .paginate span.active { white-space: normal; } + + +/* tabular data */ +table.data { +background:#DFDFDF; +clear:none; +margin: 1em 0 0 0; +} +table.data tr.data_head th { +background:#E6E6E6; +border-bottom:1px solid #FFFFFF; +color:#444444; +padding:0.3em 0.5em; +text-align:left; +} +.data_hl1 td, .data_hl2 td, .data_hl3 td { +padding:0.3em 0.5em; +} +.data_hl1 { +background:#F8F8F8 none repeat scroll 0 0; +} +.data_hl2 { +background:#DDDDDD none repeat scroll 0 0; +} + +/* icons */ +.edit {width: 20px; position:relative;} +h3 .edit { + position:absolute; + right:.5em; + top:0.4em; +} + +span.note-flag { +right:1.5em; +} + +.reject input { + visibility:hidden; +} +h3 .reject { + position:absolute; + right:4.5em; + top:0em; + background:transparent url("//images.slashdot.org/sic_icons.png") no-repeat scroll 0 -602px; + width: 20px; + cursor: pointer; +} +.edit a{ + display:block; + text-indent:-700em; + text-decoration:none; + background:url("//images.slashdot.org/sic_edit.png") right no-repeat; + width: 20px; +} +#fhtabdel a {position: absolute !important; top: -1px} +.briefarticle .reject, .briefarticle .edit {display: none;} + +span.admin-buttons .no-note span.admin-note a, span.note-flag {width: 20px;} +/* why is this there */ +div#firehoselist div.article p {clear: none} + +/* admin */ +.menu {margin: 0;} +#adminmenu {background: #000; font-family: arial;} +#adminmenu li {display: inline; padding: .5em; display: inline-block;} +#adminmenu li a {color: #fff !important;} +#fh_advprefs, #filter_prefs {margin: 0;} +#fhoptions a, #options a {top: .4em;} +#marquee a, #slashboxen a, #pref a {top: .5em;} + +#pref a { +background-position:0 -2398px; +} + +/* slightly fixing positioning of fhoptions by overwriting defaults */ +#pref a { +background-position:0 -2398px; +} +#time a, #advtime { +background-position:0 -1201px; +} +#popularity a, #advpopularity { +background-position:0 -1402px; +} + +.article.thumbs h3, .briefarticle.thumbs h3 {padding-left: 3.5em !important;} +.tag-widget .admin-buttons {padding: 0;} +.tag-widget .note-wrapper { +margin:0 .5em .5em; +padding:0; +vertical-align:middle; +} +.tagbody, .tagshide {margin-bottom: 2em;} +#play a, #pause a {right:11em;} +#time a, #popularity a {right:5em;} +#desc a, #asc a {right:9em;} +#full a, #abbrev a {right:7em;} +#marquee {display: none} +#fh_advprefs h4, #filter_prefs h4 {border-top: none;} + + +/* modal */ +#modal_box .generaltitle {background: none; margin: 0; padding: 0; font-family: arial, sans-serif;} +#modal_box #modal_box_content {padding: 1em} + +/* +.article h3, .briefarticle h3 {padding-left: 1em !important;} +.article h3, .briefarticle h3 {margin: 0 !important} +.color_enabled .article h3, .color_enabled .briefarticle h3 {margin: 0 0 0 .5em !important} +*/ + +/* For vanilla article only */ +.head +{ + position: relative; + overflow: hidden; + background: #fff url("//images.slashdot.org/dark_dwn_fade_30.png") repeat-x top; +} +.head .details a, .head .body a, .head a.more, .head h4 a { color: #066 !important; } +.head h3 .date, .head h3 .nickname {display: none;} +.head .body, .head .article h3 +{ + color: #000 !important; +} +.head .body, .head .article, .head .details +{ + background: none !important; +} +.head .collapse { +background:transparent url("//images.slashdot.org/login-arrow-collapsed.gif") no-repeat scroll 0 50%; +padding:8px; +} +.head .details, .head h4 { color: #444 !important; } +div.head .tag-display span.tag {color: #444} +div.head .tag-display span:hover {color: #fff} + +div.nav #fhoptions a, div.nav #options a { +background-image: url('//images.slashdot.org/sic_controls_new_666666.png'); +top:0.25em !important; +} + +div.nav #fhoptions a, div.nav #options a { + background-image: url('/images/sic_controls_new_666666.png'); + top:0.25em !important; +} + + +div#hd div.nav ul li a:hover { +color:#fff !important; +text-decoration:underline !important; +} + +/* enabling view of comment count -- because in firehose-idle it was disabled */ +div#firehose span.commentcnt { +display:inline; +} + +/* overwriting firehose-idle.css */ +div#firehoselist .more { +display:inline; +position:relative; +} + + +/* commented out below, it breaks inline- display of tags on ff2 and safari*/ +/* +#firehose div.tag-widget-stub.body-widget, #firehose div.tag-widget.body-widget { +border:1px solid #000000; +bottom:0.5em; +float:right; +margin:0; +padding:0; +position:absolute; +right:0; +} +#firehose div.tag-widget-stub.body-widget, #firehose div.tag-widget.body-widget { +left:13em; +} +*/ + + +/* enabling view of comment count -- because in firehose-idle it was disabled */ +div#firehose span.commentcnt { +display:inline; +} + + +/* overwriting firehose-idle.css */ +div#firehoselist .more { +display:inline; +position:relative; +} + +#firehose div.tag-widget-stub.body-widget, #firehose div.tag-widget.body-widget { +left:13em; +} + + +span.vballoon-firehoselist a:hover { +color:#ccc !important ; +} Added: test/images/jquery-opt-1.js =================================================================== --- test/images/jquery-opt-1.js (rev 0) +++ test/images/jquery-opt-1.js 2008-12-01 04:21:53 UTC (rev 853) @@ -0,0 +1,286 @@ +function firehose_toggle_prefs() { + if ($("#fh_advprefs").is(":hidden")) { + $("#fh_advprefs").fadeIn('fast'); + } else { + $("#fh_advprefs").fadeOut('fast'); + } + return false; +} + + +function firehose_init_idle( $new_entries ){ + + if($.browser.safari) { /* strage safari bug -- wants to display tags inline only -- cannot replicate in Webkit */ + $('div.tag-display').css('display','list-item !important'); + $('div.tag-display').css('display','inline-block !important'); + } + + /* h1.legend on opera -- not perfect but at least visible */ + if($.browser.opera) { + $('.tag-display > h1.legend').css({ + 'top':'-30px !important', + 'left':'70% !important', + 'position':'relative !important', + 'float':'left !important' + }); + } + + if($.browser.safari) { + $('.vballoon-marquee.rd_5').css('-webkit-border-radius','.5em'); + $('.vballoon-marquee.rd_5 span').css({'margin-top':'1.3em','height':'0.85em'}); + + $('.vballoon-firehoselist.rd_5').css('-webkit-border-radius','.5em'); + $('.vballoon-firehoselist.rd_5 span').css({'margin-left':'-.7em','height':'.85em'}); + + $('.vbutton.rd_5').css('-webkit-border-radius','.5em'); + } + if($.browser.mozilla) { + $('.vballoon-marquee.rd_5').css({ + 'border-radius':'.5em', + '-moz-border-radius':'.5em', + 'margin-top':'-1em' + }); + $('.vballoon-firehoselist.rd_5').css({ + 'border-radius':'.5em', + '-moz-border-radius':'.5em' + }); + $('.vbutton.rd_5').css({'border-radius':'.5em','-moz-border-radius':'.5em'}); + } + + /*ff2: attempt to fake anti-aliasing*/ + if ( /^1\.8\.1/.test($.browser.version) ) { + $('.vballoon-marquee.rd_5').css({ + 'border-bottom':'1px solid #004a4a', + 'border-top':'1px solid #004040', + 'border-left':'1px solid #004040', + 'border-right':'1px solid #004040', + '-moz-border-radius-bottomleft':'.75em', + '-moz-border-radius-bottomright':'.75em', + '-moz-border-radius-topleft':'.75em', + '-moz-border-radius-topright':'.75em', + 'margin-top':'-1em' + }); + $('.vballoon-marquee.rd_5 span').css('height','1.05em'); + + $('.vballoon-firehoselist.rd_5').css({ + border:'1px solid #dedede', + '-moz-border-radius-bottomleft':'.6em', + '-moz-border-radius-bottomright':'.65em', + '-moz-border-radius-topleft':'.5em', + '-moz-border-radius-topright':'.5em', + 'padding-right':'0.7em' + }); + $('.vballoon-firehoselist.rd_5 span').css({'height':'0.7em','margin-left':'-0.55em'}); + + $('.vbutton.rd_5').css({ + border:'1px solid #dedede', + '-moz-border-radius':'1em' + }); + } + + + return $new_entries; +} + + +$(document).ready(function(){ + if($.browser.safari) { + $(".edit a").css('margin-top','0pt'); + } + + /* h1.legend on opera -- not perfect but at least visible */ + if($.browser.opera) { + $('.tag-display > h1.legend').css({ + 'top':'-30px !important', + 'left':'70% !important', + 'position':'relative !important', + 'float':'left !important' + }); + } + + + /* This is the hide show on the list */ + /* + $("#firehose h3 a[class!='skin']").click(function(){ + var $h3 = $(this).parent('h3'); + $h3.next('div.hide'). + add($h3.find('a img')). + toggle("fast"); + return false; + }); */ + + $("#filter_text").click(function(){ + setTimeout("firehose_slider_init()",500); + return false; + }); + + $("#slashboxes .block:last-child").prependTo(".head .yui-b").addClass("stats"); + $("#slashboxes .block:first-child").prependTo(".head .yui-b"); + $("#afterwidget span:first-child").css("border","none"); + + $(".head .block .content").after("
 
"); + + + $('input[name="nothumbs"]').each( function() { + if ($(this).attr('checked','checked')) { + $('#firehose').addClass('vote_enabled'); + } else { + $('#firehose').removeClass('vote_enabled'); + } + }); + + $('input[name="nocolors"]').each( function() { + if ($(this).attr('checked','checked')) { + $('#firehose').addClass('color_enabled'); + } else { + $('#firehose').removeClass('color_enabled'); + } + }); + + $('.head .tags').appendTo('.head .article .body'); + + /* Commenting */ + $('li.comment').parent('ul').parent('li').css('background','none'); + + /* This is the nav visual treatment */ + $('#hd div.nav ul li:gt(0)').css('border-left','solid 1px #044'); + $('#ft div.nav ul li:gt(0)').css('border-left','solid 1px #ccc'); + $('#hd div.nav ul li.selected').next('li').css('border-left','none'); + $('#hd div.nav ul li.selected').css('border-left','none'); + + /* Fixing slider for div#filter_pref on homepage */ + if($.browser.mozilla || $.browser.opera || $.browser.safari ) + $('#colorsliderthumb').css({ + width:'10px', + margin:'0', + left:'-104px', + top:'5px' + }); + + + + +/* + if($.browser.safari) { + $('.vbutton.rd_5').css('-webkit-border-radius','.5em'); + } + if($.browser.mozilla) { + $('.vbutton.rd_5').css('border-radius','.5em').css('-moz-border-radius','.5em'); + } + if ( /^1\.8\.1/.test($.browser.version) ) { + $('.vbutton.rd_5').css({ + border:'1px solid #999', + '-moz-border-radius-bottomleft':'.65em', + '-moz-border-radius-bottomright':'.65em', + '-moz-border-radius-topleft':'.7em', + '-moz-border-radius-topright':'.7em' + }); + } +*/ + + + + + + + + + if($.browser.safari) { + $('.vballoon-marquee.rd_5').css('-webkit-border-radius','.5em'); + $('.vballoon-marquee.rd_5 span').css({'margin-top':'1.3em','height':'0.85em'}); + + $('.vballoon-firehoselist.rd_5').css('-webkit-border-radius','.5em'); + $('.vballoon-firehoselist.rd_5 span').css({'margin-left':'-.7em','height':'.85em'}); + + $('.vbutton.rd_5').css('-webkit-border-radius','.5em'); + } + if($.browser.mozilla) { + $('.vballoon-marquee.rd_5').css({ + 'border-radius':'.5em', + '-moz-border-radius':'.5em', + 'margin-top':'-1em' + }); + $('.vballoon-firehoselist.rd_5').css({ + 'border-radius':'.5em', + '-moz-border-radius':'.5em' + }); + $('.vbutton.rd_5').css({'border-radius':'.5em','-moz-border-radius':'.5em'}); + } + + /*ff2: attempt to fake anti-aliasing*/ + if ( /^1\.8\.1/.test($.browser.version) ) { + $('.vballoon-marquee.rd_5').css({ + 'border-bottom':'1px solid #004a4a', + 'border-top':'1px solid #004040', + 'border-left':'1px solid #004040', + 'border-right':'1px solid #004040', + '-moz-border-radius-bottomleft':'.75em', + '-moz-border-radius-bottomright':'.75em', + '-moz-border-radius-topleft':'.75em', + '-moz-border-radius-topright':'.75em', + 'margin-top':'-1em' + }); + $('.vballoon-marquee.rd_5 span').css('height','1.05em'); + + $('.vballoon-firehoselist.rd_5').css({ + border:'1px solid #dedede', + '-moz-border-radius-bottomleft':'.6em', + '-moz-border-radius-bottomright':'.65em', + '-moz-border-radius-topleft':'.5em', + '-moz-border-radius-topright':'.5em', + 'padding-right':'0.7em' + }); + $('.vballoon-firehoselist.rd_5 span').css({'height':'0.7em','margin-left':'-0.55em'}); + + $('.vbutton.rd_5').css({ + border:'1px solid #dedede', + '-moz-border-radius':'1em' + }); + } + + + + + + + + + +}); + +function firehose_marquee(op) { + if (op == "hide") { + firehose_set_options('nomarquee', 1); + $("#marquee a").addClass('collapsed'); + $(".head").hide(); + } else if (op == "show") { + firehose_set_options('nomarquee', 0); + $("#marquee a").removeClass('collapsed'); + if($(".head").size()) { + $(".head").show(); + } else { + setTimeout("window.location.reload()", "2000"); + } + } +} + +function firehose_slashboxes(op) { + if (op == "hide") { + $('.head .block, #slashboxes').fadeOut('fast'); + $('#fad6, #fad2').css('display','none'); + $(this).addClass('collapsed'); + $('.yui-t6 #yui-main .yui-b').css('margin-right','0 !important'); + firehose_set_options('noslashboxes', 1); + } else if (op == "show") { + $(this).removeClass('collapsed'); + firehose_set_options('noslashboxes', 0); + if($('#slashboxes:hidden').size()) { + $('.head .block, #slashboxes').fadeIn('fast'); + $('#fad6, #fad2').css('display','block'); + $('.yui-t6 #yui-main .yui-b').css('margin-right','336px !important'); + } else { + setTimeout("window.location.reload()", "2000"); + } + } +} + Added: test/images/jquery-opt-1.js.orig =================================================================== --- test/images/jquery-opt-1.js.orig (rev 0) +++ test/images/jquery-opt-1.js.orig 2008-12-01 04:21:53 UTC (rev 853) @@ -0,0 +1,285 @@ +function firehose_toggle_prefs() { + if ($("#fh_advprefs").is(":hidden")) { + $("#fh_advprefs").fadeIn('fast'); + } else { + $("#fh_advprefs").fadeOut('fast'); + } + return false; +} + + +function firehose_init_idle( $new_entries ){ + + if($.browser.safari) { /* strage safari bug -- wants to display tags inline only -- cannot replicate in Webkit */ + $('div.tag-display').css('display','list-item !important'); + $('div.tag-display').css('display','inline-block !important'); + } + + /* h1.legend on opera -- not perfect but at least visible */ + if($.browser.opera) { + $('.tag-display > h1.legend').css({ + 'top':'-30px !important', + 'left':'70% !important', + 'position':'relative !important', + 'float':'left !important' + }); + } + + if($.browser.safari) { + $('.vballoon-marquee.rd_5').css('-webkit-border-radius','.5em'); + $('.vballoon-marquee.rd_5 span').css({'margin-top':'1.3em','height':'0.85em'}); + + $('.vballoon-firehoselist.rd_5').css('-webkit-border-radius','.5em'); + $('.vballoon-firehoselist.rd_5 span').css({'margin-left':'-.7em','height':'.85em'}); + + $('.vbutton.rd_5').css('-webkit-border-radius','.5em'); + } + if($.browser.mozilla) { + $('.vballoon-marquee.rd_5').css({ + 'border-radius':'.5em', + '-moz-border-radius':'.5em', + 'margin-top':'-1em' + }); + $('.vballoon-firehoselist.rd_5').css({ + 'border-radius':'.5em', + '-moz-border-radius':'.5em' + }); + $('.vbutton.rd_5').css({'border-radius':'.5em','-moz-border-radius':'.5em'}); + } + + /*ff2: attempt to fake anti-aliasing*/ + if ( /^1\.8\.1/.test($.browser.version) ) { + $('.vballoon-marquee.rd_5').css({ + 'border-bottom':'1px solid #004a4a', + 'border-top':'1px solid #004040', + 'border-left':'1px solid #004040', + 'border-right':'1px solid #004040', + '-moz-border-radius-bottomleft':'.75em', + '-moz-border-radius-bottomright':'.75em', + '-moz-border-radius-topleft':'.75em', + '-moz-border-radius-topright':'.75em', + 'margin-top':'-1em' + }); + $('.vballoon-marquee.rd_5 span').css('height','1.05em'); + + $('.vballoon-firehoselist.rd_5').css({ + border:'1px solid #dedede', + '-moz-border-radius-bottomleft':'.6em', + '-moz-border-radius-bottomright':'.65em', + '-moz-border-radius-topleft':'.5em', + '-moz-border-radius-topright':'.5em', + 'padding-right':'0.7em' + }); + $('.vballoon-firehoselist.rd_5 span').css({'height':'0.7em','margin-left':'-0.55em'}); + + $('.vbutton.rd_5').css({ + border:'1px solid #dedede', + '-moz-border-radius':'1em' + }); + } + + + return $new_entries; +} + + +$(document).ready(function(){ + if($.browser.safari) { + $(".edit a").css('margin-top','0pt'); + } + + /* h1.legend on opera -- not perfect but at least visible */ + if($.browser.opera) { + $('.tag-display > h1.legend').css({ + 'top':'-30px !important', + 'left':'70% !important', + 'position':'relative !important', + 'float':'left !important' + }); + } + + + /* This is the hide show on the list */ + /* + $("#firehose h3 a[class!='skin']").click(function(){ + var $h3 = $(this).parent('h3'); + $h3.next('div.hide'). + add($h3.find('a img')). + toggle("fast"); + return false; + }); */ + + $("#filter_text").click(function(){ + setTimeout("firehose_slider_init()",500); + return false; + }); + + $("#slashboxes .block:last-child").prependTo(".head .yui-b").addClass("stats"); + $("#slashboxes .block:first-child").prependTo(".head .yui-b"); + $("#afterwidget span:first-child").css("border","none"); + + $(".head .block .content").after("
 
"); + + + $('input[name="nothumbs"]').each( function() { + if ($(this).attr('checked','checked')) { + $('#firehose').addClass('vote_enabled'); + } else { + $('#firehose').removeClass('vote_enabled'); + } + }); + + $('input[name="nocolors"]').each( function() { + if ($(this).attr('checked','checked')) { + $('#firehose').addClass('color_enabled'); + } else { + $('#firehose').removeClass('color_enabled'); + } + }); + + $('.head .tags').appendTo('.head .article .body'); + + /* Commenting */ + $('li.comment').parent('ul').parent('li').css('background','none'); + + /* This is the nav visual treatment */ + $('#hd div.nav ul li:gt(0)').css('border-left','solid 1px #044'); + $('#ft div.nav ul li:gt(0)').css('border-left','solid 1px #ccc'); + $('#hd div.nav ul li.selected').next('li').css('border-left','none'); + $('#hd div.nav ul li.selected').css('border-left','none'); + + /* Fixing slider for div#filter_pref on homepage */ + if($.browser.mozilla || $.browser.opera || $.browser.safari ) + $('#colorsliderthumb').css({ + width:'10px', + margin:'0', + left:'-104px', + top:'5px' + }); + + + + +/* + if($.browser.safari) { + $('.vbutton.rd_5').css('-webkit-border-radius','.5em'); + } + if($.browser.mozilla) { + $('.vbutton.rd_5').css('border-radius','.5em').css('-moz-border-radius','.5em'); + } + if ( /^1\.8\.1/.test($.browser.version) ) { + $('.vbutton.rd_5').css({ + border:'1px solid #999', + '-moz-border-radius-bottomleft':'.65em', + '-moz-border-radius-bottomright':'.65em', + '-moz-border-radius-topleft':'.7em', + '-moz-border-radius-topright':'.7em' + }); + } +*/ + + + + + + + + + if($.browser.safari) { + $('.vballoon-marquee.rd_5').css('-webkit-border-radius','.5em'); + $('.vballoon-marquee.rd_5 span').css({'margin-top':'1.3em','height':'0.85em'}); + + $('.vballoon-firehoselist.rd_5').css('-webkit-border-radius','.5em'); + $('.vballoon-firehoselist.rd_5 span').css({'margin-left':'-.7em','height':'.85em'}); + + $('.vbutton.rd_5').css('-webkit-border-radius','.5em'); + } + if($.browser.mozilla) { + $('.vballoon-marquee.rd_5').css({ + 'border-radius':'.5em', + '-moz-border-radius':'.5em', + 'margin-top':'-1em' + }); + $('.vballoon-firehoselist.rd_5').css({ + 'border-radius':'.5em', + '-moz-border-radius':'.5em' + }); + $('.vbutton.rd_5').css({'border-radius':'.5em','-moz-border-radius':'.5em'}); + } + + /*ff2: attempt to fake anti-aliasing*/ + if ( /^1\.8\.1/.test($.browser.version) ) { + $('.vballoon-marquee.rd_5').css({ + 'border-bottom':'1px solid #004a4a', + 'border-top':'1px solid #004040', + 'border-left':'1px solid #004040', + 'border-right':'1px solid #004040', + '-moz-border-radius-bottomleft':'.75em', + '-moz-border-radius-bottomright':'.75em', + '-moz-border-radius-topleft':'.75em', + '-moz-border-radius-topright':'.75em', + 'margin-top':'-1em' + }); + $('.vballoon-marquee.rd_5 span').css('height','1.05em'); + + $('.vballoon-firehoselist.rd_5').css({ + border:'1px solid #dedede', + '-moz-border-radius-bottomleft':'.6em', + '-moz-border-radius-bottomright':'.65em', + '-moz-border-radius-topleft':'.5em', + '-moz-border-radius-topright':'.5em', + 'padding-right':'0.7em' + }); + $('.vballoon-firehoselist.rd_5 span').css({'height':'0.7em','margin-left':'-0.55em'}); + + $('.vbutton.rd_5').css({ + border:'1px solid #dedede', + '-moz-border-radius':'1em' + }); + } + + + + + + + + + +}); + +function firehose_marquee(op) { + if (op == "hide") { + firehose_set_options('nomarquee', 1); + $("#marquee a").addClass('collapsed'); + $(".head").hide(); + } else if (op == "show") { + firehose_set_options('nomarquee', 0); + $("#marquee a").removeClass('collapsed'); + if($(".head").size()) { + $(".head").show(); + } else { + setTimeout("window.location.reload()", "2000"); + } + } +} + +function firehose_slashboxes(op) { + if (op == "hide") { + $('.head .block, #slashboxes').fadeOut('fast'); + $('#fad6, #fad2').css('display','none'); + $(this).addClass('collapsed'); + $('.yui-t6 #yui-main .yui-b').css('margin-right','0 !important'); + firehose_set_options('noslashboxes', 1); + } else if (op == "show") { + $(this).removeClass('collapsed'); + firehose_set_options('noslashboxes', 0); + if($('#slashboxes:hidden').size()) { + $('.head .block, #slashboxes').fadeIn('fast'); + $('#fad6, #fad2').css('display','block'); + $('.yui-t6 #yui-main .yui-b').css('margin-right','336px !important'); + } else { + setTimeout("window.location.reload()", "2000"); + } + } +} From svnnotify @ sourceforge.jp Mon Dec 1 20:24:11 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Dec 2008 20:24:11 +0900 Subject: [Slashdotjp-dev 1323] [854] remove left menu content-height management code Message-ID: <1228130651.547101.16274.nullmailer@users.sourceforge.jp> Revision: 854 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=854 Author: tach Date: 2008-12-01 20:24:11 +0900 (Mon, 01 Dec 2008) Log Message: ----------- remove left menu content-height management code Modified Paths: -------------- test/images/all-minified.js.jp -------------- next part -------------- Modified: test/images/all-minified.js.jp =================================================================== --- test/images/all-minified.js.jp 2008-12-01 04:21:53 UTC (rev 853) +++ test/images/all-minified.js.jp 2008-12-01 11:24:11 UTC (rev 854) @@ -1,30 +1 @@ /* append for slashdot.jp */ - -/* remove left menu content-height value */ -(function(){ - var content_height_version = "20080428c"; - var append = ""; - - /* ignore if the version is latest */ - if ( document.cookie.indexOf("content-height-version=" + content_height_version) > 0 ) - return null; - - /* check domain */ - get_domain(); - append = "; domain=." + domainname - - /* delete cookie if exists and non-zero */ - $A(document.cookie.split("; ")).each(function(cookie) { - var c = cookie.split("=", 2); - if ( blocks.indexOf(c[0].replace("-content-height$", "")) && c[1] > 0 ) { - document.cookie = c[0] + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + append; - if (isdomain) - document.cookie = c[0] + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; - } - }); - - /* remember content-height-version */ - document.cookie = "content-height-version=" + content_height_version + "; path=/" + append; - if (isdomain) - document.cookie = "content-height-version=" + content_height_version + "; path=/"; -})(); From svnnotify @ sourceforge.jp Mon Dec 1 20:31:26 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Dec 2008 20:31:26 +0900 Subject: [Slashdotjp-dev 1324] [855] remove left menu content-height management code (cont.) Message-ID: <1228131086.553561.23161.nullmailer@users.sourceforge.jp> Revision: 855 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=855 Author: tach Date: 2008-12-01 20:31:26 +0900 (Mon, 01 Dec 2008) Log Message: ----------- remove left menu content-height management code (cont.) Modified Paths: -------------- test/images/all-minified.js -------------- next part -------------- Modified: test/images/all-minified.js =================================================================== --- test/images/all-minified.js 2008-12-01 11:24:11 UTC (rev 854) +++ test/images/all-minified.js 2008-12-01 11:31:26 UTC (rev 855) @@ -1645,32 +1645,3 @@ function appendToMedia(text){var obj=$dom('admin-media');if(obj){obj.className="show";obj.value=obj.value+text;}} $(function(){if($.browser.safari||$.browser.opera){$('.edit a').css('margin-top','0pt');}}); /* append for slashdot.jp */ - -/* remove left menu content-height value */ -(function(){ - var content_height_version = "20080428c"; - var append = ""; - - /* ignore if the version is latest */ - if ( document.cookie.indexOf("content-height-version=" + content_height_version) > 0 ) - return null; - - /* check domain */ - get_domain(); - append = "; domain=." + domainname - - /* delete cookie if exists and non-zero */ - $A(document.cookie.split("; ")).each(function(cookie) { - var c = cookie.split("=", 2); - if ( blocks.indexOf(c[0].replace("-content-height$", "")) && c[1] > 0 ) { - document.cookie = c[0] + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + append; - if (isdomain) - document.cookie = c[0] + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; - } - }); - - /* remember content-height-version */ - document.cookie = "content-height-version=" + content_height_version + "; path=/" + append; - if (isdomain) - document.cookie = "content-height-version=" + content_height_version + "; path=/"; -})(); From svnnotify @ sourceforge.jp Mon Dec 1 20:31:37 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Dec 2008 20:31:37 +0900 Subject: [Slashdotjp-dev 1325] [856] remove main-menu triangle Message-ID: <1228131097.279839.23224.nullmailer@users.sourceforge.jp> Revision: 856 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=856 Author: tach Date: 2008-12-01 20:31:37 +0900 (Mon, 01 Dec 2008) Log Message: ----------- remove main-menu triangle Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-01 11:31:26 UTC (rev 855) +++ test/images/css/slashdotjp.css 2008-12-01 11:31:37 UTC (rev 856) @@ -132,6 +132,13 @@ margin-right: 0.4em; } +/* remove main-menu triangle */ +div#links div.block div.title h4, +div#links div.block.expanded div.title h4 { + background: none; + padding-left: 0.8em; +} + /* Fix list-style image location */ #slashboxes #slashd ul li, #slashboxes #future ul li { From svnnotify @ sourceforge.jp Mon Dec 1 21:13:55 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 01 Dec 2008 21:13:55 +0900 Subject: [Slashdotjp-dev 1326] [857] fix comments.css for slashdot.jp Message-ID: <1228133635.373643.28862.nullmailer@users.sourceforge.jp> Revision: 857 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=857 Author: tach Date: 2008-12-01 21:13:55 +0900 (Mon, 01 Dec 2008) Log Message: ----------- fix comments.css for slashdot.jp Modified Paths: -------------- test/images/Makefile test/images/css/comments.css Added Paths: ----------- test/images/css/comments.css.jp -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-01 11:31:37 UTC (rev 856) +++ test/images/Makefile 2008-12-01 12:13:55 UTC (rev 857) @@ -20,7 +20,7 @@ wget --no-proxy --no-host-directories --mirror --no-verbose -i - touch images-stamp -css/slashcode_lite.css css/slashcode_low_bw.css css/iestyles.css css/admin.css css/slashdot_linux.css: %: %.orig %.jp +css/slashcode_lite.css css/slashcode_low_bw.css css/iestyles.css css/admin.css css/slashdot_linux.css css/comments.css: %: %.orig %.jp $(csses): %: css/%.css $(sections): %: css/slashdot_%.css $(patsubst %, css/%.css, $(csses)) $(patsubst %,css/slashdot_%.css, $(sections)): %: %.orig Modified: test/images/css/comments.css =================================================================== --- test/images/css/comments.css 2008-12-01 11:31:37 UTC (rev 856) +++ test/images/css/comments.css 2008-12-01 12:13:55 UTC (rev 857) @@ -392,3 +392,17 @@ .inline_comment .contain {margin: 0; padding: 0; border: none} +/* Override comments.css for slashdot.jp */ +#d2act .loki { + font-size: 88%; +} + +.vertical #d2act.rooted { + left: -9em !important; +} + +.vertical #d2act { + left: 13px !important; +} + +/* vim: ts=4:ft=css: Added: test/images/css/comments.css.jp =================================================================== --- test/images/css/comments.css.jp (rev 0) +++ test/images/css/comments.css.jp 2008-12-01 12:13:55 UTC (rev 857) @@ -0,0 +1,14 @@ +/* Override comments.css for slashdot.jp */ +#d2act .loki { + font-size: 88%; +} + +.vertical #d2act.rooted { + left: -9em !important; +} + +.vertical #d2act { + left: 13px !important; +} + +/* vim: ts=4:ft=css: From svnnotify @ sourceforge.jp Tue Dec 2 17:27:02 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Dec 2008 17:27:02 +0900 Subject: [Slashdotjp-dev 1327] [858] fix to get full images Message-ID: <1228206422.101822.10721.nullmailer@users.sourceforge.jp> Revision: 858 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=858 Author: tach Date: 2008-12-02 17:27:01 +0900 (Tue, 02 Dec 2008) Log Message: ----------- fix to get full images Modified Paths: -------------- test/images/Makefile -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-01 12:13:55 UTC (rev 857) +++ test/images/Makefile 2008-12-02 08:27:01 UTC (rev 858) @@ -14,7 +14,7 @@ images: images-stamp images-stamp: $(patsubst %,css/%.css.orig, $(csses)) $(patsubst %,css/slashdot_%.css.orig, $(sections)) - perl -ne "print \"http:\$$1\n\" if /url\(['\"]?(\/\/images\.slashdot\.org\/[^)'\"]+)/;" $(patsubst %,css/%.css.orig, $(csses)) $(patsubst %,css/slashdot_%.css.orig, $(sections)) | \ + perl -ne "s|(url\(['\"]?/)([^/])|\$$1/images.slashdot.org/\$$2|g; print \"http:\$$1\n\" if /url\(['\"]?(\/\/images\.slashdot\.org\/[^)'\"]+)/;" $(patsubst %,css/%.css.orig, $(csses)) $(patsubst %,css/slashdot_%.css.orig, $(sections)) | \ sed -e 's/\.pnh$$/.png/' | \ sort -u | \ wget --no-proxy --no-host-directories --mirror --no-verbose -i - From svnnotify @ sourceforge.jp Tue Dec 2 17:29:27 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Dec 2008 17:29:27 +0900 Subject: [Slashdotjp-dev 1328] [859] add some images Message-ID: <1228206567.775189.13177.nullmailer@users.sourceforge.jp> Revision: 859 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=859 Author: tach Date: 2008-12-02 17:29:27 +0900 (Tue, 02 Dec 2008) Log Message: ----------- add some images Added Paths: ----------- test/images/balloon_ext_003333.png test/images/balloon_ext_666666.png test/images/commentBubbleBg.png test/images/commentBubbleBg_marquee.png test/images/commentBubbleExt.png test/images/commentBubbleExt_marquee.png test/images/d2_button_horizonal.png test/images/d2_button_horizonal_v2.png test/images/dark_corner.png test/images/dark_dwn_corner.png test/images/dark_dwn_fade_100.png test/images/dark_dwn_fade_20.png test/images/dark_dwn_fade_30.png test/images/dark_dwn_fade_50.png test/images/dark_fade.png test/images/dark_fade_10.png test/images/dark_fade_50.png test/images/dark_largecurve.png test/images/images test/images/light_dwn_fade_20.png test/images/light_dwn_fade_50.png test/images/logo-idle.png test/images/logo2.png test/images/sic_controls_new.png test/images/sic_controls_new_666666.png test/images/sic_notes.png test/images/tag-arrow-collapsed-ffffff.png test/images/tag-arrow-expanded-ffffff.png -------------- next part -------------- Added: test/images/balloon_ext_003333.png =================================================================== (Binary files differ) Property changes on: test/images/balloon_ext_003333.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/balloon_ext_666666.png =================================================================== (Binary files differ) Property changes on: test/images/balloon_ext_666666.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/commentBubbleBg.png =================================================================== (Binary files differ) Property changes on: test/images/commentBubbleBg.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/commentBubbleBg_marquee.png =================================================================== (Binary files differ) Property changes on: test/images/commentBubbleBg_marquee.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/commentBubbleExt.png =================================================================== (Binary files differ) Property changes on: test/images/commentBubbleExt.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/commentBubbleExt_marquee.png =================================================================== (Binary files differ) Property changes on: test/images/commentBubbleExt_marquee.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/d2_button_horizonal.png =================================================================== (Binary files differ) Property changes on: test/images/d2_button_horizonal.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/d2_button_horizonal_v2.png =================================================================== (Binary files differ) Property changes on: test/images/d2_button_horizonal_v2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_corner.png =================================================================== (Binary files differ) Property changes on: test/images/dark_corner.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_dwn_corner.png =================================================================== (Binary files differ) Property changes on: test/images/dark_dwn_corner.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_dwn_fade_100.png =================================================================== (Binary files differ) Property changes on: test/images/dark_dwn_fade_100.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_dwn_fade_20.png =================================================================== (Binary files differ) Property changes on: test/images/dark_dwn_fade_20.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_dwn_fade_30.png =================================================================== (Binary files differ) Property changes on: test/images/dark_dwn_fade_30.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_dwn_fade_50.png =================================================================== (Binary files differ) Property changes on: test/images/dark_dwn_fade_50.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_fade.png =================================================================== (Binary files differ) Property changes on: test/images/dark_fade.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_fade_10.png =================================================================== (Binary files differ) Property changes on: test/images/dark_fade_10.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_fade_50.png =================================================================== (Binary files differ) Property changes on: test/images/dark_fade_50.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_largecurve.png =================================================================== (Binary files differ) Property changes on: test/images/dark_largecurve.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/images =================================================================== --- test/images/images (rev 0) +++ test/images/images 2008-12-02 08:29:27 UTC (rev 859) @@ -0,0 +1 @@ +link . \ No newline at end of file Property changes on: test/images/images ___________________________________________________________________ Name: svn:special + * Added: test/images/light_dwn_fade_20.png =================================================================== (Binary files differ) Property changes on: test/images/light_dwn_fade_20.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/light_dwn_fade_50.png =================================================================== (Binary files differ) Property changes on: test/images/light_dwn_fade_50.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/logo-idle.png =================================================================== (Binary files differ) Property changes on: test/images/logo-idle.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/logo2.png =================================================================== (Binary files differ) Property changes on: test/images/logo2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/sic_controls_new.png =================================================================== (Binary files differ) Property changes on: test/images/sic_controls_new.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/sic_controls_new_666666.png =================================================================== (Binary files differ) Property changes on: test/images/sic_controls_new_666666.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/sic_notes.png =================================================================== (Binary files differ) Property changes on: test/images/sic_notes.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/tag-arrow-collapsed-ffffff.png =================================================================== (Binary files differ) Property changes on: test/images/tag-arrow-collapsed-ffffff.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/tag-arrow-expanded-ffffff.png =================================================================== (Binary files differ) Property changes on: test/images/tag-arrow-expanded-ffffff.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream From svnnotify @ sourceforge.jp Tue Dec 2 19:18:21 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Dec 2008 19:18:21 +0900 Subject: [Slashdotjp-dev 1329] [860] Add article count number to articles in index.pl Message-ID: <1228213101.093207.30816.nullmailer@users.sourceforge.jp> Revision: 860 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=860 Author: tach Date: 2008-12-02 19:18:20 +0900 (Tue, 02 Dec 2008) Log Message: ----------- Add article count number to articles in index.pl Modified Paths: -------------- slashjp/trunk/Slash/Slash.pm slashjp/trunk/debian/changelog slashjp/trunk/themes/slashcode/htdocs/index.pl -------------- next part -------------- Modified: slashjp/trunk/Slash/Slash.pm =================================================================== --- slashjp/trunk/Slash/Slash.pm 2008-12-02 08:29:27 UTC (rev 859) +++ slashjp/trunk/Slash/Slash.pm 2008-12-02 10:18:20 UTC (rev 860) @@ -144,6 +144,7 @@ thresh_commentcount => $other->{thresh_commentcount}, expandable => $other->{expandable}, getintro => $other->{getintro}, + num => $other->{num}, ); #use Data::Dumper; print STDERR scalar(localtime) . " dispStory data: " . Dumper(\%data); Modified: slashjp/trunk/debian/changelog =================================================================== --- slashjp/trunk/debian/changelog 2008-12-02 08:29:27 UTC (rev 859) +++ slashjp/trunk/debian/changelog 2008-12-02 10:18:20 UTC (rev 860) @@ -1,8 +1,9 @@ slash (2.5.0.231-1) unstable; urgency=low * New upstream git release + * Add article count number to articles in index.pl - -- Taku YASUI Wed, 26 Nov 2008 17:36:45 +0900 + -- Taku YASUI Tue, 2 Dec 2008 10:17:25 +0000 slash (2.5.0.218-1) unstable; urgency=low Modified: slashjp/trunk/themes/slashcode/htdocs/index.pl =================================================================== --- slashjp/trunk/themes/slashcode/htdocs/index.pl 2008-12-02 08:29:27 UTC (rev 859) +++ slashjp/trunk/themes/slashcode/htdocs/index.pl 2008-12-02 10:18:20 UTC (rev 860) @@ -587,6 +587,7 @@ # later (this simulates the old cursor-based method from circa 1997 # which was actually not all that smart, but umpteen layers of caching # makes it quite tolerable here in 2004 :) + my $num_s = 0; my $story; STORIES_DISPLAY: while ($story = shift @$stories) { my($tmpreturn, $other, @links); @@ -647,6 +648,8 @@ ? $threshComments[$user->{threshold} + 1] : $story->{commentcount}; + $num_s++; + $other->{num} = $num_s; $tmpreturn .= displayStory($story->{sid}, '', $other, $stories_data_cache); if ($other->{dispmode} eq "full") { From svnnotify @ sourceforge.jp Tue Dec 2 19:28:33 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 02 Dec 2008 19:28:33 +0900 Subject: [Slashdotjp-dev 1330] [861] Add article count number to articles in index.pl (cont.) Message-ID: <1228213713.554221.10271.nullmailer@users.sourceforge.jp> Revision: 861 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=861 Author: tach Date: 2008-12-02 19:28:33 +0900 (Tue, 02 Dec 2008) Log Message: ----------- Add article count number to articles in index.pl (cont.) Modified Paths: -------------- slashjp/trunk/themes/slashcode/htdocs/index.pl -------------- next part -------------- Modified: slashjp/trunk/themes/slashcode/htdocs/index.pl =================================================================== --- slashjp/trunk/themes/slashcode/htdocs/index.pl 2008-12-02 10:18:20 UTC (rev 860) +++ slashjp/trunk/themes/slashcode/htdocs/index.pl 2008-12-02 10:28:33 UTC (rev 861) @@ -744,6 +744,7 @@ $tmpreturn .= slashDisplay('storylink', { links => \@links, sid => $story->{sid}, + num => $num_s, }, { Return => 1 }); } From svnnotify @ sourceforge.jp Thu Dec 4 17:44:00 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 04 Dec 2008 17:44:00 +0900 Subject: [Slashdotjp-dev 1331] [862] add new friend and foe image icons Message-ID: <1228380240.057517.7728.nullmailer@users.sourceforge.jp> Revision: 862 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=862 Author: tach Date: 2008-12-04 17:43:59 +0900 (Thu, 04 Dec 2008) Log Message: ----------- add new friend and foe image icons Modified Paths: -------------- test/images/Makefile Added Paths: ----------- test/images/eof.png test/images/fan.png test/images/foe.png test/images/fof.png test/images/freak.png test/images/friend.png test/images/neutral.png -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-02 10:28:33 UTC (rev 861) +++ test/images/Makefile 2008-12-04 08:43:59 UTC (rev 862) @@ -5,6 +5,7 @@ sections = apple ask books developer games hardware it linux mobile politics yro csses = core-tidied comments firehose search polls calendar admin admin-topic-popup print handheld slashcode_lite slashcode_low_bw iestyles ie6 ie7 ie8 idlecore-tidied lick comments-idle jses = all-minified comments sectionprefs jquery-opt-1 +aimages = friend.png foe.png freak.png fof.png neutral.png fan.png eof.png default: update update: $(csses) $(sections) $(jses) images @@ -13,7 +14,7 @@ rsync -avHSC --exclude=/hc/ --exclude=Makefile --exclude=\*-stamp --exclude=\*.jp ./ $(DESTDIR) images: images-stamp -images-stamp: $(patsubst %,css/%.css.orig, $(csses)) $(patsubst %,css/slashdot_%.css.orig, $(sections)) +images-stamp: $(patsubst %,css/%.css.orig, $(csses)) $(patsubst %,css/slashdot_%.css.orig, $(sections)) $(aimages) perl -ne "s|(url\(['\"]?/)([^/])|\$$1/images.slashdot.org/\$$2|g; print \"http:\$$1\n\" if /url\(['\"]?(\/\/images\.slashdot\.org\/[^)'\"]+)/;" $(patsubst %,css/%.css.orig, $(csses)) $(patsubst %,css/slashdot_%.css.orig, $(sections)) | \ sed -e 's/\.pnh$$/.png/' | \ sort -u | \ @@ -54,6 +55,9 @@ %.js.orig: wget --no-proxy --no-verbose http://images.slashdot.org/$(patsubst %.js.orig,%.js, $@) -O $@ +$(aimages): + wget --no-proxy --no-verbose http://images.slashdot.org/$@ -O $@ + force: clean default clean: Added: test/images/eof.png =================================================================== (Binary files differ) Property changes on: test/images/eof.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/fan.png =================================================================== (Binary files differ) Property changes on: test/images/fan.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/foe.png =================================================================== (Binary files differ) Property changes on: test/images/foe.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/fof.png =================================================================== (Binary files differ) Property changes on: test/images/fof.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/freak.png =================================================================== (Binary files differ) Property changes on: test/images/freak.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/friend.png =================================================================== (Binary files differ) Property changes on: test/images/friend.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/neutral.png =================================================================== (Binary files differ) Property changes on: test/images/neutral.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream From svnnotify @ sourceforge.jp Thu Dec 4 19:59:10 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 04 Dec 2008 19:59:10 +0900 Subject: [Slashdotjp-dev 1332] [863] suppress warning Message-ID: <1228388350.207825.28147.nullmailer@users.sourceforge.jp> Revision: 863 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=863 Author: tach Date: 2008-12-04 19:59:09 +0900 (Thu, 04 Dec 2008) Log Message: ----------- suppress warning Modified Paths: -------------- slashjp/trunk/plugins/FireHose/FireHose.pm -------------- next part -------------- Modified: slashjp/trunk/plugins/FireHose/FireHose.pm =================================================================== --- slashjp/trunk/plugins/FireHose/FireHose.pm 2008-12-04 08:43:59 UTC (rev 862) +++ slashjp/trunk/plugins/FireHose/FireHose.pm 2008-12-04 10:59:09 UTC (rev 863) @@ -2426,7 +2426,7 @@ } } - my $the_skin = defined $form->{section} ? $self->getSkin($form->{section}) : $gSkin; + my $the_skin = $form->{section} ? $self->getSkin($form->{section}) : $gSkin; my $skin_prefix=""; From svnnotify @ sourceforge.jp Fri Dec 5 14:46:15 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 05 Dec 2008 14:46:15 +0900 Subject: [Slashdotjp-dev 1333] [864] merged from upstream T2_5_0_233 tag Message-ID: <1228455975.922514.9612.nullmailer@users.sourceforge.jp> Revision: 864 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=864 Author: tach Date: 2008-12-05 14:46:15 +0900 (Fri, 05 Dec 2008) Log Message: ----------- merged from upstream T2_5_0_233 tag Modified Paths: -------------- slashjp/branches/upstream/current/Slash/Apache/Apache.pm slashjp/branches/upstream/current/Slash/Apache/User/User.pm slashjp/branches/upstream/current/Slash/DB/MySQL/MySQL.pm slashjp/branches/upstream/current/Slash/Utility/Display/Display.pm slashjp/branches/upstream/current/plugins/Admin/templates/peer_weights;admin;default slashjp/branches/upstream/current/plugins/Admin/templates/recent_subs;admin;default slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js slashjp/branches/upstream/current/plugins/Bookmark/templates/userbookmarks;users;default slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm slashjp/branches/upstream/current/plugins/FireHose/firehose.pl slashjp/branches/upstream/current/plugins/FireHose/mysql_dump.sql slashjp/branches/upstream/current/plugins/FireHose/mysql_schema.sql slashjp/branches/upstream/current/plugins/FireHose/templates/data;firehose;default slashjp/branches/upstream/current/plugins/FireHose/templates/formatHoseTitle;misc;default slashjp/branches/upstream/current/plugins/FireHose/templates/list;firehose;default slashjp/branches/upstream/current/plugins/FireHose/templates/paginate;firehose;default slashjp/branches/upstream/current/plugins/Hof/templates/main;hof;default slashjp/branches/upstream/current/plugins/Journal/dump slashjp/branches/upstream/current/plugins/Journal/templates/data;journal;default slashjp/branches/upstream/current/plugins/Journal/templates/friendsview;journal;default slashjp/branches/upstream/current/plugins/Journal/templates/generic;journal;default slashjp/branches/upstream/current/plugins/Journal/templates/journalfriends;journal;default slashjp/branches/upstream/current/plugins/Journal/templates/journallist;journal;default slashjp/branches/upstream/current/plugins/Journal/templates/journaltop;journal;default slashjp/branches/upstream/current/plugins/Journal/templates/messagenew;journal;default slashjp/branches/upstream/current/plugins/Journal/templates/slashdot;journal;default slashjp/branches/upstream/current/plugins/Messages/templates/zoo_msg;zoo;default slashjp/branches/upstream/current/plugins/Search/templates/journalsearch;search;default slashjp/branches/upstream/current/plugins/Search/templates/usersearch;search;default slashjp/branches/upstream/current/plugins/SearchToo/templates/journalsearch;searchtoo;default slashjp/branches/upstream/current/plugins/SearchToo/templates/usersearch;searchtoo;default slashjp/branches/upstream/current/plugins/Tags/Tags.pm slashjp/branches/upstream/current/plugins/Tags/templates/taghistory;misc;default slashjp/branches/upstream/current/plugins/Tags/templates/usertaghistory;users;default slashjp/branches/upstream/current/plugins/Tags/templates/usertags;users;default slashjp/branches/upstream/current/plugins/Tags/templates/usertagsforname;users;default slashjp/branches/upstream/current/plugins/Users2/Users2.pm slashjp/branches/upstream/current/plugins/Zoo/templates/alllist;zoo;default slashjp/branches/upstream/current/plugins/Zoo/templates/confirm;zoo;default slashjp/branches/upstream/current/plugins/Zoo/templates/data;zoo;default slashjp/branches/upstream/current/plugins/Zoo/templates/plainlist;zoo;default slashjp/branches/upstream/current/plugins/Zoo/templates/zoohead;zoo;default slashjp/branches/upstream/current/sql/mysql/defaults.sql slashjp/branches/upstream/current/sql/mysql/upgrades slashjp/branches/upstream/current/tagboxes/CommentScoreReason/CommentScoreReason.pm slashjp/branches/upstream/current/tagboxes/FHEditorPop/FHEditorPop.pm slashjp/branches/upstream/current/tagboxes/FireHoseScores/FireHoseScores.pm slashjp/branches/upstream/current/themes/slashcode/htdocs/users2.pl slashjp/branches/upstream/current/themes/slashcode/templates/currentAdminUsers;misc;default slashjp/branches/upstream/current/themes/slashcode/templates/dispStory;misc;default slashjp/branches/upstream/current/themes/slashcode/templates/friendsview;index;default slashjp/branches/upstream/current/themes/slashcode/templates/linkrel;misc;default slashjp/branches/upstream/current/themes/slashcode/templates/printCommNoArchive;misc;default slashjp/branches/upstream/current/themes/slashcode/templates/u2MainView;users;default slashjp/branches/upstream/current/themes/slashcode/templates/u2Menu;users;default slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBio;users;default slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBoxes;users;default slashjp/branches/upstream/current/themes/slashcode/templates/udiscuss_list;comments;default slashjp/branches/upstream/current/themes/slashcode/templates/userInfo2;users;default slashjp/branches/upstream/current/themes/slashcode/templates/userInfo;users;default slashjp/branches/upstream/current/themes/slashcode/templates/user_titlebar;misc;default slashjp/branches/upstream/current/themes/slashcode/templates/userboxes2;misc;default slashjp/branches/upstream/current/themes/slashcode/templates/userboxes;misc;default -------------- next part -------------- Modified: slashjp/branches/upstream/current/Slash/Apache/Apache.pm =================================================================== --- slashjp/branches/upstream/current/Slash/Apache/Apache.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/Slash/Apache/Apache.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -381,7 +381,7 @@ my $basedir = $constants->{basedir}; # $USER_MATCH defined above - if ($dbon && ($is_user || $has_daypass)) { + if ($dbon && ($is_user || $has_daypass || $gSkin->{index_handler} =~ /^users/)) { $r->uri("/$gSkin->{index_handler}"); $r->filename("$basedir/$gSkin->{index_handler}"); return OK; Modified: slashjp/branches/upstream/current/Slash/Apache/User/User.pm =================================================================== --- slashjp/branches/upstream/current/Slash/Apache/User/User.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/Slash/Apache/User/User.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -633,23 +633,17 @@ } elsif ($logged_in) { $found_the_op = 1; if ($op eq 'journal') { - if ($constants->{u2}) { - $r->args("op=userinfo&dp=journal"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); + my $args; + if ($extra =~ /^\d+$/) { + $args = "id=$extra&op=edit"; + } elsif ($extra eq 'friends') { + $args = "op=friendview"; } else { - my $args; - if ($extra =~ /^\d+$/) { - $args = "id=$extra&op=edit"; - } elsif ($extra eq 'friends') { - $args = "op=friendview"; - } else { - $args = "op=list"; - } - $r->args($args); - $r->uri('/journal.pl'); - $r->filename($constants->{basedir} . '/journal.pl'); + $args = "op=list"; } + $r->args($args); + $r->uri('/journal.pl'); + $r->filename($constants->{basedir} . '/journal.pl'); } elsif ($op eq 'discussions') { $r->args("op=personal_index"); @@ -663,48 +657,25 @@ $r->filename($constants->{basedir} . '/messages.pl'); } elsif ($op =~ /^(?:friends|fans|freaks|foes|zoo)$/) { - if ($constants->{u2}) { - $extra .= '/'; + my $args = "op=$op"; + $extra .= '/'; - if ($op eq 'friends' && $extra =~ s/^friends\///) { - $op =~ s/friends/fof/; - } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { - $op =~ s/friends/eof/; - } elsif ($op eq 'zoo') { - $op =~ s/zoo/all/; - } - - my $args = "op=userinfo&dp=$op"; - $r->args($args); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - my $args = "op=$op"; - $extra .= '/'; - - if ($op eq 'friends' && $extra =~ s/^friends\///) { - $args =~ s/friends/fof/; - } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { - $args =~ s/friends/eof/; - } elsif ($op eq 'zoo') { - $args =~ s/zoo/all/; - } - - $r->args($args); - $r->uri('/zoo.pl'); - $r->filename($constants->{basedir} . '/zoo.pl'); + if ($op eq 'friends' && $extra =~ s/^friends\///) { + $args =~ s/friends/fof/; + } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { + $args =~ s/friends/eof/; + } elsif ($op eq 'zoo') { + $args =~ s/zoo/all/; } + $r->args($args); + $r->uri('/zoo.pl'); + $r->filename($constants->{basedir} . '/zoo.pl'); + } elsif ($op eq 'comments') { - if ($constants->{u2}) { - $r->args("op=userinfo&dp=comments"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("op=editcomm"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } + $r->args("op=editcomm"); + $r->uri('/users.pl'); + $r->filename($constants->{basedir} . '/users.pl'); } elsif ($op eq 'homepage') { $r->args("op=edithome"); @@ -732,42 +703,23 @@ $r->filename($constants->{basedir} . '/journal.pl'); } elsif ($op eq 'tags') { - if ($constants->{u2}) { - $r->args("op=userinfo&dp=tags"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - my $args = 'op=showtags'; - # XXX "!" is a 'reserved' char in URI, escape it here? - $args .= "&tagname=$extra" if $extra; - $r->args($args); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } + my $args = 'op=showtags'; + # XXX "!" is a 'reserved' char in URI, escape it here? + $args .= "&tagname=$extra" if $extra; + $r->args($args); + $r->uri('/users.pl'); + $r->filename($constants->{basedir} . '/users.pl'); } elsif ($op eq 'bookmarks') { - if ($constants->{u2}) { - $r->args("op=userinfo&dp=bookmarks"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("op=showbookmarks"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } + $r->args("op=showbookmarks"); + $r->uri('/users.pl'); + $r->filename($constants->{basedir} . '/users.pl'); } elsif ($op eq 'firehose') { - if ($constants->{u2}) { - my $filter = fixparam("user:"); - $r->args("op=userinfo&dp=firehose"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - my $filter = fixparam("user:"); - $r->args("op=userfirehose"); - $r->uri('users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } + my $filter = fixparam("user:"); + $r->args("op=userfirehose"); + $r->uri('users.pl'); + $r->filename($constants->{basedir} . '/users.pl'); } elsif ($op eq 'preferences') { $r->args("op=displayprefs"); Modified: slashjp/branches/upstream/current/Slash/DB/MySQL/MySQL.pm =================================================================== --- slashjp/branches/upstream/current/Slash/DB/MySQL/MySQL.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/Slash/DB/MySQL/MySQL.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -346,6 +346,7 @@ sub createComment { my($self, $comment) = @_; return -1 unless dbAvailable("write_comments"); + my $constants = getCurrentStatic(); my $comment_text = $comment->{comment}; delete $comment->{comment}; $comment->{signature} = md5_hex($comment_text); @@ -433,6 +434,11 @@ # $searchtoo->storeRecords(comments => $cid, { add => 1 }); } + my $firehose = getObject('Slash::FireHose'); + if ($firehose && !isAnon($comment->{uid})) { + $firehose->createUpdateItemFromComment($cid); + } + return $cid; } @@ -12399,7 +12405,7 @@ my $fixnick = $journaldata_hr->{$id}{nickname}; if (!defined $fixnick) { print STDERR scalar(gmtime) . " _addGlobjEssentials_journals no nick for journal $id\n"; } $fixnick = fixparam($fixnick || ''); - $data_hr->{$globjid}{url} = "$constants->{rootdir}/~$fixnick/journal/$id"; + $data_hr->{$globjid}{url} = "$constants->{real_rootdir}/~$fixnick/journal/$id"; $data_hr->{$globjid}{title} = $journaldata_hr->{$id}{description}; $data_hr->{$globjid}{created_at} = $journaldata_hr->{$id}{date}; } @@ -12842,6 +12848,14 @@ return $story_link_ar->[0]; } +sub getShillInfo { + my($self, $shill_id) = @_; + my $shill_id_q = $self->sqlQuote($shill_id); + + return $self->sqlSelectHashref('*', 'shill_ids', "shill_id=$shill_id_q"); + +} + ######################################################## sub DESTROY { my($self) = @_; Modified: slashjp/branches/upstream/current/Slash/Utility/Display/Display.pm =================================================================== --- slashjp/branches/upstream/current/Slash/Utility/Display/Display.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/Slash/Utility/Display/Display.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -1176,7 +1176,7 @@ my $nick_fix = fixparam($ll_nick); my $nick_attribute = strip_attribute($ll_nick); push @$menu_items, { - value => "$gSkin->{rootdir}/~$nick_fix", + value => "$gSkin->{real_rootdir}/~$nick_fix", label => "~$nick_attribute ($user->{lastlookuid})", sel_label => "otheruser", menuorder => 99999, Modified: slashjp/branches/upstream/current/plugins/Admin/templates/peer_weights;admin;default =================================================================== --- slashjp/branches/upstream/current/plugins/Admin/templates/peer_weights;admin;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Admin/templates/peer_weights;admin;default 2008-12-05 05:46:15 UTC (rev 864) @@ -33,10 +33,10 @@ uidB = uidsB.$i %] [% ordA.$uidA %]. -[% nickname.$uidA | strip_nohtml %] +[% nickname.$uidA | strip_nohtml %] [% weightA.$uidA %] [% ordB.$uidB %]. -[% nickname.$uidB | strip_nohtml %] +[% nickname.$uidB | strip_nohtml %] [% weightB.$uidB %] [% END %] Modified: slashjp/branches/upstream/current/plugins/Admin/templates/recent_subs;admin;default =================================================================== --- slashjp/branches/upstream/current/plugins/Admin/templates/recent_subs;admin;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Admin/templates/recent_subs;admin;default 2008-12-05 05:46:15 UTC (rev 864) @@ -39,7 +39,7 @@ [% FOREACH sub = subs %] [% sub.spid %] - [% sub.nickname | strip_literal %] ([% sub.uid %]) [% sub.email | strip_literal %] Modified: slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js =================================================================== --- slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js 2008-12-05 05:46:15 UTC (rev 864) @@ -1121,10 +1121,10 @@ } if ( firehose_future[firehose_ordered[i]] ) { $('#ttype-'+firehose_ordered[i]).setClass('future'); - $('#firehose-'+firehose_ordered[i] + "h3").setClass('future'); + $('#firehose-'+firehose_ordered[i] + " h3").setClass('future'); } else { $('#ttype-'+firehose_ordered[i]+'.future').setClass('story'); - $('#firehose-'+firehose_ordered[i] + "h3.future").setClass('story'); + $('#firehose-'+firehose_ordered[i] + " h3.future").setClass('story'); } } if ( moved ) after_article_moved(); @@ -1941,7 +1941,8 @@ $(function(){ $footer = $('#ft'); - $slashboxes = $('#slashboxes'). + $slashboxes = $('#slashboxes, #userboxes'). + eq(0). append('
'); $ad_position = $slashboxes.find('#floating-slashbox-ad'); @@ -2146,11 +2147,16 @@ } Slash.Firehose.at_or_below_ad_space = function( $articles ){ - var min_top = Math.max(window.pageYOffset, $slashboxes.offset().top + $slashboxes.height()); - return $articles.filter(function(){ - return $(this).offset().top >= min_top; - }); - + try { + var min_top = Math.max(window.pageYOffset, $slashboxes.offset().top + $slashboxes.height()); + return $articles.filter(function(){ + return $(this).offset().top >= min_top; + }); + } catch ( e ) { + // don't throw + } + // just tell the caller no articles supplied are at or below ad-space + return $([]); } Slash.Firehose.choose_article_for_next_ad = function(){ Modified: slashjp/branches/upstream/current/plugins/Bookmark/templates/userbookmarks;users;default =================================================================== --- slashjp/branches/upstream/current/plugins/Bookmark/templates/userbookmarks;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Bookmark/templates/userbookmarks;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -19,7 +19,7 @@ [% thisnickname = useredit.nickname | strip_literal; url_nick = useredit.nickname | strip_paramattr; uid = useredit.uid; - title = "Bookmarks by $thisnickname ($uid)"; + title = "Bookmarks by $thisnickname ($uid)"; PROCESS user_titlebar tab_selected='bookmarks' %] Modified: slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -140,6 +140,24 @@ return $colors; } +sub createUpdateItemFromComment { + my($self, $cid) = @_; + my $comment = $self->getComment($cid); + my $text = $self->getCommentText($cid); + + my $item = $self->getFireHoseByTypeSrcid("comment", $cid); + my $fhid; + + if ($item && $item->{id}) { + # update item or do nothing + $fhid = $item->{id}; + } else { + $fhid = $self->createItemFromComment($cid); + } + return $fhid; + +} + sub createItemFromComment { my($self, $cid) = @_; my $comment = $self->getComment($cid); @@ -166,9 +184,21 @@ editorpop => $editorpop, globjid => $globjid, discussion => $comment->{sid}, + createtime => $comment->{date}, }; my $fhid = $self->createFireHose($data); + if (!isAnon($comment->{uid})) { + my $constants = getCurrentStatic(); + my $tags = getObject('Slash::Tags'); + $tags->createTag({ + uid => $comment->{uid}, + name => $constants->{tags_upvote_tagname}, + globjid => $globjid, + private => 1, + }); + } + my $tagboxdb = getObject('Slash::Tagbox'); if ($tagboxdb) { for my $tbname (qw( FireHoseScores FHEditorPop CommentScoreReason )) { @@ -658,7 +688,7 @@ $labels = $tags->getPositiveTags; $labels = ['nod'] unless @$labels; } else { # tagged_non_negative || tagged_negative - $labels = $tags->getNegativeTags; + $labels = $tags->getFirehoseExcludeTags; $labels = ['nix'] unless @$labels; $not = 'NOT' if $options->{tagged_non_negative}; } @@ -2445,7 +2475,6 @@ $options->{$_} = $form->{$_} ? 1 : 0; } } - $options->{$_} = defined $form->{$_}; } my $page = $form->{page} || 0; @@ -2474,7 +2503,7 @@ $options->{base_filter} =~ s/\{nickname\}/$the_nickname/g; } - if ($fhfilter =~ /\{tag}/) { + if ($fhfilter =~ /\{tag\}/) { my $the_tag = $opts->{tag} || $form->{tagname}; $fhfilter =~ s/\{tag\}/$the_tag/g; $options->{fhfilter} =~ s/\{tag\}/$the_tag/g; @@ -2670,7 +2699,7 @@ $options->{smalldevices} = 1 if $self->shouldForceSmall(); $options->{limit} = $self->getFireHoseLimitSize($options->{mode}, $pagesize, $options->{smalldevices}, $options); - + return $options; } @@ -3110,7 +3139,7 @@ sub splitOpsFromString { my ($self, $str) = @_; - my @fh_ops_orig = map { lc($_) } split((/\s+|"/), $str); + my @fh_ops_orig = map { lc($_) } split(/(\s+|")/, $str); my @fh_ops; my $in_quotes = 0; @@ -3287,7 +3316,7 @@ $link_url = $story_link_ar->[0]; } elsif ($item->{type} eq "journal") { my $the_user = $self->getUser($item->{uid}); - $link_url = $constants->{rootdir} . "/~" . fixparam($the_user->{nickname}) . "/journal/$item->{srcid}"; + $link_url = $constants->{real_rootdir} . "/~" . fixparam($the_user->{nickname}) . "/journal/$item->{srcid}"; } elsif ($item->{type} eq "comment") { my $com = $self->getComment($item->{srcid}); $link_url = $gSkin->{rootdir} . "/comments.pl?sid=$com->{sid}&cid=$com->{cid}"; Modified: slashjp/branches/upstream/current/plugins/FireHose/firehose.pl =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/firehose.pl 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/FireHose/firehose.pl 2008-12-05 05:46:15 UTC (rev 864) @@ -24,6 +24,7 @@ my $form = getCurrentForm(); my $gSkin = getCurrentSkin(); my $firehose = getObject("Slash::FireHose"); + my $reader = getObject('Slash::DB', { db_type => 'reader' }); my $anonval = $constants->{firehose_anonval_param} || ""; @@ -87,7 +88,21 @@ } if ($form->{op} && $form->{op} eq "view") { my $item = $firehose->getFireHose($form->{id}); - $title = "$constants->{sitename} - $item->{title}" if $item && $item->{title}; + if ($item && $item->{id}) { + $title = "$constants->{sitename} - $item->{title}" if $item->{title}; + my $author = $reader->getUser($item->{uid}); + if ($author->{shill_id}) { + my $shill = $reader->getShillInfo($author->{shill_id}); + if ($shill->{skid} && $shill->{skid} != $gSkin->{skid}) { + my $shill_skin = $reader->getSkin($shill->{skid}); + if ($shill_skin && $shill_skin->{rootdir} ne $gSkin->{rootdir}) { + redirect("$shill_skin->{rootdir}$ENV{REQUEST_URI}"); + return; + } + } + } + } + } header($title, '') or return; } Modified: slashjp/branches/upstream/current/plugins/FireHose/mysql_dump.sql =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/mysql_dump.sql 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/FireHose/mysql_dump.sql 2008-12-05 05:46:15 UTC (rev 864) @@ -64,6 +64,6 @@ INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "daddypants", "yes", 'unsigned', "createtime", "DESC", "indigo", "-1", "fulltitle", "", "yes", "yes", 50, 30, 100,""); -INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "usertag", "no", '"user:{nickname}" "tag:{tag}"', "createtime", "DESC", "black", "-1", "full", "0", "no", "no", 20, 20, 0,"1"); +INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "usertag", "no", '"user:{nickname}" "tag:{tag}"', "createtime", "DESC", "black", "-1", "fulltitle", "0", "no", "no", 20, 20, 0,"1"); INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "userjournalfriends", "no", '"authorfriend:{nickname}" journal', "createtime", "DESC", "black", "-1", "full", "0", "no", "no", 20, 20, 0,"1"); Modified: slashjp/branches/upstream/current/plugins/FireHose/mysql_schema.sql =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/mysql_schema.sql 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/FireHose/mysql_schema.sql 2008-12-05 05:46:15 UTC (rev 864) @@ -45,7 +45,8 @@ KEY createtime (createtime), KEY popularity (popularity), KEY neediness (neediness), - KEY url_id (url_id) + KEY url_id (url_id), + KEY uid (uid) ) TYPE=InnoDB; # The table giving an Object's Generally Accepted Story Publication Time Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/data;firehose;default =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/templates/data;firehose;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/FireHose/templates/data;firehose;default 2008-12-05 05:46:15 UTC (rev 864) @@ -37,8 +37,9 @@ [% END %] [%- IF adminmode && item.type == "submission" %][% END -%] by [% IF adminmode && item.type != "story" %] - [% the_user.nickname | strip_literal %] - ([% the_user.uid %]) + [% IF Slash.isAnon(the_user.uid) %][% the_user.nickname | strip_literal %] + [% ELSE %][% the_user.nickname | strip_literal %] ([% the_user.uid %]) + [% END %] [% END %] [% IF extras && num_from_uid != '0' %] ([% accepted_from_uid %]/[% num_from_uid %]) @@ -51,7 +52,9 @@ [% ELSIF item.type == "story" %] [% IF the_user.homepage %][% END %][% the_user.nickname %][% IF the_user.homepage %][% END %] [% ELSE %] - [% the_user.nickname | strip_literal %] + [% IF Slash.isAnon(the_user.uid) %][% the_user.nickname | strip_literal %] + [% ELSE %][% the_user.nickname | strip_literal %] + [% END %] [% END %] [% END %] [% IF extras && num_with_emaildomain != '0' %] @@ -60,7 +63,7 @@ [% IF adminmode %] [% Slash.vislenify(item); %] - [% item.ipid_vis -%] + [% item.ipid_vis -%] [% IF item.type == "story" %] [% story = Slash.db.getStory(item.srcid) %] [% IF story && story.fhid %]Original Submission[% END %] Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/formatHoseTitle;misc;default =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/templates/formatHoseTitle;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/FireHose/templates/formatHoseTitle;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -124,10 +124,10 @@ title = pop_str _ title; END; -IF options.view == "userjournal"; +IF item.type == "journal"; IF options.user_view_uid == user.uid; - title = title _ ' [ Edit '; - title = title _ ' | Delete ] '; + title = title _ 'Edit '; + title = title _ 'Delete'; END; END; %] Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/list;firehose;default =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/templates/list;firehose;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/FireHose/templates/list;firehose;default 2008-12-05 05:46:15 UTC (rev 864) @@ -30,7 +30,7 @@ submission_hash.${submission.subid} = submission; END; submission_accept = submission_count - (submission_reject + submission_pend) %] -
Submission Summary: +

Submission Summary: [% submission_pend %] pending, [% submission_reject %] rejected, [% submission_accept %] accepted ([% @@ -39,7 +39,7 @@ USE format; percentage = format('%.2f'); percentage((100 * submission_accept) / (submission_accept + submission_reject + submission_pend)) -%]% accepted)

+%]% accepted)

[% ELSIF options.view == "userjournal" AND (user.uid == options.user_view_uid) %] Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/paginate;firehose;default =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/templates/paginate;firehose;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/FireHose/templates/paginate;firehose;default 2008-12-05 05:46:15 UTC (rev 864) @@ -22,10 +22,10 @@ [% submit_plug = ""; IF options.view.match('^userjournal'); submit_plug = 'Write in Journal'; - ELSIF options.view == "usersubmission"; - submit_plug = 'Submit Story'; ELSIF gSkin.name == "idle"; submit_plug = 'Submit Idle Story'; + ELSE; #ELSIF options.view == "usersubmission"; + submit_plug = 'Submit Story'; END; %] Modified: slashjp/branches/upstream/current/plugins/Hof/templates/main;hof;default =================================================================== --- slashjp/branches/upstream/current/plugins/Hof/templates/main;hof;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Hof/templates/main;hof;default 2008-12-05 05:46:15 UTC (rev 864) @@ -42,7 +42,7 @@

[% PROCESS titlebar title => 'Most Active Submitters' %] [% FOREACH item = activesub %] -[% item.0 %] [% item.1 %]
+[% item.0 %] [% item.1 %]
[% END %]

[% PROCESS titlebar title => 'Most Active Poll Topics' %] Modified: slashjp/branches/upstream/current/plugins/Journal/dump =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/dump 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/dump 2008-12-05 05:46:15 UTC (rev 864) @@ -14,7 +14,7 @@ INSERT INTO journal_themes (name) VALUES ('bluebox'); INSERT INTO journal_themes (name) VALUES ('slashdot'); -INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','[% user.nickname | strip_literal %]\'s Journal','[% gSkin.rootdir %]/~[% user.nickname | fixparam %]/journal/',1,1); +INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','[% user.nickname | strip_literal %]\'s Journal','[% constants.real_rootdir %]/~[% user.nickname | fixparam %]/journal/',1,1); INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','Write in Journal','[% gSkin.rootdir %]/journal.pl?op=edit',1,2); INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','Delete/Edit Entries','[% gSkin.rootdir %]/journal.pl?op=list',1,3); INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','Top 10','[% gSkin.rootdir %]/journal.pl?op=top',0,4); Modified: slashjp/branches/upstream/current/plugins/Journal/templates/data;journal;default =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/templates/data;journal;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/templates/data;journal;default 2008-12-05 05:46:15 UTC (rev 864) @@ -23,16 +23,16 @@ [% CASE 'userhead' %] [% IF user.lowbandwidth %] - Journal of [% nickname | strip_literal %] ([% uid %]) + Journal of [% nickname | strip_literal %] ([% uid %]) [% ELSE %] - Journal of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Journal of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% END %] [% CASE 'friendhead' %] [% IF user.lowbandwidth %] - [% nickname | strip_literal %]'s Friends + [% nickname | strip_literal %]'s Friends [% ELSE %] - [% nickname | strip_literal %]'s Friends + [% nickname | strip_literal %]'s Friends [% END %] [% CASE 'noedit' %] Modified: slashjp/branches/upstream/current/plugins/Journal/templates/friendsview;journal;default =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/templates/friendsview;journal;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/templates/friendsview;journal;default 2008-12-05 05:46:15 UTC (rev 864) @@ -18,8 +18,8 @@

[% diatribe.description %]

- Posted by [% diatribe.nickname | strip_literal %] [% user.aton %] - [% Slash.timeCalc(diatribe.date) %] (#[% diatribe.id %]) + Posted by [% diatribe.nickname | strip_literal %] [% user.aton %] + [% Slash.timeCalc(diatribe.date) %] (#[% diatribe.id %]) [% IF diatribe.discussion %]
[% diatribe.commentcount %] Comment[% diatribe.commentcount != 1 ? "s" : "" %] Modified: slashjp/branches/upstream/current/plugins/Journal/templates/generic;journal;default =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/templates/generic;journal;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/templates/generic;journal;default 2008-12-05 05:46:15 UTC (rev 864) @@ -56,7 +56,7 @@ [%- END %]
  • - #[% diatribe.id %] + #[% diatribe.id %]
  • Modified: slashjp/branches/upstream/current/plugins/Journal/templates/journalfriends;journal;default =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/templates/journalfriends;journal;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/templates/journalfriends;journal;default 2008-12-05 05:46:15 UTC (rev 864) @@ -39,9 +39,9 @@ [% END %] [% FOREACH friend = friends %] - + [% IF friend.2 %] - + [% ELSE %] Modified: slashjp/branches/upstream/current/plugins/Journal/templates/journallist;journal;default =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/templates/journallist;journal;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/templates/journallist;journal;default 2008-12-05 05:46:15 UTC (rev 864) @@ -39,7 +39,7 @@ [% FOREACH article = articles %] - + [%- IF showform %] Modified: slashjp/branches/upstream/current/plugins/Journal/templates/journaltop;journal;default =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/templates/journaltop;journal;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/templates/journaltop;journal;default 2008-12-05 05:46:15 UTC (rev 864) @@ -36,7 +36,7 @@ [% FOREACH journal = journals %] - + Modified: slashjp/branches/upstream/current/plugins/Journal/templates/messagenew;journal;default =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/templates/messagenew;journal;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/templates/messagenew;journal;default 2008-12-05 05:46:15 UTC (rev 864) @@ -13,7 +13,7 @@ __template__ [% IF msg.mode == 1 %] - + [% ELSE %] Modified: slashjp/branches/upstream/current/plugins/Journal/templates/slashdot;journal;default =================================================================== --- slashjp/branches/upstream/current/plugins/Journal/templates/slashdot;journal;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Journal/templates/slashdot;journal;default 2008-12-05 05:46:15 UTC (rev 864) @@ -31,7 +31,7 @@ [%- END; ELSIF user.uid == uid %] Enable Comments | [%- END %] - #[% diatribe.id %] + #[% diatribe.id %] ] Modified: slashjp/branches/upstream/current/plugins/Messages/templates/zoo_msg;zoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/Messages/templates/zoo_msg;zoo;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Messages/templates/zoo_msg;zoo;default 2008-12-05 05:46:15 UTC (rev 864) @@ -17,17 +17,17 @@

    [% IF type == 'friend' || type == 'foe' || type == 'bitch' %] -[% zoo_user.nickname | strip_literal %] ([% zoo_user.uid %]) has made you their [% type %]. [% ELSIF type == 'neutral' %] -[% zoo_user.nickname | strip_literal %] ([% zoo_user.uid %]) has ceased their relationship with you. [% END %]

    If you'd like to, view or edit your -friends and -foes. +friends and +foes. [% ELSE %] Modified: slashjp/branches/upstream/current/plugins/Search/templates/journalsearch;search;default =================================================================== --- slashjp/branches/upstream/current/plugins/Search/templates/journalsearch;search;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Search/templates/journalsearch;search;default 2008-12-05 05:46:15 UTC (rev 864) @@ -16,7 +16,7 @@ [% FOREACH journal=entries %]

    - [% journal.description %] + [% journal.description %]

    On [% Slash.timeCalc(journal.date) %] @@ -25,7 +25,7 @@ [% journal.article %]
    [% IF journal.score %]
    Modified: slashjp/branches/upstream/current/plugins/Search/templates/usersearch;search;default =================================================================== --- slashjp/branches/upstream/current/plugins/Search/templates/usersearch;search;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Search/templates/usersearch;search;default 2008-12-05 05:46:15 UTC (rev 864) @@ -21,7 +21,7 @@ [% END %]
  • - [% thisuser.nickname | strip_literal %]   + [% thisuser.nickname | strip_literal %]   [% IF thisuser.fakeemail %] ([% thisuser.uid %]) email: [% thisuser.fakeemail | strip_literal %] [% ELSE %] @@ -30,7 +30,7 @@
  • [% IF thisuser.journal_last_entry_date %]
  • - Last Journal entry [% Slash.timeCalc(thisuser.journal_last_entry_date) %] + Last Journal entry [% Slash.timeCalc(thisuser.journal_last_entry_date) %]
  • [% END %] [% UNLESS user.is_anon %] Modified: slashjp/branches/upstream/current/plugins/SearchToo/templates/journalsearch;searchtoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/SearchToo/templates/journalsearch;searchtoo;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/SearchToo/templates/journalsearch;searchtoo;default 2008-12-05 05:46:15 UTC (rev 864) @@ -12,11 +12,11 @@ journalsearch __template__ [% FOREACH journal=results.records %] - [% journal.description %]
    + [% journal.description %]
    On [% Slash.timeCalc(journal.date) %]
    [% shorten( Slash.strip_notags(journal.article) ) %]
    - Author: [% journal.nickname | strip_literal %] + Author: [% journal.nickname | strip_literal %] [% IF journal.score %]
    Score: ([% journal.score %]) [% END %] Modified: slashjp/branches/upstream/current/plugins/SearchToo/templates/usersearch;searchtoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/SearchToo/templates/usersearch;searchtoo;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/SearchToo/templates/usersearch;searchtoo;default 2008-12-05 05:46:15 UTC (rev 864) @@ -20,7 +20,7 @@ [% END %]
    [% IF thisuser.journal_last_entry_date %] [% ELSE %] - + Modified: slashjp/branches/upstream/current/plugins/Tags/templates/usertaghistory;users;default =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/templates/usertaghistory;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Tags/templates/usertaghistory;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -27,7 +27,7 @@ [% tag.url.bookmark.title || tag.url.validtitle || tag.url.initialtitle | strip_literal %] [% ELSIF tag.globj_type == "journals" %] [% nick = Slash.db.getUser(tag.journal.uid, 'nickname') %] - [% tag.journal.description | strip_literal %] + [% tag.journal.description | strip_literal %] [% ELSIF tag.globj_type == "submissions" %] [% tag.submission.subj | strip_literal %] [% END %] Modified: slashjp/branches/upstream/current/plugins/Tags/templates/usertags;users;default =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/templates/usertags;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Tags/templates/usertags;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -18,9 +18,9 @@ __template__ [% thisnickname = useredit.nickname | strip_literal; url_nick = useredit.nickname | strip_paramattr; - url_base = "$gSkin.rootdir/~$url_nick/"; + url_base = "$constants.real_rootdir/~$url_nick/"; uid = useredit.uid; - title = "Tags by $thisnickname ($uid)"; + title = "Tags by $thisnickname ($uid)"; PROCESS user_titlebar tab_selected='tags' %] [% IF user.tags_canread_stories && tags_grouped.keys.size %] @@ -38,7 +38,7 @@ [% tag.url.bookmark.title || tag.url.validtitle || tag.url.initialtitle | strip_literal %] [% ELSIF tag.globj_type == "journals" %] [% nick = Slash.db.getUser(tag.journal.uid, 'nickname') %] - [% tag.journal.description | strip_literal %] + [% tag.journal.description | strip_literal %] [% END %] Modified: slashjp/branches/upstream/current/plugins/Tags/templates/usertagsforname;users;default =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/templates/usertagsforname;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Tags/templates/usertagsforname;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -20,9 +20,9 @@ thistagname = tagname | strip_literal; url_nick = useredit.nickname | strip_paramattr; url_tagname = tagname | strip_paramattr; - url_base = "$gSkin.rootdir/~$url_nick/"; + url_base = "$constants.real_rootdir/~$url_nick/"; uid = useredit.uid; - title = "Items tagged $thistagname by $thisnickname ($uid)"; + title = "Items tagged $thistagname by $thisnickname ($uid)"; UNLESS notitle; PROCESS user_titlebar tab_selected='tags'; END; %] [% IF user.tags_canread_stories && tags.size %] @@ -37,7 +37,7 @@ [% tag.url.bookmark.title || tag.url.validtitle || tag.url.initialtitle | strip_literal %] [% ELSIF tag.globj_type == "journals" %] [% nick = Slash.db.getUser(tag.journal.uid, 'nickname') %] - [% tag.journal.description | strip_literal %] + [% tag.journal.description | strip_literal %] [% END %] Modified: slashjp/branches/upstream/current/plugins/Users2/Users2.pm =================================================================== --- slashjp/branches/upstream/current/plugins/Users2/Users2.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Users2/Users2.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -34,7 +34,7 @@ my $uid_q = $self->sqlQuote($uid); return $self->sqlSelectAllHashref( 'cid', - "sid, cid, subject, UNIX_TIMESTAMP(date) as date", + "sid, cid, subject, points, reason, UNIX_TIMESTAMP(date) as date", 'comments', "uid = $uid_q", 'order by date desc limit 5'); @@ -95,10 +95,10 @@ # Get the latest n bookmarks. These could be contained in journals and # submissions, so we want journal size + submissions size + 5. - my $num_bookmarks = scalar(keys %$latest_journals) + scalar(keys %$latest_submissions) + 5; + #my $num_bookmarks = scalar(keys %$latest_journals) + scalar(keys %$latest_submissions) + 5; my $uid_q = $self->sqlQuote($uid); my $bookmarks_reader = getObject('Slash::Bookmark'); - my $latest_bookmarks = $bookmarks_reader->getRecentBookmarksByUid($uid_q, $num_bookmarks); + my $latest_bookmarks = $bookmarks_reader->getRecentBookmarksByUid($uid_q, 5); # Make bookmarks unique against journals my $bookmark_count = 0; @@ -193,7 +193,8 @@ if ($tagnameid) { # Show all user's tags for one particular tagname. my $tags_hr = - $tags_reader->getGroupedTagsFromUser($uid, { tagnameid => $tagnameid }); + $tags_reader->getGroupedTagsFromUser($uid, { tagnameid => $tagnameid }, + { limit => 5000, orderby => 'tagid', orderdir => 'DESC' }); my $tags_ar = $tags_hr->{$tagname} || [ ]; return slashDisplay('usertagsforname', { useredit => $requested_user, @@ -203,7 +204,8 @@ }, { Page => 'users', Return => 1 }); } else { my $tags_hr = - $tags_reader->getGroupedTagsFromUser($uid, { include_private => $private }); + $tags_reader->getGroupedTagsFromUser($uid, { include_private => $private }, + { limit => 5000, orderby => 'tagid', orderdir => 'DESC' }); my $num_tags = 0; for my $tn (keys %$tags_hr) { $num_tags += scalar @{ $tags_hr->{$tn} }; @@ -327,6 +329,35 @@ return $fhid; } +sub truncateMarquee { + my($self, $marquee, $len) = @_; + + my $text; + my $linebreak = qr{(?: +
    \s*
    | + | + + )}x; + my $min_chars = 50; + my $max_chars = $len || 1000; + + if (length($marquee) < $min_chars) { + $text = $marquee; + } else { + $text = $1 if $marquee =~ m/^(.{$min_chars,$max_chars})?$linebreak/s; + } + + $text ||= chopEntity($marquee, $max_chars); + local $Slash::Utility::Data::approveTag::admin = 1; + $text = strip_html($text); + $text = balanceTags($text, { admin => 1 }); + $text = addDomainTags($text); + + return $text; +} + sub DESTROY { my($self) = @_; $self->{_dbh}->disconnect if !$ENV{GATEWAY_INTERFACE} && $self->{_dbh}; Modified: slashjp/branches/upstream/current/plugins/Zoo/templates/alllist;zoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/Zoo/templates/alllist;zoo;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Zoo/templates/alllist;zoo;default 2008-12-05 05:46:15 UTC (rev 864) @@ -17,7 +17,7 @@ [% FOREACH item = people %]
    [% friend.0 %]
    [% friend.0 %][% friend.3 %][% friend.3 %] [% Slash.timeCalc(friend.2) %] 
    [% article.2 %][% article.2 %] [% Slash.timeCalc(article.1) %][edit]
    [% journal.1 | strip_literal %][% journal.1 | strip_literal %] [% journal.0 %] [% Slash.timeCalc(journal.3) %]
    - [% thisuser.nickname | strip_literal %]   + [% thisuser.nickname | strip_literal %]   [% IF thisuser.fakeemail %] ([% thisuser.uid %]) email: [% thisuser.fakeemail | strip_literal %]
    [% ELSE %] @@ -29,7 +29,7 @@
    - Last Journal entry [% Slash.timeCalc(thisuser.journal_last_entry_date) %] + Last Journal entry [% Slash.timeCalc(thisuser.journal_last_entry_date) %] Modified: slashjp/branches/upstream/current/plugins/Tags/Tags.pm =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/Tags.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Tags/Tags.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -1125,8 +1125,6 @@ if ( $skid != $constants->{mainpage_skid} ) { my $skin = $firehose->getSkin($skid); $section_tag = $skin->{name}; - } else { - $section_tag = 'mainpage'; } } @@ -2236,6 +2234,11 @@ return $self->getTagnamesByParam('exclude', '1'); } +sub getFirehoseExcludeTags { + my($self) = @_; + return $self->getTagnamesByParam('fh_exclude', '1'); +} + sub getNegativeTags { my($self) = @_; return $self->getTagnamesByParam('posneg', '-'); Modified: slashjp/branches/upstream/current/plugins/Tags/templates/taghistory;misc;default =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/templates/taghistory;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Tags/templates/taghistory;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -41,7 +41,7 @@ [% tag.tagname %] [% tag.tag_clout %] [% tag.tagname_clout %][% nickname | strip_literal %][% nickname | strip_literal %] [% tag.user_clout %] [% IF tag.inactivated %][% END %][% tag.created_at.replace(" "," ") %][% IF tag.inactivated %][% END %]
    - [% item.1 %] + [% item.1 %] [% PROCESS zoo_icons person=item.0 %] Modified: slashjp/branches/upstream/current/plugins/Zoo/templates/confirm;zoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/Zoo/templates/confirm;zoo;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Zoo/templates/confirm;zoo;default 2008-12-05 05:46:15 UTC (rev 864) @@ -21,7 +21,7 @@
    - So do you want to remove your relationship with [% nickname %]? + So do you want to remove your relationship with [% nickname %]? @@ -63,24 +63,24 @@ Modified: slashjp/branches/upstream/current/plugins/Zoo/templates/data;zoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/Zoo/templates/data;zoo;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Zoo/templates/data;zoo;default 2008-12-05 05:46:15 UTC (rev 864) @@ -22,28 +22,28 @@ [% constants.sitename %] Friend/Foe System [% CASE 'confirm' %] - Your Relationship with [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Your Relationship with [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'nofriends' %] - [% nickname | strip_literal %] ([% uid %]) is all alone in the world. + [% nickname | strip_literal %] ([% uid %]) is all alone in the world. [% CASE 'nofans' %] - [% nickname | strip_literal %] ([% uid %]) is either loved by all, or just invisible. + [% nickname | strip_literal %] ([% uid %]) is either loved by all, or just invisible. [% CASE 'nofreaks' %] - [% nickname | strip_literal %] ([% uid %]) is hated by no one. + [% nickname | strip_literal %] ([% uid %]) is hated by no one. [% CASE 'nofoes' %] - [% nickname | strip_literal %] ([% uid %]) loves everyone or plays their cards very close to their chest. + [% nickname | strip_literal %] ([% uid %]) loves everyone or plays their cards very close to their chest. [% CASE 'nofriendsoffriends' %] - The friends of [% nickname | strip_literal %] ([% uid %]) have no friends; they need better friends. + The friends of [% nickname | strip_literal %] ([% uid %]) have no friends; they need better friends. [% CASE 'nofriendsenemies' %] - The friends of [% nickname | strip_literal %] ([% uid %]) have no foes. + The friends of [% nickname | strip_literal %] ([% uid %]) have no foes. [% CASE 'noall' %] - [% nickname | strip_literal %] ([% uid %]) is unknown to the world. + [% nickname | strip_literal %] ([% uid %]) is unknown to the world. [% CASE 'yournofriends' %] [% returnme.data_constant = 1 %] @@ -78,25 +78,25 @@ No one knows you exist. [% CASE 'friendshead' %] - Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'foeshead' %] - Foes of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Foes of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'fanshead' %] - Fans of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Fans of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'freakshead' %] - Freaks of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Freaks of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'friendsenemieshead' %] - Foes of the Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Foes of the Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'friendsoffriendshead' %] - Friends of the Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Friends of the Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'allhead' %] - Relationships of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Relationships of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'yourfriendshead' %] [% returnme.data_constant = 1 %] Modified: slashjp/branches/upstream/current/plugins/Zoo/templates/plainlist;zoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/Zoo/templates/plainlist;zoo;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Zoo/templates/plainlist;zoo;default 2008-12-05 05:46:15 UTC (rev 864) @@ -20,17 +20,17 @@ [% FOREACH somebody = people %] - + - + [% END %] Modified: slashjp/trunk/plugins/Admin/templates/recent_subs;admin;default =================================================================== --- slashjp/trunk/plugins/Admin/templates/recent_subs;admin;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Admin/templates/recent_subs;admin;default 2008-12-05 05:50:48 UTC (rev 866) @@ -39,7 +39,7 @@ [% FOREACH sub = subs %] - Modified: slashjp/trunk/plugins/Ajax/htdocs/images/common.js =================================================================== --- slashjp/trunk/plugins/Ajax/htdocs/images/common.js 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Ajax/htdocs/images/common.js 2008-12-05 05:50:48 UTC (rev 866) @@ -1121,10 +1121,10 @@ } if ( firehose_future[firehose_ordered[i]] ) { $('#ttype-'+firehose_ordered[i]).setClass('future'); - $('#firehose-'+firehose_ordered[i] + "h3").setClass('future'); + $('#firehose-'+firehose_ordered[i] + " h3").setClass('future'); } else { $('#ttype-'+firehose_ordered[i]+'.future').setClass('story'); - $('#firehose-'+firehose_ordered[i] + "h3.future").setClass('story'); + $('#firehose-'+firehose_ordered[i] + " h3.future").setClass('story'); } } if ( moved ) after_article_moved(); @@ -1941,7 +1941,8 @@ $(function(){ $footer = $('#ft'); - $slashboxes = $('#slashboxes'). + $slashboxes = $('#slashboxes, #userboxes'). + eq(0). append('
    '); $ad_position = $slashboxes.find('#floating-slashbox-ad'); @@ -2146,11 +2147,16 @@ } Slash.Firehose.at_or_below_ad_space = function( $articles ){ - var min_top = Math.max(window.pageYOffset, $slashboxes.offset().top + $slashboxes.height()); - return $articles.filter(function(){ - return $(this).offset().top >= min_top; - }); - + try { + var min_top = Math.max(window.pageYOffset, $slashboxes.offset().top + $slashboxes.height()); + return $articles.filter(function(){ + return $(this).offset().top >= min_top; + }); + } catch ( e ) { + // don't throw + } + // just tell the caller no articles supplied are at or below ad-space + return $([]); } Slash.Firehose.choose_article_for_next_ad = function(){ Modified: slashjp/trunk/plugins/Bookmark/templates/userbookmarks;users;default =================================================================== --- slashjp/trunk/plugins/Bookmark/templates/userbookmarks;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Bookmark/templates/userbookmarks;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -19,7 +19,7 @@ [% thisnickname = useredit.nickname | strip_literal; url_nick = useredit.nickname | strip_paramattr; uid = useredit.uid; - title = "Bookmarks by $thisnickname ($uid)"; + title = "Bookmarks by $thisnickname ($uid)"; PROCESS user_titlebar tab_selected='bookmarks' %] Modified: slashjp/trunk/plugins/FireHose/FireHose.pm =================================================================== --- slashjp/trunk/plugins/FireHose/FireHose.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/FireHose/FireHose.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -141,6 +141,24 @@ return $colors; } +sub createUpdateItemFromComment { + my($self, $cid) = @_; + my $comment = $self->getComment($cid); + my $text = $self->getCommentText($cid); + + my $item = $self->getFireHoseByTypeSrcid("comment", $cid); + my $fhid; + + if ($item && $item->{id}) { + # update item or do nothing + $fhid = $item->{id}; + } else { + $fhid = $self->createItemFromComment($cid); + } + return $fhid; + +} + sub createItemFromComment { my($self, $cid) = @_; my $comment = $self->getComment($cid); @@ -167,9 +185,21 @@ editorpop => $editorpop, globjid => $globjid, discussion => $comment->{sid}, + createtime => $comment->{date}, }; my $fhid = $self->createFireHose($data); + if (!isAnon($comment->{uid})) { + my $constants = getCurrentStatic(); + my $tags = getObject('Slash::Tags'); + $tags->createTag({ + uid => $comment->{uid}, + name => $constants->{tags_upvote_tagname}, + globjid => $globjid, + private => 1, + }); + } + my $tagboxdb = getObject('Slash::Tagbox'); if ($tagboxdb) { for my $tbname (qw( FireHoseScores FHEditorPop CommentScoreReason )) { @@ -660,7 +690,7 @@ $labels = $tags->getPositiveTags; $labels = ['nod'] unless @$labels; } else { # tagged_non_negative || tagged_negative - $labels = $tags->getNegativeTags; + $labels = $tags->getFirehoseExcludeTags; $labels = ['nix'] unless @$labels; $not = 'NOT' if $options->{tagged_non_negative}; } @@ -2447,7 +2477,6 @@ $options->{$_} = $form->{$_} ? 1 : 0; } } - $options->{$_} = defined $form->{$_}; } my $page = $form->{page} || 0; @@ -2476,7 +2505,7 @@ $options->{base_filter} =~ s/\{nickname\}/$the_nickname/g; } - if ($fhfilter =~ /\{tag}/) { + if ($fhfilter =~ /\{tag\}/) { my $the_tag = $opts->{tag} || $form->{tagname}; $fhfilter =~ s/\{tag\}/$the_tag/g; $options->{fhfilter} =~ s/\{tag\}/$the_tag/g; @@ -2672,7 +2701,7 @@ $options->{smalldevices} = 1 if $self->shouldForceSmall(); $options->{limit} = $self->getFireHoseLimitSize($options->{mode}, $pagesize, $options->{smalldevices}, $options); - + return $options; } @@ -3112,7 +3141,7 @@ sub splitOpsFromString { my ($self, $str) = @_; - my @fh_ops_orig = map { lc($_) } split((/\s+|"/), $str); + my @fh_ops_orig = map { lc($_) } split(/(\s+|")/, $str); my @fh_ops; my $in_quotes = 0; @@ -3289,7 +3318,7 @@ $link_url = $story_link_ar->[0]; } elsif ($item->{type} eq "journal") { my $the_user = $self->getUser($item->{uid}); - $link_url = $constants->{rootdir} . "/~" . fixparam($the_user->{nickname}) . "/journal/$item->{srcid}"; + $link_url = $constants->{real_rootdir} . "/~" . fixparam($the_user->{nickname}) . "/journal/$item->{srcid}"; } elsif ($item->{type} eq "comment") { my $com = $self->getComment($item->{srcid}); $link_url = $gSkin->{rootdir} . "/comments.pl?sid=$com->{sid}&cid=$com->{cid}"; Modified: slashjp/trunk/plugins/FireHose/firehose.pl =================================================================== --- slashjp/trunk/plugins/FireHose/firehose.pl 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/FireHose/firehose.pl 2008-12-05 05:50:48 UTC (rev 866) @@ -24,6 +24,7 @@ my $form = getCurrentForm(); my $gSkin = getCurrentSkin(); my $firehose = getObject("Slash::FireHose"); + my $reader = getObject('Slash::DB', { db_type => 'reader' }); my $anonval = $constants->{firehose_anonval_param} || ""; @@ -90,7 +91,21 @@ } if ($form->{op} && $form->{op} eq "view") { my $item = $firehose->getFireHose($form->{id}); - $title = "$constants->{sitename} - $item->{title}" if $item && $item->{title}; + if ($item && $item->{id}) { + $title = "$constants->{sitename} - $item->{title}" if $item->{title}; + my $author = $reader->getUser($item->{uid}); + if ($author->{shill_id}) { + my $shill = $reader->getShillInfo($author->{shill_id}); + if ($shill->{skid} && $shill->{skid} != $gSkin->{skid}) { + my $shill_skin = $reader->getSkin($shill->{skid}); + if ($shill_skin && $shill_skin->{rootdir} ne $gSkin->{rootdir}) { + redirect("$shill_skin->{rootdir}$ENV{REQUEST_URI}"); + return; + } + } + } + } + } header($title, '') or return; } Modified: slashjp/trunk/plugins/FireHose/mysql_dump.sql =================================================================== --- slashjp/trunk/plugins/FireHose/mysql_dump.sql 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/FireHose/mysql_dump.sql 2008-12-05 05:50:48 UTC (rev 866) @@ -64,6 +64,6 @@ INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "daddypants", "yes", 'unsigned', "createtime", "DESC", "indigo", "-1", "fulltitle", "", "yes", "yes", 50, 30, 100,""); -INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "usertag", "no", '"user:{nickname}" "tag:{tag}"', "createtime", "DESC", "black", "-1", "full", "0", "no", "no", 20, 20, 0,"1"); +INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "usertag", "no", '"user:{nickname}" "tag:{tag}"', "createtime", "DESC", "black", "-1", "fulltitle", "0", "no", "no", 20, 20, 0,"1"); INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "userjournalfriends", "no", '"authorfriend:{nickname}" journal', "createtime", "DESC", "black", "-1", "full", "0", "no", "no", 20, 20, 0,"1"); Modified: slashjp/trunk/plugins/FireHose/mysql_schema.sql =================================================================== --- slashjp/trunk/plugins/FireHose/mysql_schema.sql 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/FireHose/mysql_schema.sql 2008-12-05 05:50:48 UTC (rev 866) @@ -45,7 +45,8 @@ KEY createtime (createtime), KEY popularity (popularity), KEY neediness (neediness), - KEY url_id (url_id) + KEY url_id (url_id), + KEY uid (uid) ) TYPE=InnoDB; # The table giving an Object's Generally Accepted Story Publication Time Modified: slashjp/trunk/plugins/FireHose/templates/data;firehose;default =================================================================== --- slashjp/trunk/plugins/FireHose/templates/data;firehose;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/FireHose/templates/data;firehose;default 2008-12-05 05:50:48 UTC (rev 866) @@ -37,8 +37,9 @@ [% END %] [%- IF adminmode && item.type == "submission" %][% END -%] by [% IF adminmode && item.type != "story" %] - [% the_user.nickname | strip_literal %] - ([% the_user.uid %]) + [% IF Slash.isAnon(the_user.uid) %][% the_user.nickname | strip_literal %] + [% ELSE %][% the_user.nickname | strip_literal %] ([% the_user.uid %]) + [% END %] [% END %] [% IF extras && num_from_uid != '0' %] ([% accepted_from_uid %]/[% num_from_uid %]) @@ -51,7 +52,9 @@ [% ELSIF item.type == "story" %] [% IF the_user.homepage %][% END %][% the_user.nickname %][% IF the_user.homepage %][% END %] [% ELSE %] - [% the_user.nickname | strip_literal %] + [% IF Slash.isAnon(the_user.uid) %][% the_user.nickname | strip_literal %] + [% ELSE %][% the_user.nickname | strip_literal %] + [% END %] [% END %] [% END %] [% IF extras && num_with_emaildomain != '0' %] @@ -60,7 +63,7 @@ [% IF adminmode %] [% Slash.vislenify(item); %] - [% item.ipid_vis -%] + [% item.ipid_vis -%] [% IF item.type == "story" %] [% story = Slash.db.getStory(item.srcid) %] [% IF story && story.fhid %]Original Submission[% END %] Modified: slashjp/trunk/plugins/FireHose/templates/formatHoseTitle;misc;default =================================================================== --- slashjp/trunk/plugins/FireHose/templates/formatHoseTitle;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/FireHose/templates/formatHoseTitle;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -124,10 +124,10 @@ title = pop_str _ title; END; -IF options.view == "userjournal"; +IF item.type == "journal"; IF options.user_view_uid == user.uid; - title = title _ ' [ Edit '; - title = title _ ' | Delete ] '; + title = title _ 'Edit '; + title = title _ 'Delete'; END; END; %] Modified: slashjp/trunk/plugins/FireHose/templates/list;firehose;default =================================================================== --- slashjp/trunk/plugins/FireHose/templates/list;firehose;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/FireHose/templates/list;firehose;default 2008-12-05 05:50:48 UTC (rev 866) @@ -30,7 +30,7 @@ submission_hash.${submission.subid} = submission; END; submission_accept = submission_count - (submission_reject + submission_pend) %] -
    Submission Summary: +

    Submission Summary: [% submission_pend %] pending, [% submission_reject %] rejected, [% submission_accept %] accepted ([% @@ -39,7 +39,7 @@ USE format; percentage = format('%.2f'); percentage((100 * submission_accept) / (submission_accept + submission_reject + submission_pend)) -%]% accepted)

    +%]% accepted)

    [% ELSIF options.view == "userjournal" AND (user.uid == options.user_view_uid) %] Modified: slashjp/trunk/plugins/FireHose/templates/paginate;firehose;default =================================================================== --- slashjp/trunk/plugins/FireHose/templates/paginate;firehose;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/FireHose/templates/paginate;firehose;default 2008-12-05 05:50:48 UTC (rev 866) @@ -22,10 +22,10 @@ [% submit_plug = ""; IF options.view.match('^userjournal'); submit_plug = 'Write in Journal'; - ELSIF options.view == "usersubmission"; - submit_plug = 'Submit Story'; ELSIF gSkin.name == "idle"; submit_plug = 'Submit Idle Story'; + ELSE; #ELSIF options.view == "usersubmission"; + submit_plug = 'Submit Story'; END; %] Modified: slashjp/trunk/plugins/Hof/templates/main;hof;default =================================================================== --- slashjp/trunk/plugins/Hof/templates/main;hof;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Hof/templates/main;hof;default 2008-12-05 05:50:48 UTC (rev 866) @@ -42,7 +42,7 @@

    [% PROCESS titlebar title => 'Most Active Submitters' %] [% FOREACH item = activesub %] -[% item.0 %] [% item.1 %]
    +[% item.0 %] [% item.1 %]
    [% END %]

    [% PROCESS titlebar title => 'Most Active Poll Topics' %] Modified: slashjp/trunk/plugins/Journal/dump =================================================================== --- slashjp/trunk/plugins/Journal/dump 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/dump 2008-12-05 05:50:48 UTC (rev 866) @@ -14,7 +14,7 @@ INSERT INTO journal_themes (name) VALUES ('bluebox'); INSERT INTO journal_themes (name) VALUES ('slashdot'); -INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','[% user.nickname | strip_literal %]\'s Journal','[% gSkin.rootdir %]/~[% user.nickname | fixparam %]/journal/',1,1); +INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','[% user.nickname | strip_literal %]\'s Journal','[% constants.real_rootdir %]/~[% user.nickname | fixparam %]/journal/',1,1); INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','Write in Journal','[% gSkin.rootdir %]/journal.pl?op=edit',1,2); INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','Delete/Edit Entries','[% gSkin.rootdir %]/journal.pl?op=list',1,3); INSERT INTO menus (menu, label, value, seclev, menuorder) VALUES ('journal','Top 10','[% gSkin.rootdir %]/journal.pl?op=top',0,4); Modified: slashjp/trunk/plugins/Journal/templates/data;journal;default =================================================================== --- slashjp/trunk/plugins/Journal/templates/data;journal;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/templates/data;journal;default 2008-12-05 05:50:48 UTC (rev 866) @@ -23,16 +23,16 @@ [% CASE 'userhead' %] [% IF user.lowbandwidth %] - Journal of [% nickname | strip_literal %] ([% uid %]) + Journal of [% nickname | strip_literal %] ([% uid %]) [% ELSE %] - Journal of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Journal of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% END %] [% CASE 'friendhead' %] [% IF user.lowbandwidth %] - [% nickname | strip_literal %]'s Friends + [% nickname | strip_literal %]'s Friends [% ELSE %] - [% nickname | strip_literal %]'s Friends + [% nickname | strip_literal %]'s Friends [% END %] [% CASE 'noedit' %] Modified: slashjp/trunk/plugins/Journal/templates/friendsview;journal;default =================================================================== --- slashjp/trunk/plugins/Journal/templates/friendsview;journal;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/templates/friendsview;journal;default 2008-12-05 05:50:48 UTC (rev 866) @@ -18,8 +18,8 @@

    [% diatribe.description %]

    - Posted by [% diatribe.nickname | strip_literal %] [% user.aton %] - [% Slash.timeCalc(diatribe.date) %] (#[% diatribe.id %]) + Posted by [% diatribe.nickname | strip_literal %] [% user.aton %] + [% Slash.timeCalc(diatribe.date) %] (#[% diatribe.id %]) [% IF diatribe.discussion %]
    [% diatribe.commentcount %] Comment[% diatribe.commentcount != 1 ? "s" : "" %] Modified: slashjp/trunk/plugins/Journal/templates/generic;journal;default =================================================================== --- slashjp/trunk/plugins/Journal/templates/generic;journal;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/templates/generic;journal;default 2008-12-05 05:50:48 UTC (rev 866) @@ -56,7 +56,7 @@ [%- END %]
  • - #[% diatribe.id %] + #[% diatribe.id %]
  • Modified: slashjp/trunk/plugins/Journal/templates/journalfriends;journal;default =================================================================== --- slashjp/trunk/plugins/Journal/templates/journalfriends;journal;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/templates/journalfriends;journal;default 2008-12-05 05:50:48 UTC (rev 866) @@ -39,9 +39,9 @@ [% END %]
    - Consider [% nickname %] a Friend Friends of Friends -  [% IF user.people_bonus_fof %]([% user.people_bonus_fof %])[% ELSE %](+0)[% END %] + Consider [% nickname %] a Friend Friends of Friends +  [% IF user.people_bonus_fof %]([% user.people_bonus_fof %])[% ELSE %](+0)[% END %] - Consider [% nickname %] a Foe Foes of Friends -  [% IF user.people_bonus_eof %]([% user.people_bonus_eof %])[% ELSE %](+0)[% END %] + Consider [% nickname %] a Foe Foes of Friends +  [% IF user.people_bonus_eof %]([% user.people_bonus_eof %])[% ELSE %](+0)[% END %]
    [% FOREACH geek = mutual.${Slash.FOF} %] - [% uids_2_nicknames.$geek.nickname | strip_literal %]([% geek %]) [% PROCESS zoo_icons person=geek implied=Slash.FOF %]
    + [% uids_2_nicknames.$geek.nickname | strip_literal %]([% geek %]) [% PROCESS zoo_icons person=geek implied=Slash.FOF %]
    [% END %]  
    [% FOREACH geek = mutual.${Slash.EOF} %] - [% uids_2_nicknames.$geek.nickname | strip_literal %]([% geek %]) [% PROCESS zoo_icons person=geek implied=Slash.EOF %]
    + [% uids_2_nicknames.$geek.nickname | strip_literal %]([% geek %]) [% PROCESS zoo_icons person=geek implied=Slash.EOF %]
    [% END %]  
    - [% somebody.1 %] ([% somebody.0 %])[% PROCESS zoo_icons person=somebody.0 implied="" %]   + [% somebody.1 %] ([% somebody.0 %])[% PROCESS zoo_icons person=somebody.0 implied="" %]   - friends  + friends  - fans  + fans  [% IF somebody.2 %] -   [% Slash.timeCalc(somebody.2) %] +   [% Slash.timeCalc(somebody.2) %] [% ELSE %]    [% END %] Modified: slashjp/branches/upstream/current/plugins/Zoo/templates/zoohead;zoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/Zoo/templates/zoohead;zoo;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/plugins/Zoo/templates/zoohead;zoo;default 2008-12-05 05:46:15 UTC (rev 864) @@ -37,13 +37,13 @@ [% UNLESS page == 'relation' %] [% IF uid == user.uid && !user.is_anon %] [% ELSE %] [% END %] [% END; END %] Modified: slashjp/branches/upstream/current/sql/mysql/defaults.sql =================================================================== --- slashjp/branches/upstream/current/sql/mysql/defaults.sql 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/sql/mysql/defaults.sql 2008-12-05 05:46:15 UTC (rev 864) @@ -840,7 +840,7 @@ INSERT INTO vars (name, value, description) VALUES ('cur_performance_stats_lastid', '0', 'accesslogid to start searching at'); INSERT INTO vars (name, value, description) VALUES ('cur_performance_stats_weeks', '8', 'number of weeks back to compare current stats to'); INSERT INTO vars (name, value, description) VALUES ('currentqid',1,'The Current Question on the homepage pollbooth'); -INSERT INTO vars (name, value, description) VALUES ('cvs_tag_currentcode','T_2_5_0_231','The current cvs tag that the code was updated to - this does not affect site behavior but may be useful for your records'); +INSERT INTO vars (name, value, description) VALUES ('cvs_tag_currentcode','T_2_5_0_233','The current cvs tag that the code was updated to - this does not affect site behavior but may be useful for your records'); INSERT INTO vars (name, value, description) VALUES ('datadir','/usr/local/slash/www.example.com','What is the root of the install for Slash'); INSERT INTO vars (name, value, description) VALUES ('db_auto_increment_increment','1','If your master DB uses auto_increment_increment, i.e. multiple master replication, echo its value into this var'); INSERT INTO vars (name, value, description) VALUES ('dbsparklines_disp','0','Display dbsparklines in the currentAdminUsers box?'); Modified: slashjp/branches/upstream/current/sql/mysql/upgrades =================================================================== --- slashjp/branches/upstream/current/sql/mysql/upgrades 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/sql/mysql/upgrades 2008-12-05 05:46:15 UTC (rev 864) @@ -5695,6 +5695,25 @@ update firehose, firehose_deletedjournal set firehose.public='no' where firehose.id=firehose_deletedjournal.id; drop table firehose_deletedjournal; +# For plugins/FireHose +UPDATE firehose_view SET mode="fulltitle" where viewname="usertag"; + +# For plugins/Users2 +ALTER TABLE shill_ids ADD COLUMN extra VARCHAR(40) DEFAULT '' NOT NULL; + +# 2008-11-25 +UPDATE vars SET value = 'T_2_5_0_232' WHERE name = 'cvs_tag_currentcode'; + # SLASHDOT LAST UPDATED HERE +# for plugins/FireHose +ALTER TABLE firehose ADD INDEX uid (uid); +UPDATE menus SET value=REPLACE(value, '/~', '[% constants.real_rootdir %]/~') WHERE menu='users' AND value REGEXP '^/~'; + +# For plugins/Users2 +ALTER TABLE shill_ids ADD COLUMN skid SMALLINT DEFAULT '0' NOT NULL; + +# 2008-11-26 +UPDATE vars SET value = 'T_2_5_0_233' WHERE name = 'cvs_tag_currentcode'; + Modified: slashjp/branches/upstream/current/tagboxes/CommentScoreReason/CommentScoreReason.pm =================================================================== --- slashjp/branches/upstream/current/tagboxes/CommentScoreReason/CommentScoreReason.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/tagboxes/CommentScoreReason/CommentScoreReason.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -166,9 +166,12 @@ $top_entry_score = $firehose->getEntryPopularityForColorLevel(1); } $neediness *= $top_entry_score/$base_neediness; - # If we are only doing a certain percentage of neediness here, - # this would be the place to hash the comment cid with salt and - # drop its score to -50 unless it randomly qualified. + + # Only a certain percentage of comments are allowed to be needy. + my $percent = $constants->{tagbox_csr_needinesspercent} || 5; + my $hex_percent = int(hex(substr(md5_hex($cid), -4)) * 100 / 65536); + $neediness = -50 if $hex_percent >= $percent; + # Minimum neediness is -50. $neediness = -50 if $neediness < -50; @@ -207,14 +210,14 @@ $cid, $new_score, $reasons->{$current_reason_mode}{name}, ($karma_bonus eq 'yes' ? 1 : 0), $new_karma_bonus, $neediness); if ($firehose) { - # If it's already in the hose, don't try to re-create it -- - # that may cause unnecessary score recalculations. my $fhid = $firehose->getFireHoseIdFromGlobjid($affected_id); - if (!$fhid) { - $fhid = $self->addCommentToHoseIfAppropriate($firehose, - $affected_id, $cid, $neediness, $new_score); + if ($fhid) { + $firehose->setFireHose($fhid, { neediness => $neediness }); + } else { + # For now, this tagbox is no longer responsible for adding + # needy comments to the hose; we assume they're already + # there, and if not, we ignore. } - $firehose->setFireHose($fhid, { neediness => $neediness }) if $fhid; } $self->sqlUpdate('comments', { @@ -226,26 +229,26 @@ # XXX hex_percent should be a library function, it's used by FHEditorPop too -sub addCommentToHoseIfAppropriate { - my($self, $firehose, $globjid, $cid, $neediness, $score) = @_; - my $constants = getCurrentStatic(); +#sub addCommentToHoseIfAppropriate { +# my($self, $firehose, $globjid, $cid, $neediness, $score) = @_; +# my $constants = getCurrentStatic(); +# +# my $fhid = 0; +# +# # If neediness exceeds a threshold, the comment has a chance of appearing. +# my $min = $constants->{tagbox_csr_minneediness} || 138; +# return 0 if $neediness < $min; +# +# # Hash its cid; if the last 4 hex digits interpreted as a fraction are +# # within the range determined, add it to the hose. +# my $percent = $constants->{tagbox_csr_needinesspercent} || 5; +# my $hex_percent = int(hex(substr(md5_hex($cid), -4)) * 100 / 65536); +# return 0 if $hex_percent >= $percent; +# +# $fhid = $firehose->createUpdateItemFromComment($cid); +# +# return $fhid; +#} - my $fhid = 0; - - # If neediness exceeds a threshold, the comment has a chance of appearing. - my $min = $constants->{tagbox_csr_minneediness} || 138; - return 0 if $neediness < $min; - - # Hash its cid; if the last 4 hex digits interpreted as a fraction are - # within the range determined, add it to the hose. - my $percent = $constants->{tagbox_csr_needinesspercent} || 5; - my $hex_percent = int(hex(substr(md5_hex($cid), -4)) * 100 / 65536); - return 0 if $hex_percent >= $percent; - - $fhid = $firehose->createItemFromComment($cid); - - return $fhid; -} - 1; Modified: slashjp/branches/upstream/current/tagboxes/FHEditorPop/FHEditorPop.pm =================================================================== --- slashjp/branches/upstream/current/tagboxes/FHEditorPop/FHEditorPop.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/tagboxes/FHEditorPop/FHEditorPop.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -135,12 +135,16 @@ $color_level = $this_color_level if $this_color_level < $color_level; } } elsif ($type eq "comments") { - my $comment = $self->getComment($target_id); - my $score = Slash::Utility::Comments::constrain_score($comment->{points} + $comment->{tweak}); - if ($score >= 3) { $color_level = 4 } - elsif ($score >= 2) { $color_level = 5 } - elsif ($score >= 1) { $color_level = 6 } - else { $color_level = 7 } + if (0) { + my $comment = $self->getComment($target_id); + my $score = Slash::Utility::Comments::constrain_score($comment->{points} + $comment->{tweak}); + if ($score >= 3) { $color_level = 4 } + elsif ($score >= 2) { $color_level = 5 } + elsif ($score >= 1) { $color_level = 6 } + else { $color_level = 7 } + } else { + $color_level = 8; + } } $popularity = $firehose->getEntryPopularityForColorLevel($color_level) + $extra_pop; @@ -194,6 +198,10 @@ } } + # If color level was set to black, none of the nods matter, it just never + # shows up. + $popularity = -50 if $color_level == 8; + # If this is a comment, it normally only shows up for an editor if # it's one of a select few. if ($fhitem->{type} eq 'comment' Modified: slashjp/branches/upstream/current/tagboxes/FireHoseScores/FireHoseScores.pm =================================================================== --- slashjp/branches/upstream/current/tagboxes/FireHoseScores/FireHoseScores.pm 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/tagboxes/FireHoseScores/FireHoseScores.pm 2008-12-05 05:46:15 UTC (rev 864) @@ -194,6 +194,10 @@ $popularity += $extra_pop; } + # If color level was set to black, none of the nods matter, it just never + # shows up. + $popularity = -50 if $color_level == 8; + # If this is spam, or contains a spam URL, its score goes way down. if ($fhitem->{is_spam} eq 'yes' || $firehose_db->itemHasSpamURL($fhitem)) { my $max = defined($constants->{firehose_spam_score}) @@ -254,14 +258,19 @@ $color_level = $this_color_level if $this_color_level < $color_level; } } elsif ($type eq "comments") { - my $comment = $self->getComment($target_id); - my $score = constrain_score($comment->{points} + $comment->{tweak}); - if ($score >= 5) { - $color_level = 5; - } elsif ($score >= 2) { - $color_level = 6 + if (0) { + my $comment = $self->getComment($target_id); + my $score = constrain_score($comment->{points} + $comment->{tweak}); + if ($score >= 5) { + $color_level = 5; + } elsif ($score >= 2) { + $color_level = 6 + } else { + $color_level = 7; + } } else { - $color_level = 7; + # temporary measure + $color_level = 8; } } return($color_level, $extra_pop); Modified: slashjp/branches/upstream/current/themes/slashcode/htdocs/users2.pl =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/htdocs/users2.pl 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/htdocs/users2.pl 2008-12-05 05:46:15 UTC (rev 864) @@ -384,6 +384,10 @@ } # Figure out what the op really is. + if ($gSkin->{skid} == 36 && (! $form->{op} && ! ($form->{uid} || $form->{nick}))) { + # Default to ThinkGeek user if we're in the ThinkGeek skin + $form->{uid} = 1387321; + } $op = 'userinfo' if (! $form->{op} && ($form->{uid} || $form->{nick})); $op ||= $user->{is_anon} ? 'userlogin' : 'userinfo'; if ($user->{is_anon} && ( ($ops->{$op}{seclev} > 0) || ($op =~ /^newuserform|mailpasswdform|displayform$/) )) { @@ -1068,8 +1072,13 @@ # showInfo's header information is delayed until here, because # the target user's info is not available until here. vislenify($requested_user); + $requested_user->{shill_info} = $reader->getShillInfo($requested_user->{shill_id}); my $msg = getMessage('user_header', { useredit => $requested_user, fieldkey => $fieldkey }); - header($msg, '', { shill_id => $requested_user->{shill_id}, U2 => 1 }) or return; + header($msg, '', { + shill_id => $requested_user->{shill_id}, + shill_info => $requested_user->{shill_info}, + U2 => 1 + }) or return; # This is a hardcoded position, bad idea and should be fixed -Brian # Yeah, we should pull this into a template somewhere... print getMessage('note', { note => $hr->{note} }) if defined $hr->{note}; @@ -1359,6 +1368,18 @@ my $tagshist; if ($tags_reader) { $tagshist = $tags_reader->getGroupedTagsFromUser($requested_user->{uid}, { orderby => 'created_at', orderdir => 'DESC', include_private => 1, limit => 100 }); + # This prevents the slashbox from being populated with only private tags, + # which leaves it visible but empty for non-admins. + my $all_private = 1; + if ($tagshist && !$user->{is_admin}) { + foreach my $tag (keys %$tagshist) { + if (!$tagshist->{$tag}->[0]->{private}) { + $all_private = 0; + last; + } + } + $tagshist = '' if ($all_private); + } } # Comments slashbox @@ -1414,13 +1435,9 @@ $not_fhid = $users2->getMarqueeFireHoseId($marquee); } - if ($form->{dp} eq 'firehose' || $form->{dp} =~ /^journal/ || $form->{dp} eq 'submissions' || $form->{dp} eq 'bookmarks' || $form->{dp} eq 'usertag') { + if ($main_view || $form->{dp} eq 'firehose' || $form->{dp} =~ /^journal/ || $form->{dp} eq 'submissions' || $form->{dp} eq 'bookmarks' || $form->{dp} eq 'usertag') { $form->{listonly} = 1; - $form->{mode} = "full"; - $form->{color} = "black"; - $form->{orderby} = "createtime"; - $form->{orderdir} = "DESC"; $form->{skipmenu} = 1; } Modified: slashjp/branches/upstream/current/themes/slashcode/templates/currentAdminUsers;misc;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/currentAdminUsers;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/currentAdminUsers;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -28,7 +28,7 @@ %]
    - [% id %] + [% id %] [% lastsecs %] [% IF lastsecs and lasttitle %] / [% lasttitle %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/dispStory;misc;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/dispStory;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/dispStory;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -56,7 +56,7 @@ thisjournal = journal.get(story.journal_id); IF thisjournal && thisjournal.uid; thisuser = Slash.db.getUser(thisjournal.uid); %] - Journal written by [% thisuser.nickname | strip_literal %] ([% thisjournal.uid %]) and [% ELSIF story.by %] Written by [% story.by | strip_literal %] and [% Modified: slashjp/branches/upstream/current/themes/slashcode/templates/friendsview;index;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/friendsview;index;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/friendsview;index;default 2008-12-05 05:46:15 UTC (rev 864) @@ -17,7 +17,7 @@ __template__ __seclev__ Modified: slashjp/branches/upstream/current/themes/slashcode/templates/linkrel;misc;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/linkrel;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/linkrel;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -67,7 +67,7 @@ ELSIF env.script_name.search('journal\.pl'); IF link.uid && link.nickname; tmp = BLOCK -%] - + [%- END; linkrels.push(tmp); tmp = BLOCK -%] [%- END; linkrels.push(tmp); tmp = BLOCK -%] @@ -89,7 +89,7 @@ ELSIF env.script_name.search('messages\.pl'); IF !user.is_anon; tmp = BLOCK -%] - + [%- END; linkrels.push(tmp); END; ELSIF env.script_name.search('bookmark\.pl'); tmp = BLOCK -%] @@ -101,7 +101,7 @@ ELSE; # default author link, where author is a nickname IF link.author; tmp = BLOCK -%] - + [%- END; linkrels.push(tmp); END; END %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/printCommNoArchive;misc;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/printCommNoArchive;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/printCommNoArchive;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -24,7 +24,7 @@ [% ELSE %] [%- d_nickname = Slash.db.getUser(discussion.uid, 'nickname') -%] [%- msg = BLOCK -%] -This discussion was created[% IF discussion.uid %] by [% d_nickname %] ([% discussion.uid %])[% END %] as +This discussion was created[% IF discussion.uid %] by [% d_nickname %] ([% discussion.uid %])[% END %] as [%- END -%] [% IF discussion.commentstatus == 'friends_only' %] [% type = "Friends only" %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2MainView;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2MainView;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2MainView;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -29,7 +29,8 @@ [% END %] -[% PROCESS u2Menu +[% PROCESS u2Menu + main_view=main_view data_pane=data_pane comments_size=latest_comments.size journals_size=latest_journals.size @@ -45,6 +46,7 @@ [% PROCESS u2UserBoxes latest_comments=latest_comments + reasons=reasons latest_journals=latest_journals latest_submissions=latest_submissions latest_bookmarks=latest_bookmarks @@ -117,7 +119,7 @@ ELSIF tagshist.$tag.0.globj_type == "journals"; nick = Slash.db.getUser(tagshist.$tag.0.journal.uid, 'nickname'); ' [% relations_datapane %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2Menu;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2Menu;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2Menu;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -15,14 +15,15 @@ [% tilde = '^'; IF constants.u2; tilde = '~'; END; %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBio;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBio;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBio;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -21,7 +21,8 @@
    [% IF user.uid == useredit.uid OR user.is_admin; - IF useredit.realname; useredit.realname | strip_literal; ELSE; '(no real name given)
    '; END; + IF useredit.realname; useredit.realname | strip_literal; ELSE; '(no real name given)'; END; + '
    '; ''; Slash.ellipsify(Slash.strip_literal(useredit.realemail)); ''; @@ -39,7 +40,6 @@ '(email not shown publicly)'; END; ELSE; - '
      '; IF useredit.fakeemail; ''; Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBoxes;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBoxes;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBoxes;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -12,16 +12,35 @@ __name__ u2UserBoxes __template__ +[% tilde = '^'; IF constants.u2; tilde = '~'; END; %] [% IF latest_comments.size != 0 %]
      [% FOREACH cid = latest_comments.keys.sort %] -
    • [% latest_comments.$cid.subject %]
    • + [% + reason_num = ''; + reason_text = ''; + IF latest_comments.$cid.points > 1; + reason_num = latest_comments.$cid.reason; + reason_text = reasons.$reason_num.name; + END; + %] +
    • [% latest_comments.$cid.subject %] + [% + IF latest_comments.$cid.points > 1; + ' (Score:';latest_comments.$cid.points; + IF reason_text != 'Normal'; + ', ';reason_text; + END; + ')'; + END; + %] +
    • [% END %]
    @@ -31,12 +50,12 @@ [% IF latest_journals.size != 0 %]
    -

    Journal Entries

    +

    Journal Entries

    @@ -46,7 +65,7 @@ [% IF latest_submissions.size != 0 %]
    -

    Submissions

    +

    Submissions

    @@ -62,7 +81,7 @@ [% IF latest_bookmarks.size != 0 %]
    -

    Bookmarks

    +

    Bookmarks

    @@ -82,13 +101,13 @@ [% IF latest_friends.size != 0 %]
    -

    Friends

    +

    Friends

    @@ -98,7 +117,7 @@ [% IF tagshist.size > 2 %]
    -

    Tags

    +

    Tags

    @@ -108,7 +127,7 @@ [% LAST IF tags_counter == 5 %] [% NEXT IF !is_admin && tagshist.$tag.0.private == 1 %]
  • - [% tagshist.$tag.0.tagname %] ([% tagshist.$tag.0.globj_type %]) + [% tagshist.$tag.0.tagname %] ([% tagshist.$tag.0.globj_type %])
  • [% tags_counter = tags_counter + 1 %] [% END %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/udiscuss_list;comments;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/udiscuss_list;comments;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/udiscuss_list;comments;default 2008-12-05 05:46:15 UTC (rev 864) @@ -25,7 +25,7 @@ [% nickname = Slash.db.getUser(discussion.uid, 'nickname') %]
  • [% IF discussion.title.defined %][% discussion.title %][% ELSE %]untitled[% END %] - created by [% nickname %] on [% Slash.timeCalc(discussion.ts) %] + created by [% nickname %] on [% Slash.timeCalc(discussion.ts) %] [% END %]

    Modified: slashjp/branches/upstream/current/themes/slashcode/templates/userInfo2;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/userInfo2;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/userInfo2;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -170,7 +170,7 @@

    @@ -218,7 +218,7 @@
    Modified: slashjp/branches/upstream/current/themes/slashcode/templates/userInfo;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/userInfo;users;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/userInfo;users;default 2008-12-05 05:46:15 UTC (rev 864) @@ -64,7 +64,7 @@ [% PROCESS titlebar title="Last Journal Entry" %] [% Slash.createMenu("journal", style => "tabbed") %] - + [% lastjournal.description | strip_notags %] , Modified: slashjp/branches/upstream/current/themes/slashcode/templates/user_titlebar;misc;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/user_titlebar;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/user_titlebar;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -27,91 +27,91 @@ url_nick = useredit.nickname | strip_paramattr; zi = PROCESS zoo_icons person=uid implied=""; title = title || - "$thisnickname ($uid) $zi"; + "$thisnickname ($uid) $zi"; PROCESS titlebar title=title; END %] [% tabs = [ ]; IF user.uid == uid; tabs = [ - { link = "/~$url_nick/", label = "Info", sel_label = "info" }, + { link = "$constants.real_rootdir/~$url_nick/", label = "Info", sel_label = "info" }, ]; IF constants.plugin.Journal; tabs.push( - { link = "/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, + { link = "$constants.real_rootdir/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, ); END; IF constants.plugin.FireHose; tabs.push( - { link = "/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, + { link = "$constants.real_rootdir/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, ); END; IF constants.plugin.Messages; tabs.push( - { link = "/my/inbox/", label = "Messages", sel_label = "messages" }, + { link = "$constants.real_rootdir/my/inbox/", label = "Messages", sel_label = "messages" }, ); END; IF constants.plugin.Zoo; tabs.push( - { link = "/my/friends/", label = "Friends", sel_label = "friends" }, + { link = "$constants.real_rootdir/my/friends/", label = "Friends", sel_label = "friends" }, ); tabs.push( - { link = "/my/fans/", label = "Fans", sel_label = "fans" }, + { link = "$constants.real_rootdir/my/fans/", label = "Fans", sel_label = "fans" }, ); tabs.push( - { link = "/my/foes/", label = "Foes", sel_label = "foes" }, + { link = "$constants.real_rootdir/my/foes/", label = "Foes", sel_label = "foes" }, ); tabs.push( - { link = "/my/freaks/", label = "Freaks", sel_label = "freaks" }, + { link = "$constants.real_rootdir/my/freaks/", label = "Freaks", sel_label = "freaks" }, ); END; IF constants.plugin.Tags; tabs.push( - { link = "/my/tags/", label = "Tags", sel_label = "tags" }, + { link = "$constants.real_rootdir/my/tags/", label = "Tags", sel_label = "tags" }, ); END; IF constants.plugin.Bookmark; tabs.push( - { link = "/my/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, + { link = "$constants.real_rootdir/my/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, ); END; ELSIF user.is_anon; tabs = [ - { link = "/~$url_nick/", label = "Info", sel_label = "info" }, + { link = "$constants.real_rootdir/~$url_nick/", label = "Info", sel_label = "info" }, ]; IF constants.plugin.Journal; tabs.push( - { link = "/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, + { link = "$constants.real_rootdir/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, ); END; IF constants.plugin.FireHose; tabs.push( - { link = "/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, + { link = "$constants.real_rootdir/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, ); END; IF constants.plugin.Zoo; tabs.push( - { link = "/~$url_nick/friends/",label = "Friends", sel_label = "friends" }, + { link = "$constants.real_rootdir/~$url_nick/friends/",label = "Friends", sel_label = "friends" }, ); tabs.push( - { link = "/~$url_nick/fans/", label = "Fans", sel_label = "fans" }, + { link = "$constants.real_rootdir/~$url_nick/fans/", label = "Fans", sel_label = "fans" }, ); tabs.push( - { link = "/~$url_nick/foes/", label = "Foes", sel_label = "foes" }, + { link = "$constants.real_rootdir/~$url_nick/foes/", label = "Foes", sel_label = "foes" }, ); tabs.push( - { link = "/~$url_nick/freaks/", label = "Freaks", sel_label = "freaks" }, + { link = "$constants.real_rootdir/~$url_nick/freaks/", label = "Freaks", sel_label = "freaks" }, ); END; IF constants.plugin.Tags; tabs.push( - { link = "/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, + { link = "$constants.real_rootdir/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, ); END; IF constants.plugin.Bookmark; tabs.push( - { link = "/~$url_nick/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, + { link = "$constants.real_rootdir/~$url_nick/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, ); END; ELSE; tabs = [ - { link = "/~$url_nick/", label = "Info", sel_label = "info" }, + { link = "$constants.real_rootdir/~$url_nick/", label = "Info", sel_label = "info" }, ]; IF constants.plugin.Zoo; tabs.push( { link = "/zoo.pl?op=check&uid=$uid", label = "Relation", sel_label = "relation" }, ); END; IF constants.plugin.Journal; tabs.push( - { link = "/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, + { link = "$constants.real_rootdir/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, ); END; IF constants.plugin.FireHose; tabs.push( - { link = "/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, + { link = "$constants.real_rootdir/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, ); END; IF constants.plugin.Zoo; tabs.push( - { link = "/~$url_nick/friends/",label = "Friends", sel_label = "friends" }, + { link = "$constants.real_rootdir/~$url_nick/friends/",label = "Friends", sel_label = "friends" }, ); tabs.push( - { link = "/~$url_nick/fans/", label = "Fans", sel_label = "fans" }, + { link = "$constants.real_rootdir/~$url_nick/fans/", label = "Fans", sel_label = "fans" }, ); tabs.push( - { link = "/~$url_nick/foes/", label = "Foes", sel_label = "foes" }, + { link = "$constants.real_rootdir/~$url_nick/foes/", label = "Foes", sel_label = "foes" }, ); tabs.push( - { link = "/~$url_nick/freaks/", label = "Freaks", sel_label = "freaks" }, + { link = "$constants.real_rootdir/~$url_nick/freaks/", label = "Freaks", sel_label = "freaks" }, ); END; IF constants.plugin.Tags; tabs.push( - { link = "/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, + { link = "$constants.real_rootdir/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, ); END; IF constants.plugin.Bookmark; tabs.push( - { link = "/~$url_nick/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, + { link = "$constants.real_rootdir/~$url_nick/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, ); END; END %]
    Modified: slashjp/branches/upstream/current/themes/slashcode/templates/userboxes2;misc;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/userboxes2;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/userboxes2;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -25,7 +25,7 @@ title = 'User Bio'; contents = BLOCK; - ''; useredit.nickname | strip_literal; ' '; PROCESS zoo_icons person=useredit.uid implied=""; Modified: slashjp/branches/upstream/current/themes/slashcode/templates/userboxes;misc;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/userboxes;misc;default 2008-12-04 10:59:09 UTC (rev 863) +++ slashjp/branches/upstream/current/themes/slashcode/templates/userboxes;misc;default 2008-12-05 05:46:15 UTC (rev 864) @@ -61,7 +61,7 @@ title = useredit.nickname | strip_literal; title = title _ " ($useredit.uid)"; contents = BLOCK; - ''; useredit.nickname | strip_literal; ' '; PROCESS zoo_icons person=useredit.uid implied=""; @@ -166,7 +166,7 @@ IF user.points || user.is_admin; title = "Moderation"; contents = BLOCK %] -You +You have moderator access [% IF user.is_admin %](because you're an admin)[% END %] and [% user.points %] point[% user.points == 1 ? '' : 's' %] From svnnotify @ sourceforge.jp Fri Dec 5 14:46:32 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 05 Dec 2008 14:46:32 +0900 Subject: [Slashdotjp-dev 1334] [865] add upstream 2.5.0.233 branch Message-ID: <1228455992.278627.9766.nullmailer@users.sourceforge.jp> Revision: 865 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=865 Author: tach Date: 2008-12-05 14:46:32 +0900 (Fri, 05 Dec 2008) Log Message: ----------- add upstream 2.5.0.233 branch Added Paths: ----------- slashjp/branches/upstream/2.5.0.233/ -------------- next part -------------- Copied: slashjp/branches/upstream/2.5.0.233 (from rev 864, slashjp/branches/upstream/current) From svnnotify @ sourceforge.jp Fri Dec 5 14:50:48 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 05 Dec 2008 14:50:48 +0900 Subject: [Slashdotjp-dev 1335] [866] merged from upstream/2.5.0.233 branch Message-ID: <1228456248.726039.14297.nullmailer@users.sourceforge.jp> Revision: 866 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=866 Author: tach Date: 2008-12-05 14:50:48 +0900 (Fri, 05 Dec 2008) Log Message: ----------- merged from upstream/2.5.0.233 branch Modified Paths: -------------- slashjp/trunk/Slash/Apache/Apache.pm slashjp/trunk/Slash/Apache/User/User.pm slashjp/trunk/Slash/DB/MySQL/MySQL.pm slashjp/trunk/Slash/Utility/Display/Display.pm slashjp/trunk/plugins/Admin/templates/peer_weights;admin;default slashjp/trunk/plugins/Admin/templates/recent_subs;admin;default slashjp/trunk/plugins/Ajax/htdocs/images/common.js slashjp/trunk/plugins/Bookmark/templates/userbookmarks;users;default slashjp/trunk/plugins/FireHose/FireHose.pm slashjp/trunk/plugins/FireHose/firehose.pl slashjp/trunk/plugins/FireHose/mysql_dump.sql slashjp/trunk/plugins/FireHose/mysql_schema.sql slashjp/trunk/plugins/FireHose/templates/data;firehose;default slashjp/trunk/plugins/FireHose/templates/formatHoseTitle;misc;default slashjp/trunk/plugins/FireHose/templates/list;firehose;default slashjp/trunk/plugins/FireHose/templates/paginate;firehose;default slashjp/trunk/plugins/Hof/templates/main;hof;default slashjp/trunk/plugins/Journal/dump slashjp/trunk/plugins/Journal/templates/data;journal;default slashjp/trunk/plugins/Journal/templates/friendsview;journal;default slashjp/trunk/plugins/Journal/templates/generic;journal;default slashjp/trunk/plugins/Journal/templates/journalfriends;journal;default slashjp/trunk/plugins/Journal/templates/journallist;journal;default slashjp/trunk/plugins/Journal/templates/journaltop;journal;default slashjp/trunk/plugins/Journal/templates/messagenew;journal;default slashjp/trunk/plugins/Journal/templates/slashdot;journal;default slashjp/trunk/plugins/Messages/templates/zoo_msg;zoo;default slashjp/trunk/plugins/Search/templates/journalsearch;search;default slashjp/trunk/plugins/Search/templates/usersearch;search;default slashjp/trunk/plugins/SearchToo/templates/journalsearch;searchtoo;default slashjp/trunk/plugins/SearchToo/templates/usersearch;searchtoo;default slashjp/trunk/plugins/Tags/Tags.pm slashjp/trunk/plugins/Tags/templates/taghistory;misc;default slashjp/trunk/plugins/Tags/templates/usertaghistory;users;default slashjp/trunk/plugins/Tags/templates/usertags;users;default slashjp/trunk/plugins/Tags/templates/usertagsforname;users;default slashjp/trunk/plugins/Users2/Users2.pm slashjp/trunk/plugins/Zoo/templates/alllist;zoo;default slashjp/trunk/plugins/Zoo/templates/confirm;zoo;default slashjp/trunk/plugins/Zoo/templates/data;zoo;default slashjp/trunk/plugins/Zoo/templates/plainlist;zoo;default slashjp/trunk/plugins/Zoo/templates/zoohead;zoo;default slashjp/trunk/sql/mysql/defaults.sql slashjp/trunk/sql/mysql/upgrades slashjp/trunk/tagboxes/CommentScoreReason/CommentScoreReason.pm slashjp/trunk/tagboxes/FHEditorPop/FHEditorPop.pm slashjp/trunk/tagboxes/FireHoseScores/FireHoseScores.pm slashjp/trunk/themes/slashcode/htdocs/users2.pl slashjp/trunk/themes/slashcode/templates/currentAdminUsers;misc;default slashjp/trunk/themes/slashcode/templates/dispStory;misc;default slashjp/trunk/themes/slashcode/templates/friendsview;index;default slashjp/trunk/themes/slashcode/templates/linkrel;misc;default slashjp/trunk/themes/slashcode/templates/printCommNoArchive;misc;default slashjp/trunk/themes/slashcode/templates/u2MainView;users;default slashjp/trunk/themes/slashcode/templates/u2Menu;users;default slashjp/trunk/themes/slashcode/templates/u2UserBio;users;default slashjp/trunk/themes/slashcode/templates/u2UserBoxes;users;default slashjp/trunk/themes/slashcode/templates/udiscuss_list;comments;default slashjp/trunk/themes/slashcode/templates/userInfo2;users;default slashjp/trunk/themes/slashcode/templates/userInfo;users;default slashjp/trunk/themes/slashcode/templates/user_titlebar;misc;default slashjp/trunk/themes/slashcode/templates/userboxes2;misc;default slashjp/trunk/themes/slashcode/templates/userboxes;misc;default -------------- next part -------------- Modified: slashjp/trunk/Slash/Apache/Apache.pm =================================================================== --- slashjp/trunk/Slash/Apache/Apache.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/Slash/Apache/Apache.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -464,7 +464,7 @@ my $basedir = $constants->{basedir}; # $USER_MATCH defined above - if ($dbon && ($is_user || $has_daypass)) { + if ($dbon && ($is_user || $has_daypass || $gSkin->{index_handler} =~ /^users/)) { $r->uri($uri . $gSkin->{index_handler}); $r->filename("$basedir/$gSkin->{index_handler}"); # URI->filname conversion done, don't continue Modified: slashjp/trunk/Slash/Apache/User/User.pm =================================================================== --- slashjp/trunk/Slash/Apache/User/User.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/Slash/Apache/User/User.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -673,23 +673,17 @@ } elsif ($logged_in) { $found_the_op = 1; if ($op eq 'journal') { - if ($constants->{u2}) { - $r->args("op=userinfo&dp=journal"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); + my $args; + if ($extra =~ /^\d+$/) { + $args = "id=$extra&op=edit"; + } elsif ($extra eq 'friends') { + $args = "op=friendview"; } else { - my $args; - if ($extra =~ /^\d+$/) { - $args = "id=$extra&op=edit"; - } elsif ($extra eq 'friends') { - $args = "op=friendview"; - } else { - $args = "op=list"; - } - $r->args($args); - $r->uri('/journal.pl'); - $r->filename($constants->{basedir} . '/journal.pl'); + $args = "op=list"; } + $r->args($args); + $r->uri('/journal.pl'); + $r->filename($constants->{basedir} . '/journal.pl'); } elsif ($op eq 'discussions') { $r->args("op=personal_index"); @@ -703,48 +697,25 @@ $r->filename($constants->{basedir} . '/messages.pl'); } elsif ($op =~ /^(?:friends|fans|freaks|foes|zoo)$/) { - if ($constants->{u2}) { - $extra .= '/'; + my $args = "op=$op"; + $extra .= '/'; - if ($op eq 'friends' && $extra =~ s/^friends\///) { - $op =~ s/friends/fof/; - } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { - $op =~ s/friends/eof/; - } elsif ($op eq 'zoo') { - $op =~ s/zoo/all/; - } - - my $args = "op=userinfo&dp=$op"; - $r->args($args); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - my $args = "op=$op"; - $extra .= '/'; - - if ($op eq 'friends' && $extra =~ s/^friends\///) { - $args =~ s/friends/fof/; - } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { - $args =~ s/friends/eof/; - } elsif ($op eq 'zoo') { - $args =~ s/zoo/all/; - } - - $r->args($args); - $r->uri('/zoo.pl'); - $r->filename($constants->{basedir} . '/zoo.pl'); + if ($op eq 'friends' && $extra =~ s/^friends\///) { + $args =~ s/friends/fof/; + } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { + $args =~ s/friends/eof/; + } elsif ($op eq 'zoo') { + $args =~ s/zoo/all/; } + $r->args($args); + $r->uri('/zoo.pl'); + $r->filename($constants->{basedir} . '/zoo.pl'); + } elsif ($op eq 'comments') { - if ($constants->{u2}) { - $r->args("op=userinfo&dp=comments"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("op=editcomm"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } + $r->args("op=editcomm"); + $r->uri('/users.pl'); + $r->filename($constants->{basedir} . '/users.pl'); } elsif ($op eq 'homepage') { $r->args("op=edithome"); @@ -772,42 +743,23 @@ $r->filename($constants->{basedir} . '/journal.pl'); } elsif ($op eq 'tags') { - if ($constants->{u2}) { - $r->args("op=userinfo&dp=tags"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - my $args = 'op=showtags'; - # XXX "!" is a 'reserved' char in URI, escape it here? - $args .= "&tagname=$extra" if $extra; - $r->args($args); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } + my $args = 'op=showtags'; + # XXX "!" is a 'reserved' char in URI, escape it here? + $args .= "&tagname=$extra" if $extra; + $r->args($args); + $r->uri('/users.pl'); + $r->filename($constants->{basedir} . '/users.pl'); } elsif ($op eq 'bookmarks') { - if ($constants->{u2}) { - $r->args("op=userinfo&dp=bookmarks"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("op=showbookmarks"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } + $r->args("op=showbookmarks"); + $r->uri('/users.pl'); + $r->filename($constants->{basedir} . '/users.pl'); } elsif ($op eq 'firehose') { - if ($constants->{u2}) { - my $filter = fixparam("user:"); - $r->args("op=userinfo&dp=firehose"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - my $filter = fixparam("user:"); - $r->args("op=userfirehose"); - $r->uri('users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } + my $filter = fixparam("user:"); + $r->args("op=userfirehose"); + $r->uri('users.pl'); + $r->filename($constants->{basedir} . '/users.pl'); } elsif ($op eq 'preferences') { $r->args("op=displayprefs"); Modified: slashjp/trunk/Slash/DB/MySQL/MySQL.pm =================================================================== --- slashjp/trunk/Slash/DB/MySQL/MySQL.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/Slash/DB/MySQL/MySQL.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -350,6 +350,7 @@ sub createComment { my($self, $comment) = @_; return -1 unless dbAvailable("write_comments"); + my $constants = getCurrentStatic(); my $comment_text = $comment->{comment}; delete $comment->{comment}; $comment->{signature} = md5_hex(encode_utf8($comment_text)); @@ -437,6 +438,11 @@ # $searchtoo->storeRecords(comments => $cid, { add => 1 }); } + my $firehose = getObject('Slash::FireHose'); + if ($firehose && !isAnon($comment->{uid})) { + $firehose->createUpdateItemFromComment($cid); + } + return $cid; } @@ -12464,7 +12470,7 @@ my $fixnick = $journaldata_hr->{$id}{nickname}; if (!defined $fixnick) { print STDERR scalar(gmtime) . " _addGlobjEssentials_journals no nick for journal $id\n"; } $fixnick = fixparam($fixnick || ''); - $data_hr->{$globjid}{url} = "$constants->{rootdir}/~$fixnick/journal/$id"; + $data_hr->{$globjid}{url} = "$constants->{real_rootdir}/~$fixnick/journal/$id"; $data_hr->{$globjid}{title} = $journaldata_hr->{$id}{description}; $data_hr->{$globjid}{created_at} = $journaldata_hr->{$id}{date}; } @@ -12906,6 +12912,14 @@ return $story_link_ar->[0]; } +sub getShillInfo { + my($self, $shill_id) = @_; + my $shill_id_q = $self->sqlQuote($shill_id); + + return $self->sqlSelectHashref('*', 'shill_ids', "shill_id=$shill_id_q"); + +} + ######################################################## sub DESTROY { my($self) = @_; Modified: slashjp/trunk/Slash/Utility/Display/Display.pm =================================================================== --- slashjp/trunk/Slash/Utility/Display/Display.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/Slash/Utility/Display/Display.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -1184,7 +1184,7 @@ my $nick_fix = fixparam($ll_nick); my $nick_attribute = strip_attribute($ll_nick); push @$menu_items, { - value => "$gSkin->{rootdir}/~$nick_fix", + value => "$gSkin->{real_rootdir}/~$nick_fix", label => "~$nick_attribute ($user->{lastlookuid})", sel_label => "otheruser", menuorder => 99999, Modified: slashjp/trunk/plugins/Admin/templates/peer_weights;admin;default =================================================================== --- slashjp/trunk/plugins/Admin/templates/peer_weights;admin;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Admin/templates/peer_weights;admin;default 2008-12-05 05:50:48 UTC (rev 866) @@ -33,10 +33,10 @@ uidB = uidsB.$i %]
  • [% ordA.$uidA %].[% nickname.$uidA | strip_nohtml %][% nickname.$uidA | strip_nohtml %] [% weightA.$uidA %] [% ordB.$uidB %].[% nickname.$uidB | strip_nohtml %][% nickname.$uidB | strip_nohtml %] [% weightB.$uidB %]
    [% sub.spid %][% sub.nickname | strip_literal %] ([% sub.uid %]) [% sub.email | strip_literal %]
    [% FOREACH friend = friends %] - + [% IF friend.2 %] - + [% ELSE %] Modified: slashjp/trunk/plugins/Journal/templates/journallist;journal;default =================================================================== --- slashjp/trunk/plugins/Journal/templates/journallist;journal;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/templates/journallist;journal;default 2008-12-05 05:50:48 UTC (rev 866) @@ -39,7 +39,7 @@ [% FOREACH article = articles %] - + [%- IF showform %] Modified: slashjp/trunk/plugins/Journal/templates/journaltop;journal;default =================================================================== --- slashjp/trunk/plugins/Journal/templates/journaltop;journal;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/templates/journaltop;journal;default 2008-12-05 05:50:48 UTC (rev 866) @@ -36,7 +36,7 @@ [% FOREACH journal = journals %] - + Modified: slashjp/trunk/plugins/Journal/templates/messagenew;journal;default =================================================================== --- slashjp/trunk/plugins/Journal/templates/messagenew;journal;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/templates/messagenew;journal;default 2008-12-05 05:50:48 UTC (rev 866) @@ -13,7 +13,7 @@ __template__ [% IF msg.mode == 1 %] - + [% ELSE %] Modified: slashjp/trunk/plugins/Journal/templates/slashdot;journal;default =================================================================== --- slashjp/trunk/plugins/Journal/templates/slashdot;journal;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Journal/templates/slashdot;journal;default 2008-12-05 05:50:48 UTC (rev 866) @@ -31,7 +31,7 @@ [%- END; ELSIF user.uid == uid %] Enable Comments | [%- END %] - #[% diatribe.id %] + #[% diatribe.id %] ] Modified: slashjp/trunk/plugins/Messages/templates/zoo_msg;zoo;default =================================================================== --- slashjp/trunk/plugins/Messages/templates/zoo_msg;zoo;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Messages/templates/zoo_msg;zoo;default 2008-12-05 05:50:48 UTC (rev 866) @@ -17,17 +17,17 @@

    [% IF type == 'friend' || type == 'foe' || type == 'bitch' %] -[% zoo_user.nickname | strip_literal %] ([% zoo_user.uid %]) has made you their [% type %]. [% ELSIF type == 'neutral' %] -[% zoo_user.nickname | strip_literal %] ([% zoo_user.uid %]) has ceased their relationship with you. [% END %]

    If you'd like to, view or edit your -friends and -foes. +friends and +foes. [% ELSE %] Modified: slashjp/trunk/plugins/Search/templates/journalsearch;search;default =================================================================== --- slashjp/trunk/plugins/Search/templates/journalsearch;search;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Search/templates/journalsearch;search;default 2008-12-05 05:50:48 UTC (rev 866) @@ -16,7 +16,7 @@ [% FOREACH journal=entries %]

    - [% journal.description %] + [% journal.description %]

    On [% Slash.timeCalc(journal.date) %] @@ -25,7 +25,7 @@ [% journal.article %]
    [% IF journal.score %]
    Modified: slashjp/trunk/plugins/Search/templates/usersearch;search;default =================================================================== --- slashjp/trunk/plugins/Search/templates/usersearch;search;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Search/templates/usersearch;search;default 2008-12-05 05:50:48 UTC (rev 866) @@ -21,7 +21,7 @@ [% END %]
  • - [% thisuser.nickname | strip_literal %]   + [% thisuser.nickname | strip_literal %]   [% IF thisuser.fakeemail %] ([% thisuser.uid %]) email: [% thisuser.fakeemail | strip_literal %] [% ELSE %] @@ -30,7 +30,7 @@
  • [% IF thisuser.journal_last_entry_date %]
  • - Last Journal entry [% Slash.timeCalc(thisuser.journal_last_entry_date) %] + Last Journal entry [% Slash.timeCalc(thisuser.journal_last_entry_date) %]
  • [% END %] [% UNLESS user.is_anon %] Modified: slashjp/trunk/plugins/SearchToo/templates/journalsearch;searchtoo;default =================================================================== --- slashjp/trunk/plugins/SearchToo/templates/journalsearch;searchtoo;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/SearchToo/templates/journalsearch;searchtoo;default 2008-12-05 05:50:48 UTC (rev 866) @@ -12,11 +12,11 @@ journalsearch __template__ [% FOREACH journal=results.records %] - [% journal.description %]
    + [% journal.description %]
    On [% Slash.timeCalc(journal.date) %]
    [% shorten( Slash.strip_notags(journal.article) ) %]
    - Author: [% journal.nickname | strip_literal %] + Author: [% journal.nickname | strip_literal %] [% IF journal.score %]
    Score: ([% journal.score %]) [% END %] Modified: slashjp/trunk/plugins/SearchToo/templates/usersearch;searchtoo;default =================================================================== --- slashjp/trunk/plugins/SearchToo/templates/usersearch;searchtoo;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/SearchToo/templates/usersearch;searchtoo;default 2008-12-05 05:50:48 UTC (rev 866) @@ -20,7 +20,7 @@ [% END %]
    [% IF thisuser.journal_last_entry_date %] [% ELSE %] - + Modified: slashjp/trunk/plugins/Tags/templates/usertaghistory;users;default =================================================================== --- slashjp/trunk/plugins/Tags/templates/usertaghistory;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Tags/templates/usertaghistory;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -27,7 +27,7 @@ [% tag.url.bookmark.title || tag.url.validtitle || tag.url.initialtitle | strip_literal %] [% ELSIF tag.globj_type == "journals" %] [% nick = Slash.db.getUser(tag.journal.uid, 'nickname') %] - [% tag.journal.description | strip_literal %] + [% tag.journal.description | strip_literal %] [% ELSIF tag.globj_type == "submissions" %] [% tag.submission.subj | strip_literal %] [% END %] Modified: slashjp/trunk/plugins/Tags/templates/usertags;users;default =================================================================== --- slashjp/trunk/plugins/Tags/templates/usertags;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Tags/templates/usertags;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -18,9 +18,9 @@ __template__ [% thisnickname = useredit.nickname | strip_literal; url_nick = useredit.nickname | strip_paramattr; - url_base = "$gSkin.rootdir/~$url_nick/"; + url_base = "$constants.real_rootdir/~$url_nick/"; uid = useredit.uid; - title = "Tags by $thisnickname ($uid)"; + title = "Tags by $thisnickname ($uid)"; PROCESS user_titlebar tab_selected='tags' %] [% IF user.tags_canread_stories && tags_grouped.keys.size %] @@ -38,7 +38,7 @@ [% tag.url.bookmark.title || tag.url.validtitle || tag.url.initialtitle | strip_literal %] [% ELSIF tag.globj_type == "journals" %] [% nick = Slash.db.getUser(tag.journal.uid, 'nickname') %] - [% tag.journal.description | strip_literal %] + [% tag.journal.description | strip_literal %] [% END %] Modified: slashjp/trunk/plugins/Tags/templates/usertagsforname;users;default =================================================================== --- slashjp/trunk/plugins/Tags/templates/usertagsforname;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Tags/templates/usertagsforname;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -20,9 +20,9 @@ thistagname = tagname | strip_literal; url_nick = useredit.nickname | strip_paramattr; url_tagname = tagname | strip_paramattr; - url_base = "$gSkin.rootdir/~$url_nick/"; + url_base = "$constants.real_rootdir/~$url_nick/"; uid = useredit.uid; - title = "Items tagged $thistagname by $thisnickname ($uid)"; + title = "Items tagged $thistagname by $thisnickname ($uid)"; UNLESS notitle; PROCESS user_titlebar tab_selected='tags'; END; %] [% IF user.tags_canread_stories && tags.size %] @@ -37,7 +37,7 @@ [% tag.url.bookmark.title || tag.url.validtitle || tag.url.initialtitle | strip_literal %] [% ELSIF tag.globj_type == "journals" %] [% nick = Slash.db.getUser(tag.journal.uid, 'nickname') %] - [% tag.journal.description | strip_literal %] + [% tag.journal.description | strip_literal %] [% END %] Modified: slashjp/trunk/plugins/Users2/Users2.pm =================================================================== --- slashjp/trunk/plugins/Users2/Users2.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Users2/Users2.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -34,7 +34,7 @@ my $uid_q = $self->sqlQuote($uid); return $self->sqlSelectAllHashref( 'cid', - "sid, cid, subject, UNIX_TIMESTAMP(date) as date", + "sid, cid, subject, points, reason, UNIX_TIMESTAMP(date) as date", 'comments', "uid = $uid_q", 'order by date desc limit 5'); @@ -95,10 +95,10 @@ # Get the latest n bookmarks. These could be contained in journals and # submissions, so we want journal size + submissions size + 5. - my $num_bookmarks = scalar(keys %$latest_journals) + scalar(keys %$latest_submissions) + 5; + #my $num_bookmarks = scalar(keys %$latest_journals) + scalar(keys %$latest_submissions) + 5; my $uid_q = $self->sqlQuote($uid); my $bookmarks_reader = getObject('Slash::Bookmark'); - my $latest_bookmarks = $bookmarks_reader->getRecentBookmarksByUid($uid_q, $num_bookmarks); + my $latest_bookmarks = $bookmarks_reader->getRecentBookmarksByUid($uid_q, 5); # Make bookmarks unique against journals my $bookmark_count = 0; @@ -193,7 +193,8 @@ if ($tagnameid) { # Show all user's tags for one particular tagname. my $tags_hr = - $tags_reader->getGroupedTagsFromUser($uid, { tagnameid => $tagnameid }); + $tags_reader->getGroupedTagsFromUser($uid, { tagnameid => $tagnameid }, + { limit => 5000, orderby => 'tagid', orderdir => 'DESC' }); my $tags_ar = $tags_hr->{$tagname} || [ ]; return slashDisplay('usertagsforname', { useredit => $requested_user, @@ -203,7 +204,8 @@ }, { Page => 'users', Return => 1 }); } else { my $tags_hr = - $tags_reader->getGroupedTagsFromUser($uid, { include_private => $private }); + $tags_reader->getGroupedTagsFromUser($uid, { include_private => $private }, + { limit => 5000, orderby => 'tagid', orderdir => 'DESC' }); my $num_tags = 0; for my $tn (keys %$tags_hr) { $num_tags += scalar @{ $tags_hr->{$tn} }; @@ -327,6 +329,35 @@ return $fhid; } +sub truncateMarquee { + my($self, $marquee, $len) = @_; + + my $text; + my $linebreak = qr{(?: +
    \s*
    | + | + + )}x; + my $min_chars = 50; + my $max_chars = $len || 1000; + + if (length($marquee) < $min_chars) { + $text = $marquee; + } else { + $text = $1 if $marquee =~ m/^(.{$min_chars,$max_chars})?$linebreak/s; + } + + $text ||= chopEntity($marquee, $max_chars); + local $Slash::Utility::Data::approveTag::admin = 1; + $text = strip_html($text); + $text = balanceTags($text, { admin => 1 }); + $text = addDomainTags($text); + + return $text; +} + sub DESTROY { my($self) = @_; $self->{_dbh}->disconnect if !$ENV{GATEWAY_INTERFACE} && $self->{_dbh}; Modified: slashjp/trunk/plugins/Zoo/templates/alllist;zoo;default =================================================================== --- slashjp/trunk/plugins/Zoo/templates/alllist;zoo;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Zoo/templates/alllist;zoo;default 2008-12-05 05:50:48 UTC (rev 866) @@ -17,7 +17,7 @@ [% FOREACH item = people %]
    [% friend.0 %]
    [% friend.0 %][% friend.3 %][% friend.3 %] [% Slash.timeCalc(friend.2) %] 
    [% article.2 %][% article.2 %] [% Slash.timeCalc(article.1) %][edit]
    [% journal.1 | strip_literal %][% journal.1 | strip_literal %] [% journal.0 %] [% Slash.timeCalc(journal.3) %]
    - [% thisuser.nickname | strip_literal %]   + [% thisuser.nickname | strip_literal %]   [% IF thisuser.fakeemail %] ([% thisuser.uid %]) email: [% thisuser.fakeemail | strip_literal %]
    [% ELSE %] @@ -29,7 +29,7 @@
    - Last Journal entry [% Slash.timeCalc(thisuser.journal_last_entry_date) %] + Last Journal entry [% Slash.timeCalc(thisuser.journal_last_entry_date) %] Modified: slashjp/trunk/plugins/Tags/Tags.pm =================================================================== --- slashjp/trunk/plugins/Tags/Tags.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Tags/Tags.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -1125,8 +1125,6 @@ if ( $skid != $constants->{mainpage_skid} ) { my $skin = $firehose->getSkin($skid); $section_tag = $skin->{name}; - } else { - $section_tag = 'mainpage'; } } @@ -2240,6 +2238,11 @@ return $self->getTagnamesByParam('exclude', '1'); } +sub getFirehoseExcludeTags { + my($self) = @_; + return $self->getTagnamesByParam('fh_exclude', '1'); +} + sub getNegativeTags { my($self) = @_; return $self->getTagnamesByParam('posneg', '-'); Modified: slashjp/trunk/plugins/Tags/templates/taghistory;misc;default =================================================================== --- slashjp/trunk/plugins/Tags/templates/taghistory;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Tags/templates/taghistory;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -41,7 +41,7 @@ [% tag.tagname %] [% tag.tag_clout %] [% tag.tagname_clout %][% nickname | strip_literal %][% nickname | strip_literal %] [% tag.user_clout %] [% IF tag.inactivated %][% END %][% tag.created_at.replace(" "," ") %][% IF tag.inactivated %][% END %]
    - [% item.1 %] + [% item.1 %] [% PROCESS zoo_icons person=item.0 %] Modified: slashjp/trunk/plugins/Zoo/templates/confirm;zoo;default =================================================================== --- slashjp/trunk/plugins/Zoo/templates/confirm;zoo;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Zoo/templates/confirm;zoo;default 2008-12-05 05:50:48 UTC (rev 866) @@ -21,7 +21,7 @@
    - So do you want to remove your relationship with [% nickname %]? + So do you want to remove your relationship with [% nickname %]? @@ -63,24 +63,24 @@ Modified: slashjp/trunk/plugins/Zoo/templates/data;zoo;default =================================================================== --- slashjp/trunk/plugins/Zoo/templates/data;zoo;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Zoo/templates/data;zoo;default 2008-12-05 05:50:48 UTC (rev 866) @@ -22,28 +22,28 @@ [% constants.sitename %] Friend/Foe System [% CASE 'confirm' %] - Your Relationship with [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Your Relationship with [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'nofriends' %] - [% nickname | strip_literal %] ([% uid %]) is all alone in the world. + [% nickname | strip_literal %] ([% uid %]) is all alone in the world. [% CASE 'nofans' %] - [% nickname | strip_literal %] ([% uid %]) is either loved by all, or just invisible. + [% nickname | strip_literal %] ([% uid %]) is either loved by all, or just invisible. [% CASE 'nofreaks' %] - [% nickname | strip_literal %] ([% uid %]) is hated by no one. + [% nickname | strip_literal %] ([% uid %]) is hated by no one. [% CASE 'nofoes' %] - [% nickname | strip_literal %] ([% uid %]) loves everyone or plays their cards very close to their chest. + [% nickname | strip_literal %] ([% uid %]) loves everyone or plays their cards very close to their chest. [% CASE 'nofriendsoffriends' %] - The friends of [% nickname | strip_literal %] ([% uid %]) have no friends; they need better friends. + The friends of [% nickname | strip_literal %] ([% uid %]) have no friends; they need better friends. [% CASE 'nofriendsenemies' %] - The friends of [% nickname | strip_literal %] ([% uid %]) have no foes. + The friends of [% nickname | strip_literal %] ([% uid %]) have no foes. [% CASE 'noall' %] - [% nickname | strip_literal %] ([% uid %]) is unknown to the world. + [% nickname | strip_literal %] ([% uid %]) is unknown to the world. [% CASE 'yournofriends' %] [% returnme.data_constant = 1 %] @@ -78,25 +78,25 @@ No one knows you exist. [% CASE 'friendshead' %] - Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'foeshead' %] - Foes of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Foes of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'fanshead' %] - Fans of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Fans of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'freakshead' %] - Freaks of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Freaks of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'friendsenemieshead' %] - Foes of the Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Foes of the Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'friendsoffriendshead' %] - Friends of the Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Friends of the Friends of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'allhead' %] - Relationships of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] + Relationships of [% nickname | strip_literal %] ([% uid %]) [% PROCESS zoo_icons person=uid implied="" %] [% CASE 'yourfriendshead' %] [% returnme.data_constant = 1 %] Modified: slashjp/trunk/plugins/Zoo/templates/plainlist;zoo;default =================================================================== --- slashjp/trunk/plugins/Zoo/templates/plainlist;zoo;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Zoo/templates/plainlist;zoo;default 2008-12-05 05:50:48 UTC (rev 866) @@ -20,17 +20,17 @@ [% FOREACH somebody = people %]
    - Consider [% nickname %] a Friend Friends of Friends -  [% IF user.people_bonus_fof %]([% user.people_bonus_fof %])[% ELSE %](+0)[% END %] + Consider [% nickname %] a Friend Friends of Friends +  [% IF user.people_bonus_fof %]([% user.people_bonus_fof %])[% ELSE %](+0)[% END %] - Consider [% nickname %] a Foe Foes of Friends -  [% IF user.people_bonus_eof %]([% user.people_bonus_eof %])[% ELSE %](+0)[% END %] + Consider [% nickname %] a Foe Foes of Friends +  [% IF user.people_bonus_eof %]([% user.people_bonus_eof %])[% ELSE %](+0)[% END %]
    [% FOREACH geek = mutual.${Slash.FOF} %] - [% uids_2_nicknames.$geek.nickname | strip_literal %]([% geek %]) [% PROCESS zoo_icons person=geek implied=Slash.FOF %]
    + [% uids_2_nicknames.$geek.nickname | strip_literal %]([% geek %]) [% PROCESS zoo_icons person=geek implied=Slash.FOF %]
    [% END %]  
    [% FOREACH geek = mutual.${Slash.EOF} %] - [% uids_2_nicknames.$geek.nickname | strip_literal %]([% geek %]) [% PROCESS zoo_icons person=geek implied=Slash.EOF %]
    + [% uids_2_nicknames.$geek.nickname | strip_literal %]([% geek %]) [% PROCESS zoo_icons person=geek implied=Slash.EOF %]
    [% END %]  
    - [% somebody.1 %] ([% somebody.0 %])[% PROCESS zoo_icons person=somebody.0 implied="" %]   + [% somebody.1 %] ([% somebody.0 %])[% PROCESS zoo_icons person=somebody.0 implied="" %]   - friends  + friends  - fans  + fans  [% IF somebody.2 %] -   [% Slash.timeCalc(somebody.2) %] +   [% Slash.timeCalc(somebody.2) %] [% ELSE %]    [% END %] Modified: slashjp/trunk/plugins/Zoo/templates/zoohead;zoo;default =================================================================== --- slashjp/trunk/plugins/Zoo/templates/zoohead;zoo;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/plugins/Zoo/templates/zoohead;zoo;default 2008-12-05 05:50:48 UTC (rev 866) @@ -37,13 +37,13 @@ [% UNLESS page == 'relation' %] [% IF uid == user.uid && !user.is_anon %] [% ELSE %] [% END %] [% END; END %] Modified: slashjp/trunk/sql/mysql/defaults.sql =================================================================== --- slashjp/trunk/sql/mysql/defaults.sql 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/sql/mysql/defaults.sql 2008-12-05 05:50:48 UTC (rev 866) @@ -841,7 +841,7 @@ INSERT INTO vars (name, value, description) VALUES ('cur_performance_stats_lastid', '0', 'accesslogid to start searching at'); INSERT INTO vars (name, value, description) VALUES ('cur_performance_stats_weeks', '8', 'number of weeks back to compare current stats to'); INSERT INTO vars (name, value, description) VALUES ('currentqid',1,'The Current Question on the homepage pollbooth'); -INSERT INTO vars (name, value, description) VALUES ('cvs_tag_currentcode','T_2_5_0_231','The current cvs tag that the code was updated to - this does not affect site behavior but may be useful for your records'); +INSERT INTO vars (name, value, description) VALUES ('cvs_tag_currentcode','T_2_5_0_233','The current cvs tag that the code was updated to - this does not affect site behavior but may be useful for your records'); INSERT INTO vars (name, value, description) VALUES ('datadir','/usr/local/slash/www.example.com','What is the root of the install for Slash'); INSERT INTO vars (name, value, description) VALUES ('db_auto_increment_increment','1','If your master DB uses auto_increment_increment, i.e. multiple master replication, echo its value into this var'); INSERT INTO vars (name, value, description) VALUES ('dbsparklines_disp','0','Display dbsparklines in the currentAdminUsers box?'); Modified: slashjp/trunk/sql/mysql/upgrades =================================================================== --- slashjp/trunk/sql/mysql/upgrades 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/sql/mysql/upgrades 2008-12-05 05:50:48 UTC (rev 866) @@ -5695,6 +5695,25 @@ update firehose, firehose_deletedjournal set firehose.public='no' where firehose.id=firehose_deletedjournal.id; drop table firehose_deletedjournal; +# For plugins/FireHose +UPDATE firehose_view SET mode="fulltitle" where viewname="usertag"; + +# For plugins/Users2 +ALTER TABLE shill_ids ADD COLUMN extra VARCHAR(40) DEFAULT '' NOT NULL; + +# 2008-11-25 +UPDATE vars SET value = 'T_2_5_0_232' WHERE name = 'cvs_tag_currentcode'; + # SLASHDOT LAST UPDATED HERE +# for plugins/FireHose +ALTER TABLE firehose ADD INDEX uid (uid); +UPDATE menus SET value=REPLACE(value, '/~', '[% constants.real_rootdir %]/~') WHERE menu='users' AND value REGEXP '^/~'; + +# For plugins/Users2 +ALTER TABLE shill_ids ADD COLUMN skid SMALLINT DEFAULT '0' NOT NULL; + +# 2008-11-26 +UPDATE vars SET value = 'T_2_5_0_233' WHERE name = 'cvs_tag_currentcode'; + Modified: slashjp/trunk/tagboxes/CommentScoreReason/CommentScoreReason.pm =================================================================== --- slashjp/trunk/tagboxes/CommentScoreReason/CommentScoreReason.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/tagboxes/CommentScoreReason/CommentScoreReason.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -166,9 +166,12 @@ $top_entry_score = $firehose->getEntryPopularityForColorLevel(1); } $neediness *= $top_entry_score/$base_neediness; - # If we are only doing a certain percentage of neediness here, - # this would be the place to hash the comment cid with salt and - # drop its score to -50 unless it randomly qualified. + + # Only a certain percentage of comments are allowed to be needy. + my $percent = $constants->{tagbox_csr_needinesspercent} || 5; + my $hex_percent = int(hex(substr(md5_hex($cid), -4)) * 100 / 65536); + $neediness = -50 if $hex_percent >= $percent; + # Minimum neediness is -50. $neediness = -50 if $neediness < -50; @@ -207,14 +210,14 @@ $cid, $new_score, $reasons->{$current_reason_mode}{name}, ($karma_bonus eq 'yes' ? 1 : 0), $new_karma_bonus, $neediness); if ($firehose) { - # If it's already in the hose, don't try to re-create it -- - # that may cause unnecessary score recalculations. my $fhid = $firehose->getFireHoseIdFromGlobjid($affected_id); - if (!$fhid) { - $fhid = $self->addCommentToHoseIfAppropriate($firehose, - $affected_id, $cid, $neediness, $new_score); + if ($fhid) { + $firehose->setFireHose($fhid, { neediness => $neediness }); + } else { + # For now, this tagbox is no longer responsible for adding + # needy comments to the hose; we assume they're already + # there, and if not, we ignore. } - $firehose->setFireHose($fhid, { neediness => $neediness }) if $fhid; } $self->sqlUpdate('comments', { @@ -226,26 +229,26 @@ # XXX hex_percent should be a library function, it's used by FHEditorPop too -sub addCommentToHoseIfAppropriate { - my($self, $firehose, $globjid, $cid, $neediness, $score) = @_; - my $constants = getCurrentStatic(); +#sub addCommentToHoseIfAppropriate { +# my($self, $firehose, $globjid, $cid, $neediness, $score) = @_; +# my $constants = getCurrentStatic(); +# +# my $fhid = 0; +# +# # If neediness exceeds a threshold, the comment has a chance of appearing. +# my $min = $constants->{tagbox_csr_minneediness} || 138; +# return 0 if $neediness < $min; +# +# # Hash its cid; if the last 4 hex digits interpreted as a fraction are +# # within the range determined, add it to the hose. +# my $percent = $constants->{tagbox_csr_needinesspercent} || 5; +# my $hex_percent = int(hex(substr(md5_hex($cid), -4)) * 100 / 65536); +# return 0 if $hex_percent >= $percent; +# +# $fhid = $firehose->createUpdateItemFromComment($cid); +# +# return $fhid; +#} - my $fhid = 0; - - # If neediness exceeds a threshold, the comment has a chance of appearing. - my $min = $constants->{tagbox_csr_minneediness} || 138; - return 0 if $neediness < $min; - - # Hash its cid; if the last 4 hex digits interpreted as a fraction are - # within the range determined, add it to the hose. - my $percent = $constants->{tagbox_csr_needinesspercent} || 5; - my $hex_percent = int(hex(substr(md5_hex($cid), -4)) * 100 / 65536); - return 0 if $hex_percent >= $percent; - - $fhid = $firehose->createItemFromComment($cid); - - return $fhid; -} - 1; Modified: slashjp/trunk/tagboxes/FHEditorPop/FHEditorPop.pm =================================================================== --- slashjp/trunk/tagboxes/FHEditorPop/FHEditorPop.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/tagboxes/FHEditorPop/FHEditorPop.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -135,12 +135,16 @@ $color_level = $this_color_level if $this_color_level < $color_level; } } elsif ($type eq "comments") { - my $comment = $self->getComment($target_id); - my $score = Slash::Utility::Comments::constrain_score($comment->{points} + $comment->{tweak}); - if ($score >= 3) { $color_level = 4 } - elsif ($score >= 2) { $color_level = 5 } - elsif ($score >= 1) { $color_level = 6 } - else { $color_level = 7 } + if (0) { + my $comment = $self->getComment($target_id); + my $score = Slash::Utility::Comments::constrain_score($comment->{points} + $comment->{tweak}); + if ($score >= 3) { $color_level = 4 } + elsif ($score >= 2) { $color_level = 5 } + elsif ($score >= 1) { $color_level = 6 } + else { $color_level = 7 } + } else { + $color_level = 8; + } } $popularity = $firehose->getEntryPopularityForColorLevel($color_level) + $extra_pop; @@ -194,6 +198,10 @@ } } + # If color level was set to black, none of the nods matter, it just never + # shows up. + $popularity = -50 if $color_level == 8; + # If this is a comment, it normally only shows up for an editor if # it's one of a select few. if ($fhitem->{type} eq 'comment' Modified: slashjp/trunk/tagboxes/FireHoseScores/FireHoseScores.pm =================================================================== --- slashjp/trunk/tagboxes/FireHoseScores/FireHoseScores.pm 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/tagboxes/FireHoseScores/FireHoseScores.pm 2008-12-05 05:50:48 UTC (rev 866) @@ -194,6 +194,10 @@ $popularity += $extra_pop; } + # If color level was set to black, none of the nods matter, it just never + # shows up. + $popularity = -50 if $color_level == 8; + # If this is spam, or contains a spam URL, its score goes way down. if ($fhitem->{is_spam} eq 'yes' || $firehose_db->itemHasSpamURL($fhitem)) { my $max = defined($constants->{firehose_spam_score}) @@ -254,14 +258,19 @@ $color_level = $this_color_level if $this_color_level < $color_level; } } elsif ($type eq "comments") { - my $comment = $self->getComment($target_id); - my $score = constrain_score($comment->{points} + $comment->{tweak}); - if ($score >= 5) { - $color_level = 5; - } elsif ($score >= 2) { - $color_level = 6 + if (0) { + my $comment = $self->getComment($target_id); + my $score = constrain_score($comment->{points} + $comment->{tweak}); + if ($score >= 5) { + $color_level = 5; + } elsif ($score >= 2) { + $color_level = 6 + } else { + $color_level = 7; + } } else { - $color_level = 7; + # temporary measure + $color_level = 8; } } return($color_level, $extra_pop); Modified: slashjp/trunk/themes/slashcode/htdocs/users2.pl =================================================================== --- slashjp/trunk/themes/slashcode/htdocs/users2.pl 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/htdocs/users2.pl 2008-12-05 05:50:48 UTC (rev 866) @@ -384,6 +384,10 @@ } # Figure out what the op really is. + if ($gSkin->{skid} == 36 && (! $form->{op} && ! ($form->{uid} || $form->{nick}))) { + # Default to ThinkGeek user if we're in the ThinkGeek skin + $form->{uid} = 1387321; + } $op = 'userinfo' if (! $form->{op} && ($form->{uid} || $form->{nick})); $op ||= $user->{is_anon} ? 'userlogin' : 'userinfo'; if ($user->{is_anon} && ( ($ops->{$op}{seclev} > 0) || ($op =~ /^newuserform|mailpasswdform|displayform$/) )) { @@ -1068,8 +1072,13 @@ # showInfo's header information is delayed until here, because # the target user's info is not available until here. vislenify($requested_user); + $requested_user->{shill_info} = $reader->getShillInfo($requested_user->{shill_id}); my $msg = getMessage('user_header', { useredit => $requested_user, fieldkey => $fieldkey }); - header($msg, '', { shill_id => $requested_user->{shill_id}, U2 => 1 }) or return; + header($msg, '', { + shill_id => $requested_user->{shill_id}, + shill_info => $requested_user->{shill_info}, + U2 => 1 + }) or return; # This is a hardcoded position, bad idea and should be fixed -Brian # Yeah, we should pull this into a template somewhere... print getMessage('note', { note => $hr->{note} }) if defined $hr->{note}; @@ -1359,6 +1368,18 @@ my $tagshist; if ($tags_reader) { $tagshist = $tags_reader->getGroupedTagsFromUser($requested_user->{uid}, { orderby => 'created_at', orderdir => 'DESC', include_private => 1, limit => 100 }); + # This prevents the slashbox from being populated with only private tags, + # which leaves it visible but empty for non-admins. + my $all_private = 1; + if ($tagshist && !$user->{is_admin}) { + foreach my $tag (keys %$tagshist) { + if (!$tagshist->{$tag}->[0]->{private}) { + $all_private = 0; + last; + } + } + $tagshist = '' if ($all_private); + } } # Comments slashbox @@ -1414,13 +1435,9 @@ $not_fhid = $users2->getMarqueeFireHoseId($marquee); } - if ($form->{dp} eq 'firehose' || $form->{dp} =~ /^journal/ || $form->{dp} eq 'submissions' || $form->{dp} eq 'bookmarks' || $form->{dp} eq 'usertag') { + if ($main_view || $form->{dp} eq 'firehose' || $form->{dp} =~ /^journal/ || $form->{dp} eq 'submissions' || $form->{dp} eq 'bookmarks' || $form->{dp} eq 'usertag') { $form->{listonly} = 1; - $form->{mode} = "full"; - $form->{color} = "black"; - $form->{orderby} = "createtime"; - $form->{orderdir} = "DESC"; $form->{skipmenu} = 1; } Modified: slashjp/trunk/themes/slashcode/templates/currentAdminUsers;misc;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/currentAdminUsers;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/currentAdminUsers;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -28,7 +28,7 @@ %]
    - [% id %] + [% id %] [% lastsecs %] [% IF lastsecs and lasttitle %] / [% lasttitle %] Modified: slashjp/trunk/themes/slashcode/templates/dispStory;misc;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/dispStory;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/dispStory;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -56,7 +56,7 @@ thisjournal = journal.get(story.journal_id); IF thisjournal && thisjournal.uid; thisuser = Slash.db.getUser(thisjournal.uid); %] - Journal written by [% thisuser.nickname | strip_literal %] ([% thisjournal.uid %]) and [% ELSIF story.by %] Written by [% story.by | strip_literal %] and [% Modified: slashjp/trunk/themes/slashcode/templates/friendsview;index;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/friendsview;index;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/friendsview;index;default 2008-12-05 05:50:48 UTC (rev 866) @@ -17,7 +17,7 @@ __template__ __seclev__ Modified: slashjp/trunk/themes/slashcode/templates/linkrel;misc;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/linkrel;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/linkrel;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -67,7 +67,7 @@ ELSIF env.script_name.search('journal\.pl'); IF link.uid && link.nickname; tmp = BLOCK -%] - + [%- END; linkrels.push(tmp); tmp = BLOCK -%] [%- END; linkrels.push(tmp); tmp = BLOCK -%] @@ -89,7 +89,7 @@ ELSIF env.script_name.search('messages\.pl'); IF !user.is_anon; tmp = BLOCK -%] - + [%- END; linkrels.push(tmp); END; ELSIF env.script_name.search('bookmark\.pl'); tmp = BLOCK -%] @@ -101,7 +101,7 @@ ELSE; # default author link, where author is a nickname IF link.author; tmp = BLOCK -%] - + [%- END; linkrels.push(tmp); END; END %] Modified: slashjp/trunk/themes/slashcode/templates/printCommNoArchive;misc;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/printCommNoArchive;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/printCommNoArchive;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -24,7 +24,7 @@ [% ELSE %] [%- d_nickname = Slash.db.getUser(discussion.uid, 'nickname') -%] [%- msg = BLOCK -%] -This discussion was created[% IF discussion.uid %] by [% d_nickname %] ([% discussion.uid %])[% END %] as +This discussion was created[% IF discussion.uid %] by [% d_nickname %] ([% discussion.uid %])[% END %] as [%- END -%] [% IF discussion.commentstatus == 'friends_only' %] [% type = "Friends only" %] Modified: slashjp/trunk/themes/slashcode/templates/u2MainView;users;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/u2MainView;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/u2MainView;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -29,7 +29,8 @@ [% END %] -[% PROCESS u2Menu +[% PROCESS u2Menu + main_view=main_view data_pane=data_pane comments_size=latest_comments.size journals_size=latest_journals.size @@ -45,6 +46,7 @@ [% PROCESS u2UserBoxes latest_comments=latest_comments + reasons=reasons latest_journals=latest_journals latest_submissions=latest_submissions latest_bookmarks=latest_bookmarks @@ -117,7 +119,7 @@ ELSIF tagshist.$tag.0.globj_type == "journals"; nick = Slash.db.getUser(tagshist.$tag.0.journal.uid, 'nickname'); ' [% relations_datapane %] Modified: slashjp/trunk/themes/slashcode/templates/u2Menu;users;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/u2Menu;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/u2Menu;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -15,14 +15,15 @@ [% tilde = '^'; IF constants.u2; tilde = '~'; END; %] Modified: slashjp/trunk/themes/slashcode/templates/u2UserBio;users;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/u2UserBio;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/u2UserBio;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -21,7 +21,8 @@
    [% IF user.uid == useredit.uid OR user.is_admin; - IF useredit.realname; useredit.realname | strip_literal; ELSE; '(no real name given)
    '; END; + IF useredit.realname; useredit.realname | strip_literal; ELSE; '(no real name given)'; END; + '
    '; ''; Slash.ellipsify(Slash.strip_literal(useredit.realemail)); ''; @@ -39,7 +40,6 @@ '(email not shown publicly)'; END; ELSE; - '
      '; IF useredit.fakeemail; ''; Modified: slashjp/trunk/themes/slashcode/templates/u2UserBoxes;users;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/u2UserBoxes;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/u2UserBoxes;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -12,16 +12,35 @@ __name__ u2UserBoxes __template__ +[% tilde = '^'; IF constants.u2; tilde = '~'; END; %] [% IF latest_comments.size != 0 %]
      [% FOREACH cid = latest_comments.keys.sort %] -
    • [% latest_comments.$cid.subject %]
    • + [% + reason_num = ''; + reason_text = ''; + IF latest_comments.$cid.points > 1; + reason_num = latest_comments.$cid.reason; + reason_text = reasons.$reason_num.name; + END; + %] +
    • [% latest_comments.$cid.subject %] + [% + IF latest_comments.$cid.points > 1; + ' (Score:';latest_comments.$cid.points; + IF reason_text != 'Normal'; + ', ';reason_text; + END; + ')'; + END; + %] +
    • [% END %]
    @@ -31,12 +50,12 @@ [% IF latest_journals.size != 0 %]
    -

    Journal Entries

    +

    Journal Entries

    @@ -46,7 +65,7 @@ [% IF latest_submissions.size != 0 %]
    -

    Submissions

    +

    Submissions

    @@ -62,7 +81,7 @@ [% IF latest_bookmarks.size != 0 %]
    -

    Bookmarks

    +

    Bookmarks

    @@ -82,13 +101,13 @@ [% IF latest_friends.size != 0 %]
    -

    Friends

    +

    Friends

    @@ -98,7 +117,7 @@ [% IF tagshist.size > 2 %]
    -

    Tags

    +

    Tags

    @@ -108,7 +127,7 @@ [% LAST IF tags_counter == 5 %] [% NEXT IF !is_admin && tagshist.$tag.0.private == 1 %]
  • - [% tagshist.$tag.0.tagname %] ([% tagshist.$tag.0.globj_type %]) + [% tagshist.$tag.0.tagname %] ([% tagshist.$tag.0.globj_type %])
  • [% tags_counter = tags_counter + 1 %] [% END %] Modified: slashjp/trunk/themes/slashcode/templates/udiscuss_list;comments;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/udiscuss_list;comments;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/udiscuss_list;comments;default 2008-12-05 05:50:48 UTC (rev 866) @@ -25,7 +25,7 @@ [% nickname = Slash.db.getUser(discussion.uid, 'nickname') %]
  • [% IF discussion.title.defined %][% discussion.title %][% ELSE %]untitled[% END %] - created by [% nickname %] on [% Slash.timeCalc(discussion.ts) %] + created by [% nickname %] on [% Slash.timeCalc(discussion.ts) %] [% END %]

    Modified: slashjp/trunk/themes/slashcode/templates/userInfo2;users;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/userInfo2;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/userInfo2;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -170,7 +170,7 @@

    @@ -218,7 +218,7 @@
    Modified: slashjp/trunk/themes/slashcode/templates/userInfo;users;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/userInfo;users;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/userInfo;users;default 2008-12-05 05:50:48 UTC (rev 866) @@ -64,7 +64,7 @@ [% PROCESS titlebar title="Last Journal Entry" %] [% Slash.createMenu("journal", style => "tabbed") %] - + [% lastjournal.description | strip_notags %] , Modified: slashjp/trunk/themes/slashcode/templates/user_titlebar;misc;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/user_titlebar;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/user_titlebar;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -27,91 +27,91 @@ url_nick = useredit.nickname | strip_paramattr; zi = PROCESS zoo_icons person=uid implied=""; title = title || - "$thisnickname ($uid) $zi"; + "$thisnickname ($uid) $zi"; PROCESS titlebar title=title; END %] [% tabs = [ ]; IF user.uid == uid; tabs = [ - { link = "/~$url_nick/", label = "Info", sel_label = "info" }, + { link = "$constants.real_rootdir/~$url_nick/", label = "Info", sel_label = "info" }, ]; IF constants.plugin.Journal; tabs.push( - { link = "/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, + { link = "$constants.real_rootdir/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, ); END; IF constants.plugin.FireHose; tabs.push( - { link = "/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, + { link = "$constants.real_rootdir/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, ); END; IF constants.plugin.Messages; tabs.push( - { link = "/my/inbox/", label = "Messages", sel_label = "messages" }, + { link = "$constants.real_rootdir/my/inbox/", label = "Messages", sel_label = "messages" }, ); END; IF constants.plugin.Zoo; tabs.push( - { link = "/my/friends/", label = "Friends", sel_label = "friends" }, + { link = "$constants.real_rootdir/my/friends/", label = "Friends", sel_label = "friends" }, ); tabs.push( - { link = "/my/fans/", label = "Fans", sel_label = "fans" }, + { link = "$constants.real_rootdir/my/fans/", label = "Fans", sel_label = "fans" }, ); tabs.push( - { link = "/my/foes/", label = "Foes", sel_label = "foes" }, + { link = "$constants.real_rootdir/my/foes/", label = "Foes", sel_label = "foes" }, ); tabs.push( - { link = "/my/freaks/", label = "Freaks", sel_label = "freaks" }, + { link = "$constants.real_rootdir/my/freaks/", label = "Freaks", sel_label = "freaks" }, ); END; IF constants.plugin.Tags; tabs.push( - { link = "/my/tags/", label = "Tags", sel_label = "tags" }, + { link = "$constants.real_rootdir/my/tags/", label = "Tags", sel_label = "tags" }, ); END; IF constants.plugin.Bookmark; tabs.push( - { link = "/my/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, + { link = "$constants.real_rootdir/my/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, ); END; ELSIF user.is_anon; tabs = [ - { link = "/~$url_nick/", label = "Info", sel_label = "info" }, + { link = "$constants.real_rootdir/~$url_nick/", label = "Info", sel_label = "info" }, ]; IF constants.plugin.Journal; tabs.push( - { link = "/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, + { link = "$constants.real_rootdir/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, ); END; IF constants.plugin.FireHose; tabs.push( - { link = "/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, + { link = "$constants.real_rootdir/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, ); END; IF constants.plugin.Zoo; tabs.push( - { link = "/~$url_nick/friends/",label = "Friends", sel_label = "friends" }, + { link = "$constants.real_rootdir/~$url_nick/friends/",label = "Friends", sel_label = "friends" }, ); tabs.push( - { link = "/~$url_nick/fans/", label = "Fans", sel_label = "fans" }, + { link = "$constants.real_rootdir/~$url_nick/fans/", label = "Fans", sel_label = "fans" }, ); tabs.push( - { link = "/~$url_nick/foes/", label = "Foes", sel_label = "foes" }, + { link = "$constants.real_rootdir/~$url_nick/foes/", label = "Foes", sel_label = "foes" }, ); tabs.push( - { link = "/~$url_nick/freaks/", label = "Freaks", sel_label = "freaks" }, + { link = "$constants.real_rootdir/~$url_nick/freaks/", label = "Freaks", sel_label = "freaks" }, ); END; IF constants.plugin.Tags; tabs.push( - { link = "/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, + { link = "$constants.real_rootdir/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, ); END; IF constants.plugin.Bookmark; tabs.push( - { link = "/~$url_nick/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, + { link = "$constants.real_rootdir/~$url_nick/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, ); END; ELSE; tabs = [ - { link = "/~$url_nick/", label = "Info", sel_label = "info" }, + { link = "$constants.real_rootdir/~$url_nick/", label = "Info", sel_label = "info" }, ]; IF constants.plugin.Zoo; tabs.push( { link = "/zoo.pl?op=check&uid=$uid", label = "Relation", sel_label = "relation" }, ); END; IF constants.plugin.Journal; tabs.push( - { link = "/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, + { link = "$constants.real_rootdir/~$url_nick/journal/",label = "Journal", sel_label = "journal" }, ); END; IF constants.plugin.FireHose; tabs.push( - { link = "/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, + { link = "$constants.real_rootdir/~$url_nick/firehose/",label = "Firehose", sel_label = "firehose" }, ); END; IF constants.plugin.Zoo; tabs.push( - { link = "/~$url_nick/friends/",label = "Friends", sel_label = "friends" }, + { link = "$constants.real_rootdir/~$url_nick/friends/",label = "Friends", sel_label = "friends" }, ); tabs.push( - { link = "/~$url_nick/fans/", label = "Fans", sel_label = "fans" }, + { link = "$constants.real_rootdir/~$url_nick/fans/", label = "Fans", sel_label = "fans" }, ); tabs.push( - { link = "/~$url_nick/foes/", label = "Foes", sel_label = "foes" }, + { link = "$constants.real_rootdir/~$url_nick/foes/", label = "Foes", sel_label = "foes" }, ); tabs.push( - { link = "/~$url_nick/freaks/", label = "Freaks", sel_label = "freaks" }, + { link = "$constants.real_rootdir/~$url_nick/freaks/", label = "Freaks", sel_label = "freaks" }, ); END; IF constants.plugin.Tags; tabs.push( - { link = "/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, + { link = "$constants.real_rootdir/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, ); END; IF constants.plugin.Bookmark; tabs.push( - { link = "/~$url_nick/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, + { link = "$constants.real_rootdir/~$url_nick/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, ); END; END %]
    Modified: slashjp/trunk/themes/slashcode/templates/userboxes2;misc;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/userboxes2;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/userboxes2;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -25,7 +25,7 @@ title = 'User Bio'; contents = BLOCK; - ''; useredit.nickname | strip_literal; ' '; PROCESS zoo_icons person=useredit.uid implied=""; Modified: slashjp/trunk/themes/slashcode/templates/userboxes;misc;default =================================================================== --- slashjp/trunk/themes/slashcode/templates/userboxes;misc;default 2008-12-05 05:46:32 UTC (rev 865) +++ slashjp/trunk/themes/slashcode/templates/userboxes;misc;default 2008-12-05 05:50:48 UTC (rev 866) @@ -61,7 +61,7 @@ title = useredit.nickname | strip_literal; title = title _ " ($useredit.uid)"; contents = BLOCK; - ''; useredit.nickname | strip_literal; ' '; PROCESS zoo_icons person=useredit.uid implied=""; @@ -166,7 +166,7 @@ IF user.points || user.is_admin; title = "Moderation"; contents = BLOCK %] -You +You have moderator access [% IF user.is_admin %](because you're an admin)[% END %] and [% user.points %] point[% user.points == 1 ? '' : 's' %] From svnnotify @ sourceforge.jp Fri Dec 5 14:51:37 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 05 Dec 2008 14:51:37 +0900 Subject: [Slashdotjp-dev 1336] [867] add slash_2.5.0.233.orig.tar.gz Message-ID: <1228456297.629947.14836.nullmailer@users.sourceforge.jp> Revision: 867 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=867 Author: tach Date: 2008-12-05 14:51:37 +0900 (Fri, 05 Dec 2008) Log Message: ----------- add slash_2.5.0.233.orig.tar.gz Added Paths: ----------- slashjp/tarballs/slash_2.5.0.233.orig.tar.gz -------------- next part -------------- Added: slashjp/tarballs/slash_2.5.0.233.orig.tar.gz =================================================================== (Binary files differ) Property changes on: slashjp/tarballs/slash_2.5.0.233.orig.tar.gz ___________________________________________________________________ Name: svn:mime-type + application/octet-stream From svnnotify @ sourceforge.jp Fri Dec 5 14:52:25 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 05 Dec 2008 14:52:25 +0900 Subject: [Slashdotjp-dev 1337] [868] new upstream git tag Message-ID: <1228456345.961382.16760.nullmailer@users.sourceforge.jp> Revision: 868 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=868 Author: tach Date: 2008-12-05 14:52:25 +0900 (Fri, 05 Dec 2008) Log Message: ----------- new upstream git tag Modified Paths: -------------- slashjp/trunk/debian/changelog -------------- next part -------------- Modified: slashjp/trunk/debian/changelog =================================================================== --- slashjp/trunk/debian/changelog 2008-12-05 05:51:37 UTC (rev 867) +++ slashjp/trunk/debian/changelog 2008-12-05 05:52:25 UTC (rev 868) @@ -1,3 +1,9 @@ +slash (2.5.0.233-1) unstable; urgency=low + + * New upstream git tag + + -- Taku YASUI Fri, 05 Dec 2008 14:51:48 +0900 + slash (2.5.0.231-1) unstable; urgency=low * New upstream git release From svnnotify @ sourceforge.jp Tue Dec 9 15:16:18 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 09 Dec 2008 15:16:18 +0900 Subject: [Slashdotjp-dev 1338] [869] Add selectable d2 default using constants "d2_default" Message-ID: <1228803378.196707.30687.nullmailer@users.sourceforge.jp> Revision: 869 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=869 Author: tach Date: 2008-12-09 15:16:17 +0900 (Tue, 09 Dec 2008) Log Message: ----------- Add selectable d2 default using constants "d2_default" Modified Paths: -------------- slashjp/trunk/Slash/Utility/Environment/Environment.pm slashjp/trunk/debian/changelog slashjp/trunk/sql/mysql/defaults.sql -------------- next part -------------- Modified: slashjp/trunk/Slash/Utility/Environment/Environment.pm =================================================================== --- slashjp/trunk/Slash/Utility/Environment/Environment.pm 2008-12-05 05:52:25 UTC (rev 868) +++ slashjp/trunk/Slash/Utility/Environment/Environment.pm 2008-12-09 06:16:17 UTC (rev 869) @@ -1580,7 +1580,7 @@ # no_d2 is set, or they are IE users $user->{state}{no_d2} = $form->{no_d2} ? 1 : 0; if (!$user->{discussion2}) { - my $d2 = 'slashdot'; # default for all users + my $d2 = $constants->{d2_default} || 'slashdot'; # default for all users if ($user->{state}{no_d2}) { $d2 = 'none'; } elsif ($ENV{GATEWAY_INTERFACE}) { Modified: slashjp/trunk/debian/changelog =================================================================== --- slashjp/trunk/debian/changelog 2008-12-05 05:52:25 UTC (rev 868) +++ slashjp/trunk/debian/changelog 2008-12-09 06:16:17 UTC (rev 869) @@ -1,8 +1,9 @@ slash (2.5.0.233-1) unstable; urgency=low * New upstream git tag + * Add selectable d2 default using constants "d2_default" - -- Taku YASUI Fri, 05 Dec 2008 14:51:48 +0900 + -- Taku YASUI Tue, 09 Dec 2008 15:15:52 +0900 slash (2.5.0.231-1) unstable; urgency=low Modified: slashjp/trunk/sql/mysql/defaults.sql =================================================================== --- slashjp/trunk/sql/mysql/defaults.sql 2008-12-05 05:52:25 UTC (rev 868) +++ slashjp/trunk/sql/mysql/defaults.sql 2008-12-09 06:16:17 UTC (rev 869) @@ -1162,6 +1162,7 @@ INSERT IGNORE INTO vars (name, value, description) VALUES ('search_query_name','query','alternative query string form name for search.pl'); INSERT IGNORE INTO vars (name, value, description) VALUES ('journal_list_default_display', '50', 'Number of journals to display on a journal title list page'); INSERT IGNORE INTO vars (name, value, description) VALUES ('mod_limit_not_m2able_reasons', '0', 'Enable moderation limit for not m2able reasons when it is not eligible'); +INSERT IGNORE INTO vars (name, value, description) VALUES ('d2_default', '', 'Default discussion2 module name'); UPDATE vars SET value='text/html; charset=UTF-8' WHERE name='content_type_webpage'; UPDATE vars SET value='0' WHERE name='draconian_charset'; UPDATE vars SET value='UTF-8' WHERE name='rdfencoding'; From svnnotify @ sourceforge.jp Tue Dec 9 16:38:59 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 09 Dec 2008 16:38:59 +0900 Subject: [Slashdotjp-dev 1339] [870] update for d1 and comment ads Message-ID: <1228808339.489600.25677.nullmailer@users.sourceforge.jp> Revision: 870 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=870 Author: tach Date: 2008-12-09 16:38:59 +0900 (Tue, 09 Dec 2008) Log Message: ----------- update for d1 and comment ads Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-09 06:16:17 UTC (rev 869) +++ test/images/css/slashdotjp.css 2008-12-09 07:38:59 UTC (rev 870) @@ -389,6 +389,15 @@ margin: 0.9em 0; } +/* d1 fix */ +#commentlisting.d1 { + padding: 0; +} + +#commentlisting.d1 li { + margin: 0; +} + /* users.pl modifiers */ div#users table#reason_modifiers table.reason_modifiers { padding-left: 1.5em; @@ -526,6 +535,10 @@ margin: 0.8em 0; } +#ads-bottom-of-comments { + margin: 1em 0; +} + /* for osdnnavbar: width=0 */ #top_parent { border: 0px solid transparent; From svnnotify @ sourceforge.jp Wed Dec 10 15:40:07 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Dec 2008 15:40:07 +0900 Subject: [Slashdotjp-dev 1340] [871] more wide slashbox and new ad css Message-ID: <1228891207.642548.7631.nullmailer@users.sourceforge.jp> Revision: 871 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=871 Author: tach Date: 2008-12-10 15:40:07 +0900 (Wed, 10 Dec 2008) Log Message: ----------- more wide slashbox and new ad css Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-09 07:38:59 UTC (rev 870) +++ test/images/css/slashdotjp.css 2008-12-10 06:40:07 UTC (rev 871) @@ -37,7 +37,7 @@ padding-left: 10px; } div#slashboxes { - width: 200px; + width: 300px; margin-left: 12px; font-size: 88%; overflow: hidden; @@ -54,7 +54,7 @@ #firehose .paginate, #pollBooth #wide, div#users-blocks { - margin-right: 212px; + margin-right: 312px; } div#slashboxes div.block img.map { float: right; @@ -535,6 +535,10 @@ margin: 0.8em 0; } +#ads-index-slashbox-300x300 { + margin-bottom: 1.25em; +} + #ads-bottom-of-comments { margin: 1em 0; } From svnnotify @ sourceforge.jp Wed Dec 10 16:56:32 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Dec 2008 16:56:32 +0900 Subject: [Slashdotjp-dev 1341] [872] 300px is only index Message-ID: <1228895792.107023.10075.nullmailer@users.sourceforge.jp> Revision: 872 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=872 Author: tach Date: 2008-12-10 16:56:32 +0900 (Wed, 10 Dec 2008) Log Message: ----------- 300px is only index Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-10 06:40:07 UTC (rev 871) +++ test/images/css/slashdotjp.css 2008-12-10 07:56:32 UTC (rev 872) @@ -37,7 +37,7 @@ padding-left: 10px; } div#slashboxes { - width: 300px; + width: 200px; margin-left: 12px; font-size: 88%; overflow: hidden; @@ -54,8 +54,18 @@ #firehose .paginate, #pollBooth #wide, div#users-blocks { + margin-right: 212px; +} + +#index #indexhead, +#index #articles { margin-right: 312px; } + +#index #slashboxes { + width: 300px; +} + div#slashboxes div.block img.map { float: right; } From svnnotify @ sourceforge.jp Wed Dec 10 17:02:02 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Dec 2008 17:02:02 +0900 Subject: [Slashdotjp-dev 1342] [873] add ie idle css Message-ID: <1228896122.337966.14395.nullmailer@users.sourceforge.jp> Revision: 873 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=873 Author: tach Date: 2008-12-10 17:02:02 +0900 (Wed, 10 Dec 2008) Log Message: ----------- add ie idle css Modified Paths: -------------- test/images/Makefile Added Paths: ----------- test/images/css/ie6-idle.css test/images/css/ie6-idle.css.orig test/images/css/ie7-idle.css test/images/css/ie7-idle.css.orig test/images/css/ie8-idle.css test/images/css/ie8-idle.css.orig -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-10 07:56:32 UTC (rev 872) +++ test/images/Makefile 2008-12-10 08:02:02 UTC (rev 873) @@ -3,7 +3,7 @@ DESTDIR = /var/lib/slash/site/slashdot.jp/htdocs/images sections = apple ask books developer games hardware it linux mobile politics yro -csses = core-tidied comments firehose search polls calendar admin admin-topic-popup print handheld slashcode_lite slashcode_low_bw iestyles ie6 ie7 ie8 idlecore-tidied lick comments-idle +csses = core-tidied comments firehose search polls calendar admin admin-topic-popup print handheld slashcode_lite slashcode_low_bw iestyles ie6 ie7 ie8 idlecore-tidied lick comments-idle ie6-idle ie7-idle ie8-idle jses = all-minified comments sectionprefs jquery-opt-1 aimages = friend.png foe.png freak.png fof.png neutral.png fan.png eof.png Added: test/images/css/ie6-idle.css =================================================================== --- test/images/css/ie6-idle.css (rev 0) +++ test/images/css/ie6-idle.css 2008-12-10 08:02:02 UTC (rev 873) @@ -0,0 +1,99 @@ +#logo { +background:transparent url(//images.slashdot.jp/logo-shill-thinkgeek.gif) no-repeat scroll left top; +} + +div#hd { +left:27px !important; +width:95% !important; +} + +#logo h1 a span { +background:none; +} + +div#slogan h2 { +display:none; +} + +div#hd fieldset legend { +display:none; +} + +div#doc3 { +background-image:none; +} + +div.head { +background-color:#444444; +background-image:url(//images.slashdot.jp/dark_dwn_fade_100.gif); +} + +div#hd form { +position:absolute; +right:1em; +width:300px !important; +text-align:right; +} + + + +.head .block .content { +background-image:none; +background:#333; +} + +div.body-widget { +display:none !important; +} + +span.soda { +display:none !important; +} + +span.vote { +display:none !important; +} + +div.article img { +position:relative; +} + +div.head div.yui-b { + +position:relative !important; + +} + +div#firehoselist h3 a.skin { +display:none; +} + +div#firehoselist div.article div.details , +div#firehoselist div.article h3 { +margin-left:0pt !important; +left:0pt !important; +} + + +#yui-main #firehose .article, #yui-main #firehose .briefarticle { +background:transparent url(//images.slashdot.jp/dark_dwn_fade_30.gif) repeat-x scroll 0 0 !important; +} + + +div#firehoselist div.article hr { +display:none !important; +} + +div#firehoselist div.article { +margin-left: 0 !important; +left: 0 !important; +} + +div#latest_submissions_content, +div#latest_bookmarks_content, +div#latest_friends_content + { +border:1px solid #000; +position:relative !important; +} + Added: test/images/css/ie6-idle.css.orig =================================================================== --- test/images/css/ie6-idle.css.orig (rev 0) +++ test/images/css/ie6-idle.css.orig 2008-12-10 08:02:02 UTC (rev 873) @@ -0,0 +1,98 @@ +#logo { +background:transparent url(//images.slashdot.org/logo-shill-thinkgeek.gif) no-repeat scroll left top; +} + +div#hd { +left:27px !important; +width:95% !important; +} + +#logo h1 a span { +background:none; +} + +div#slogan h2 { +display:none; +} + +div#hd fieldset legend { +display:none; +} + +div#doc3 { +background-image:none; +} + +div.head { +background-color:#444444; +background-image:url(//images.slashdot.org/dark_dwn_fade_100.gif); +} + +div#hd form { +position:absolute; +right:1em; +width:300px !important; +text-align:right; +} + + + +.head .block .content { +background-image:none; +background:#333; +} + +div.body-widget { +display:none !important; +} + +span.soda { +display:none !important; +} + +span.vote { +display:none !important; +} + +div.article img { +position:relative; +} + +div.head div.yui-b { + +position:relative !important; + +} + +div#firehoselist h3 a.skin { +display:none; +} + +div#firehoselist div.article div.details , +div#firehoselist div.article h3 { +margin-left:0pt !important; +left:0pt !important; +} + + +#yui-main #firehose .article, #yui-main #firehose .briefarticle { +background:transparent url(//images.slashdot.org/dark_dwn_fade_30.gif) repeat-x scroll 0 0 !important; +} + + +div#firehoselist div.article hr { +display:none !important; +} + +div#firehoselist div.article { +margin-left: 0 !important; +left: 0 !important; +} + +div#latest_submissions_content, +div#latest_bookmarks_content, +div#latest_friends_content + { +border:1px solid #000; +position:relative !important; +} Added: test/images/css/ie7-idle.css =================================================================== --- test/images/css/ie7-idle.css (rev 0) +++ test/images/css/ie7-idle.css 2008-12-10 08:02:02 UTC (rev 873) @@ -0,0 +1,395 @@ +*+html .body .media a.watch { + background:url('//images.slashdot.jp/icon_play.png') no-repeat center; + top:-100px; +} + +*+html .nbutton{ + margin:0pt; + padding: 0pt; + margin-left:1em !important; +} + +*+html .nbutton p{ + margin:0pt; + padding: 0pt; +} + +*+html .nbutton p b{ + margin:0pt; + padding: 0pt; +} + + + +#modal_cover, #modal_box, #modal_box, #login_box {top:0;left:0;} +#login_cover, #modal_cover {filter: alpha(opacity=75);} +.oldcomment {filter: alpha(opacity=65);} +.currcomment .oldcomment {filter: alpha(opacity=100);} + + + +div#firehose div.article div.comments, +div#firehose div.briefarticle div.comments { +height:2em !important; +} + +.contain div.currcomment{ /* .contain bg comes up from above comments title header /ticket#146/ */ +margin-top:-16px !important; +} + +span.current{ /* more sophisticated hack for span.current */ +line-height:.75em; +display:block; +} + + +/*for comment bubble, ie7 need a little more padding on the bottom*/ +div#firehose div.article div.comments div p b a, +div#firehose div.briefarticle div.comments div p b a{ +padding-bottom:0.25em !important; +} + +*+html .nbutton p b input,*+html .nbutton p b a{margin-right:-.3em;} + + + +/*fixing white space between .soda's*/ +div.briefarticle span.soda, +div.article span.soda{ +margin-top:0pt !important; +padding-top:0pt !important; +height:110%; +top:-1px; +} +div.briefarticle , +div.article { +border-top:1px solid transparent !important; /*fixes white space between sodas more thoroughly*/ +top:0px !important; +} + + + + + +p{clear:both;} + + + +.head p a.more{ +padding: 0pt; +margin-top:-1em; +} + + + *+html .head div.tags div.tagtitleclosed a span{ + background-position:0pt 0.15em; + position:relative; + margin:0pt ; + padding:0pt 0pt 0pt 1em; + } + + *+html .head div.tags div.tagtitleopen a span{ + margin-left:2em; + padding-left:-.75em; + } + + *+html .head div.tags div a span{ + padding-right:0.75em !important; + } + + *+html .head div.tags span.tagname:first-child{ + /*margin-left:-1em;*/ + } + + *+html .head div.tags div.tagtitleopen span.tagname:first-child{ + /*margin-left:-.8em;*/ + } + + *+html .head div.tags div.tagtitleopen a span{ + background-position:0pt 0.15em; + position:relative; + margin:0pt ; + padding:0pt 0pt 0pt 1em; + color:#006666; + } + + *+html .head div.tags div.tagtitleopen a { + text-decoration:none; + } + +*+html .briefarticle div.tagtitleclosed, +*+html .article div.tagtitleclosed{ +left:auto; right:0pt; +margin-left:2em; +padding-left:.65em; +text-align:right; +} + +*+html .briefarticle div.tagtitleopen, +*+html .article div.tagtitleopen{ +left:auto; right:0pt; +} + +/*redoing tag arrow hack*/ +div#firehose div.tags div.tagtitleclosed a span{ +padding:.25em 0pt 0pt .75em; +margin:0pt; +background-position:0.1em 0.25em; +} + + +div.tagtitleclosed{ /* fix for quite strange behaviour of collapsed tag */ +padding:0pt !important; +width:150px !important; +margin-left:-26px !important; +} + +div#firehose div.tags div.tagtitleopen a span{ +padding:.0pt 0pt 0pt 1.75em; +margin:0pt; +background-position:0.1em 0.25em; +} +div#firehose div.tags div.tagtitleopen span.tagname:first-child{ +margin-left:1.75em +} +div#firehose div.tags { +padding-left:0pt; +margin-left:0pt; +} + +div#firehose div.tagbody{ +padding-left:2.2em; +} + +div.tagbody div span.tagname:first-child{ +padding-left:1.25em; +} + +/* Tagging END */ + + +/* Fixing filter slider */ +#colorsliderbg { +background:transparent url(//images.slashdot.jp/colorscale.png) no-repeat scroll 5px 5px; +display:inline; +height:28px; +padding:4px 160px 3px 0; +position:absolute; +width:155px; +margin-top:6px; +} +div.box_content input[type=submit]{ +margin-left:140px; +} + +.modsel { +margin-left:1em; +} + +*+html .body .media a.watch { + background:url('//images.slashdot.jp/icon_play.png') no-repeat center; + top:-100px; +} + +*+html .nbutton{ + margin:0pt; + padding: 0pt; + margin-left:1em !important; +} + +*+html .nbutton p{ + margin:0pt; + padding: 0pt; +} + +*+html .nbutton p b{ + margin:0pt; + padding: 0pt; +} + +#modal_cover, #modal_box, #modal_box, #login_box {top:0;left:0;} +#login_cover, #modal_cover {filter: alpha(opacity=75);} +.oldcomment {filter: alpha(opacity=65);} +.currcomment .oldcomment {filter: alpha(opacity=100);} + +div#firehose div.article div.comments, +div#firehose div.briefarticle div.comments { +height:2em !important; +} + +.contain div.currcomment{ /* .contain bg comes up from above comments title header /ticket#146/ */ +margin-top:-16px !important; +} +.contain span.current{ /* fix above causes .current to be dropped lower -- thus compensating for that */ +margin-top:-16px !important; +} + +/*for comment bubble, ie7 need a little more padding on the bottom*/ +div#firehose div.article div.comments div p b a, +div#firehose div.briefarticle div.comments div p b a{ +padding-bottom:0.25em !important; +} + +*+html .nbutton p b input,*+html .nbutton p b a{margin-right:-.3em;} + + + +/*fixing white space between .soda's*/ +div.briefarticle span.soda, +div.article span.soda{ +margin-top:0pt !important; +padding-top:0pt !important; +height:110%; +top:-1px; +} +div.briefarticle , +div.article { +border-top:1px solid transparent !important; /*fixes white space between sodas more thoroughly*/ +top:0px !important; +} + + +/* Tagging START */ +*+html .head div.tags{ +} + +*+html .head div.tagbody { +/*padding-left:4em;*/ +} + +*+html .head div.tags div.tagtitleopen { +} + +*+html .head div.tags div.tagtitleclosed { +} + +*+html .head div.tags div.tagtitleclosed { +} + +p{clear:both;} + + *+html .head div.tags div.tagtitleclosed a span{ + background-position:0pt 0.15em; + position:relative; + margin:0pt ; + padding:0pt 0pt 0pt 1em; + } + + *+html .head div.tags div.tagtitleopen a span{ + margin-left:2em; + padding-left:-.75em; + } + + *+html .head div.tags div a span{ + padding-right:0.75em !important; + } + + *+html .head div.tags span.tagname:first-child{ + /*margin-left:-1em;*/ + } + + *+html .head div.tags div.tagtitleopen span.tagname:first-child{ + /*margin-left:-.8em;*/ + } + + *+html .head div.tags div.tagtitleopen a span{ + background-position:0pt 0.15em; + position:relative; + margin:0pt ; + padding:0pt 0pt 0pt 1em; + color:#006666; + } + + *+html .head div.tags div.tagtitleopen a { + text-decoration:none; + } + +*+html .briefarticle div.tagtitleclosed, +*+html .article div.tagtitleclosed{ +left:auto; right:0pt; +margin-left:2em; +padding-left:.65em; +text-align:right; +} + +*+html .briefarticle div.tagtitleopen, +*+html .article div.tagtitleopen{ +left:auto; right:0pt; +} + +/*redoing tag arrow hack*/ +div#firehose div.tags div.tagtitleclosed a span{ +padding:.25em 0pt 0pt .75em; +margin:0pt; +background-position:0.1em 0.25em; +} + +div#firehose div.tags div.tagtitleopen a span{ +padding:.0pt 0pt 0pt 1.75em; +margin:0pt; +background-position:0.1em 0.25em; +} + +div#firehose div.tags div.tagtitleopen span.tagname:first-child{ +margin-left:1.75em +} + +div#firehose div.tags { +padding-left:0pt; +margin-left:0pt; +} + +div#firehose div.tagbody{ +padding-left:2.2em; +} + +div.tagbody div span.tagname:first-child{ +padding-left:1.25em; +} +/* Tagging END */ + + + +/* Fixing filter slider */ + +#colorsliderbg { +background:transparent url(//images.slashdot.jp/colorscale.png) no-repeat scroll 5px 5px; +display:inline; +height:28px; +padding:4px 160px 3px 0; +position:absolute; +width:155px; +margin-top:6px; +} + +div.box_content input[type=submit]{ + +margin-left:140px; + +} + + + + +span.vballoon-firehoselist span { +margin-top:1.1em; +} + + + +/*------------*/ + + +/* .soda fix */ +div#firehoselist .soda { +width:5px; +} + +/* tabs aren't tall enough */ +#bd .nav #fhtablist li { +border-bottom:5px solid #888; +} + + + + Added: test/images/css/ie7-idle.css.orig =================================================================== --- test/images/css/ie7-idle.css.orig (rev 0) +++ test/images/css/ie7-idle.css.orig 2008-12-10 08:02:02 UTC (rev 873) @@ -0,0 +1,394 @@ +*+html .body .media a.watch { + background:url('//images.slashdot.org/icon_play.png') no-repeat center; + top:-100px; +} + +*+html .nbutton{ + margin:0pt; + padding: 0pt; + margin-left:1em !important; +} + +*+html .nbutton p{ + margin:0pt; + padding: 0pt; +} + +*+html .nbutton p b{ + margin:0pt; + padding: 0pt; +} + + + +#modal_cover, #modal_box, #modal_box, #login_box {top:0;left:0;} +#login_cover, #modal_cover {filter: alpha(opacity=75);} +.oldcomment {filter: alpha(opacity=65);} +.currcomment .oldcomment {filter: alpha(opacity=100);} + + + +div#firehose div.article div.comments, +div#firehose div.briefarticle div.comments { +height:2em !important; +} + +.contain div.currcomment{ /* .contain bg comes up from above comments title header /ticket#146/ */ +margin-top:-16px !important; +} + +span.current{ /* more sophisticated hack for span.current */ +line-height:.75em; +display:block; +} + + +/*for comment bubble, ie7 need a little more padding on the bottom*/ +div#firehose div.article div.comments div p b a, +div#firehose div.briefarticle div.comments div p b a{ +padding-bottom:0.25em !important; +} + +*+html .nbutton p b input,*+html .nbutton p b a{margin-right:-.3em;} + + + +/*fixing white space between .soda's*/ +div.briefarticle span.soda, +div.article span.soda{ +margin-top:0pt !important; +padding-top:0pt !important; +height:110%; +top:-1px; +} +div.briefarticle , +div.article { +border-top:1px solid transparent !important; /*fixes white space between sodas more thoroughly*/ +top:0px !important; +} + + + + + +p{clear:both;} + + + +.head p a.more{ +padding: 0pt; +margin-top:-1em; +} + + + *+html .head div.tags div.tagtitleclosed a span{ + background-position:0pt 0.15em; + position:relative; + margin:0pt ; + padding:0pt 0pt 0pt 1em; + } + + *+html .head div.tags div.tagtitleopen a span{ + margin-left:2em; + padding-left:-.75em; + } + + *+html .head div.tags div a span{ + padding-right:0.75em !important; + } + + *+html .head div.tags span.tagname:first-child{ + /*margin-left:-1em;*/ + } + + *+html .head div.tags div.tagtitleopen span.tagname:first-child{ + /*margin-left:-.8em;*/ + } + + *+html .head div.tags div.tagtitleopen a span{ + background-position:0pt 0.15em; + position:relative; + margin:0pt ; + padding:0pt 0pt 0pt 1em; + color:#006666; + } + + *+html .head div.tags div.tagtitleopen a { + text-decoration:none; + } + +*+html .briefarticle div.tagtitleclosed, +*+html .article div.tagtitleclosed{ +left:auto; right:0pt; +margin-left:2em; +padding-left:.65em; +text-align:right; +} + +*+html .briefarticle div.tagtitleopen, +*+html .article div.tagtitleopen{ +left:auto; right:0pt; +} + +/*redoing tag arrow hack*/ +div#firehose div.tags div.tagtitleclosed a span{ +padding:.25em 0pt 0pt .75em; +margin:0pt; +background-position:0.1em 0.25em; +} + + +div.tagtitleclosed{ /* fix for quite strange behaviour of collapsed tag */ +padding:0pt !important; +width:150px !important; +margin-left:-26px !important; +} + +div#firehose div.tags div.tagtitleopen a span{ +padding:.0pt 0pt 0pt 1.75em; +margin:0pt; +background-position:0.1em 0.25em; +} +div#firehose div.tags div.tagtitleopen span.tagname:first-child{ +margin-left:1.75em +} +div#firehose div.tags { +padding-left:0pt; +margin-left:0pt; +} + +div#firehose div.tagbody{ +padding-left:2.2em; +} + +div.tagbody div span.tagname:first-child{ +padding-left:1.25em; +} + +/* Tagging END */ + + +/* Fixing filter slider */ +#colorsliderbg { +background:transparent url(//images.slashdot.org/colorscale.png) no-repeat scroll 5px 5px; +display:inline; +height:28px; +padding:4px 160px 3px 0; +position:absolute; +width:155px; +margin-top:6px; +} +div.box_content input[type=submit]{ +margin-left:140px; +} + +.modsel { +margin-left:1em; +} + +*+html .body .media a.watch { + background:url('//images.slashdot.org/icon_play.png') no-repeat center; + top:-100px; +} + +*+html .nbutton{ + margin:0pt; + padding: 0pt; + margin-left:1em !important; +} + +*+html .nbutton p{ + margin:0pt; + padding: 0pt; +} + +*+html .nbutton p b{ + margin:0pt; + padding: 0pt; +} + +#modal_cover, #modal_box, #modal_box, #login_box {top:0;left:0;} +#login_cover, #modal_cover {filter: alpha(opacity=75);} +.oldcomment {filter: alpha(opacity=65);} +.currcomment .oldcomment {filter: alpha(opacity=100);} + +div#firehose div.article div.comments, +div#firehose div.briefarticle div.comments { +height:2em !important; +} + +.contain div.currcomment{ /* .contain bg comes up from above comments title header /ticket#146/ */ +margin-top:-16px !important; +} +.contain span.current{ /* fix above causes .current to be dropped lower -- thus compensating for that */ +margin-top:-16px !important; +} + +/*for comment bubble, ie7 need a little more padding on the bottom*/ +div#firehose div.article div.comments div p b a, +div#firehose div.briefarticle div.comments div p b a{ +padding-bottom:0.25em !important; +} + +*+html .nbutton p b input,*+html .nbutton p b a{margin-right:-.3em;} + + + +/*fixing white space between .soda's*/ +div.briefarticle span.soda, +div.article span.soda{ +margin-top:0pt !important; +padding-top:0pt !important; +height:110%; +top:-1px; +} +div.briefarticle , +div.article { +border-top:1px solid transparent !important; /*fixes white space between sodas more thoroughly*/ +top:0px !important; +} + + +/* Tagging START */ +*+html .head div.tags{ +} + +*+html .head div.tagbody { +/*padding-left:4em;*/ +} + +*+html .head div.tags div.tagtitleopen { +} + +*+html .head div.tags div.tagtitleclosed { +} + +*+html .head div.tags div.tagtitleclosed { +} + +p{clear:both;} + + *+html .head div.tags div.tagtitleclosed a span{ + background-position:0pt 0.15em; + position:relative; + margin:0pt ; + padding:0pt 0pt 0pt 1em; + } + + *+html .head div.tags div.tagtitleopen a span{ + margin-left:2em; + padding-left:-.75em; + } + + *+html .head div.tags div a span{ + padding-right:0.75em !important; + } + + *+html .head div.tags span.tagname:first-child{ + /*margin-left:-1em;*/ + } + + *+html .head div.tags div.tagtitleopen span.tagname:first-child{ + /*margin-left:-.8em;*/ + } + + *+html .head div.tags div.tagtitleopen a span{ + background-position:0pt 0.15em; + position:relative; + margin:0pt ; + padding:0pt 0pt 0pt 1em; + color:#006666; + } + + *+html .head div.tags div.tagtitleopen a { + text-decoration:none; + } + +*+html .briefarticle div.tagtitleclosed, +*+html .article div.tagtitleclosed{ +left:auto; right:0pt; +margin-left:2em; +padding-left:.65em; +text-align:right; +} + +*+html .briefarticle div.tagtitleopen, +*+html .article div.tagtitleopen{ +left:auto; right:0pt; +} + +/*redoing tag arrow hack*/ +div#firehose div.tags div.tagtitleclosed a span{ +padding:.25em 0pt 0pt .75em; +margin:0pt; +background-position:0.1em 0.25em; +} + +div#firehose div.tags div.tagtitleopen a span{ +padding:.0pt 0pt 0pt 1.75em; +margin:0pt; +background-position:0.1em 0.25em; +} + +div#firehose div.tags div.tagtitleopen span.tagname:first-child{ +margin-left:1.75em +} + +div#firehose div.tags { +padding-left:0pt; +margin-left:0pt; +} + +div#firehose div.tagbody{ +padding-left:2.2em; +} + +div.tagbody div span.tagname:first-child{ +padding-left:1.25em; +} +/* Tagging END */ + + + +/* Fixing filter slider */ + +#colorsliderbg { +background:transparent url(//images.slashdot.org/colorscale.png) no-repeat scroll 5px 5px; +display:inline; +height:28px; +padding:4px 160px 3px 0; +position:absolute; +width:155px; +margin-top:6px; +} + +div.box_content input[type=submit]{ + +margin-left:140px; + +} + + + + +span.vballoon-firehoselist span { +margin-top:1.1em; +} + + + +/*------------*/ + + +/* .soda fix */ +div#firehoselist .soda { +width:5px; +} + +/* tabs aren't tall enough */ +#bd .nav #fhtablist li { +border-bottom:5px solid #888; +} + + + Added: test/images/css/ie8-idle.css =================================================================== --- test/images/css/ie8-idle.css (rev 0) +++ test/images/css/ie8-idle.css 2008-12-10 08:02:02 UTC (rev 873) @@ -0,0 +1,89 @@ +.head div.tags div.tagtitleclosed a span { /*fixing position of the arrow bg, moving [+] farther to the right from overlapping bg beneeth it*/ +background-position: -2px 4px; +left:-15px !important; +margin-left:-5px; +} +.head span.tagname:first-child{ /*fixing position of the listing of tags*/ +margin-left:-15px !important; +} + +.head p a.more{ +padding: 0pt; +margin-top:-1em; +} + +#yui-main #firehose .tags div.tagtitleclosed a span{ /*fixing positioning of arrow bg in #firehose tag area*/ +left:-5px !important; +margin-left:-5px; +background-position: 0% 0%; +width:100px; +} + +/*IE8 BUG: li.active bg doesn't work correctly, below patch works but very randomly disappears when you scroll*/ +/* so this need to be tested more on live and watched closely */ +div.nav ul#fhtablist li.active{ /*immitating li.active #fff bg with border*/ +padding-bottom:0pt; +margin-bottom:0pt; +border-bottom:20px solid #fff !important; +border-top:10px solid #fff !important; +} +div.nav{ +margin-bottom:-18px; /*removing excess white space*/ +} +div.nav ul#fhtablist,div.nav ul#fhtablist li{ /*helping immitate bg.*/ +padding-top:4px; +} + + +input[value="Search"]{ /*aligning header search input text box and search button*/ +float:right; +} + +div.yui-t6{ /*getting rid of extra space in the header*/ +margin-top:-15px !important; +} + + +span.nbutton { /*fixing .nbutton*/ +position:absolute; +padding:-0pt !important; +} +span.nbutton p b a { +line-height:2em !important; +} + + +div.paginate span.nbutton { /*homepage only: aligning .nbutton correctly*/ +margin:-.25em 2em !important; +} + + +div#discussion_buttons span.nbutton{ /*TEMPORARY*/ +position:relative !important; +height:100px !important; +} + +.commentwrap{ /*#268*/ +clear:none !important; +} + + + + + + + + +/*---------------------------------*/ +/* tabs aren't tall enough */ +#bd .nav #fhtablist li a { +padding-bottom:1em !important; +} + +#bd .nav { +height:18px; +} + + + + Added: test/images/css/ie8-idle.css.orig =================================================================== --- test/images/css/ie8-idle.css.orig (rev 0) +++ test/images/css/ie8-idle.css.orig 2008-12-10 08:02:02 UTC (rev 873) @@ -0,0 +1,88 @@ +.head div.tags div.tagtitleclosed a span { /*fixing position of the arrow bg, moving [+] farther to the right from overlapping bg beneeth it*/ +background-position: -2px 4px; +left:-15px !important; +margin-left:-5px; +} +.head span.tagname:first-child{ /*fixing position of the listing of tags*/ +margin-left:-15px !important; +} + +.head p a.more{ +padding: 0pt; +margin-top:-1em; +} + +#yui-main #firehose .tags div.tagtitleclosed a span{ /*fixing positioning of arrow bg in #firehose tag area*/ +left:-5px !important; +margin-left:-5px; +background-position: 0% 0%; +width:100px; +} + +/*IE8 BUG: li.active bg doesn't work correctly, below patch works but very randomly disappears when you scroll*/ +/* so this need to be tested more on live and watched closely */ +div.nav ul#fhtablist li.active{ /*immitating li.active #fff bg with border*/ +padding-bottom:0pt; +margin-bottom:0pt; +border-bottom:20px solid #fff !important; +border-top:10px solid #fff !important; +} +div.nav{ +margin-bottom:-18px; /*removing excess white space*/ +} +div.nav ul#fhtablist,div.nav ul#fhtablist li{ /*helping immitate bg.*/ +padding-top:4px; +} + + +input[value="Search"]{ /*aligning header search input text box and search button*/ +float:right; +} + +div.yui-t6{ /*getting rid of extra space in the header*/ +margin-top:-15px !important; +} + + +span.nbutton { /*fixing .nbutton*/ +position:absolute; +padding:-0pt !important; +} +span.nbutton p b a { +line-height:2em !important; +} + + +div.paginate span.nbutton { /*homepage only: aligning .nbutton correctly*/ +margin:-.25em 2em !important; +} + + +div#discussion_buttons span.nbutton{ /*TEMPORARY*/ +position:relative !important; +height:100px !important; +} + +.commentwrap{ /*#268*/ +clear:none !important; +} + + + + + + + + +/*---------------------------------*/ +/* tabs aren't tall enough */ +#bd .nav #fhtablist li a { +padding-bottom:1em !important; +} + +#bd .nav { +height:18px; +} + + + From svnnotify @ sourceforge.jp Wed Dec 10 17:53:37 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Dec 2008 17:53:37 +0900 Subject: [Slashdotjp-dev 1343] [874] make title section link inconspicuously Message-ID: <1228899217.821668.26191.nullmailer@users.sourceforge.jp> Revision: 874 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=874 Author: tach Date: 2008-12-10 17:53:37 +0900 (Wed, 10 Dec 2008) Log Message: ----------- make title section link inconspicuously Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-10 08:02:02 UTC (rev 873) +++ test/images/css/slashdotjp.css 2008-12-10 08:53:37 UTC (rev 874) @@ -99,6 +99,10 @@ margin: 0.3em 0.7em; } +.generaltitle .title h3 a.skin { + color: #699; +} + div.microad_comment { overflow: hidden; background: #FFF; From svnnotify @ sourceforge.jp Wed Dec 10 19:22:34 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 10 Dec 2008 19:22:34 +0900 Subject: [Slashdotjp-dev 1344] [875] fix for section css Message-ID: <1228904554.718954.14485.nullmailer@users.sourceforge.jp> Revision: 875 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=875 Author: tach Date: 2008-12-10 19:22:34 +0900 (Wed, 10 Dec 2008) Log Message: ----------- fix for section css Modified Paths: -------------- test/images/Makefile test/images/css/slashdot_apple.css test/images/css/slashdot_ask.css test/images/css/slashdot_linux.css test/images/css/slashdot_linux.css.jp Added Paths: ----------- test/images/css/slashdot_apple.css.jp test/images/css/slashdot_ask.css.jp test/images/css/slashdot_books.css.jp test/images/css/slashdot_developer.css.jp test/images/css/slashdot_games.css.jp test/images/css/slashdot_hardware.css.jp test/images/css/slashdot_it.css.jp test/images/css/slashdot_mobile.css.jp test/images/css/slashdot_politics.css.jp test/images/css/slashdot_yro.css.jp -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-10 08:53:37 UTC (rev 874) +++ test/images/Makefile 2008-12-10 10:22:34 UTC (rev 875) @@ -21,7 +21,8 @@ wget --no-proxy --no-host-directories --mirror --no-verbose -i - touch images-stamp -css/slashcode_lite.css css/slashcode_low_bw.css css/iestyles.css css/admin.css css/slashdot_linux.css css/comments.css: %: %.orig %.jp +css/slashcode_lite.css css/slashcode_low_bw.css css/iestyles.css css/admin.css css/comments.css: %: %.orig %.jp +$(patsubst %, css/slashdot_%.css, $(sections)): %: %.orig %.jp $(csses): %: css/%.css $(sections): %: css/slashdot_%.css $(patsubst %, css/%.css, $(csses)) $(patsubst %,css/slashdot_%.css, $(sections)): %: %.orig Modified: test/images/css/slashdot_apple.css =================================================================== --- test/images/css/slashdot_apple.css 2008-12-10 08:53:37 UTC (rev 874) +++ test/images/css/slashdot_apple.css 2008-12-10 10:22:34 UTC (rev 875) @@ -24,3 +24,6 @@ { background: #000 url(//images.slashdot.jp/article-title-bg-apple.png) repeat-x left top !important} +.generaltitle .title h3 a.skin { + color: #999; +} Added: test/images/css/slashdot_apple.css.jp =================================================================== --- test/images/css/slashdot_apple.css.jp (rev 0) +++ test/images/css/slashdot_apple.css.jp 2008-12-10 10:22:34 UTC (rev 875) @@ -0,0 +1,3 @@ +.generaltitle .title h3 a.skin { + color: #999; +} Modified: test/images/css/slashdot_ask.css =================================================================== --- test/images/css/slashdot_ask.css 2008-12-10 08:53:37 UTC (rev 874) +++ test/images/css/slashdot_ask.css 2008-12-10 10:22:34 UTC (rev 875) @@ -22,3 +22,6 @@ { background: #666 url(//images.slashdot.jp/block-title-bg.pnh) repeat-x left top !important} +.generaltitle .title h3 a.skin { + color: #CCC; +} Added: test/images/css/slashdot_ask.css.jp =================================================================== --- test/images/css/slashdot_ask.css.jp (rev 0) +++ test/images/css/slashdot_ask.css.jp 2008-12-10 10:22:34 UTC (rev 875) @@ -0,0 +1,3 @@ +.generaltitle .title h3 a.skin { + color: #CCC; +} Added: test/images/css/slashdot_books.css.jp =================================================================== Added: test/images/css/slashdot_developer.css.jp =================================================================== Added: test/images/css/slashdot_games.css.jp =================================================================== Added: test/images/css/slashdot_hardware.css.jp =================================================================== Added: test/images/css/slashdot_it.css.jp =================================================================== Modified: test/images/css/slashdot_linux.css =================================================================== --- test/images/css/slashdot_linux.css 2008-12-10 08:53:37 UTC (rev 874) +++ test/images/css/slashdot_linux.css 2008-12-10 10:22:34 UTC (rev 875) @@ -31,3 +31,7 @@ { text-decoration: none; } + +.generaltitle .title h3 a.skin { + color: #999; +} Modified: test/images/css/slashdot_linux.css.jp =================================================================== --- test/images/css/slashdot_linux.css.jp 2008-12-10 08:53:37 UTC (rev 874) +++ test/images/css/slashdot_linux.css.jp 2008-12-10 10:22:34 UTC (rev 875) @@ -2,3 +2,7 @@ { text-decoration: none; } + +.generaltitle .title h3 a.skin { + color: #999; +} Added: test/images/css/slashdot_mobile.css.jp =================================================================== Added: test/images/css/slashdot_politics.css.jp =================================================================== Added: test/images/css/slashdot_yro.css.jp =================================================================== From svnnotify @ sourceforge.jp Thu Dec 11 13:59:40 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 11 Dec 2008 13:59:40 +0900 Subject: [Slashdotjp-dev 1345] [876] add additional images Message-ID: <1228971580.392531.26939.nullmailer@users.sourceforge.jp> Revision: 876 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=876 Author: tach Date: 2008-12-11 13:59:40 +0900 (Thu, 11 Dec 2008) Log Message: ----------- add additional images Added Paths: ----------- test/images/dark_dwn_fade_100.gif test/images/dark_dwn_fade_30.gif test/images/logo-shill-thinkgeek.gif -------------- next part -------------- Added: test/images/dark_dwn_fade_100.gif =================================================================== (Binary files differ) Property changes on: test/images/dark_dwn_fade_100.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/dark_dwn_fade_30.gif =================================================================== (Binary files differ) Property changes on: test/images/dark_dwn_fade_30.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: test/images/logo-shill-thinkgeek.gif =================================================================== (Binary files differ) Property changes on: test/images/logo-shill-thinkgeek.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream From svnnotify @ sourceforge.jp Thu Dec 11 21:46:50 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 11 Dec 2008 21:46:50 +0900 Subject: [Slashdotjp-dev 1346] [877] fix metamod comment Message-ID: <1228999610.268243.696.nullmailer@users.sourceforge.jp> Revision: 877 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=877 Author: tach Date: 2008-12-11 21:46:50 +0900 (Thu, 11 Dec 2008) Log Message: ----------- fix metamod comment Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-11 04:59:40 UTC (rev 876) +++ test/images/css/slashdotjp.css 2008-12-11 12:46:50 UTC (rev 877) @@ -438,7 +438,7 @@ } #metamod div.commentTop div.title h4 { - padding: 0.3em 0; + padding: 0.3em 0.7em; display: block; } From svnnotify @ sourceforge.jp Thu Dec 11 21:47:04 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 11 Dec 2008 21:47:04 +0900 Subject: [Slashdotjp-dev 1347] [878] make firehose normal Message-ID: <1228999624.802196.800.nullmailer@users.sourceforge.jp> Revision: 878 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=878 Author: tach Date: 2008-12-11 21:47:04 +0900 (Thu, 11 Dec 2008) Log Message: ----------- make firehose normal Modified Paths: -------------- test/images/Makefile test/images/css/firehose.css Added Paths: ----------- test/images/css/firehose.css.jp -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-11 12:46:50 UTC (rev 877) +++ test/images/Makefile 2008-12-11 12:47:04 UTC (rev 878) @@ -21,7 +21,7 @@ wget --no-proxy --no-host-directories --mirror --no-verbose -i - touch images-stamp -css/slashcode_lite.css css/slashcode_low_bw.css css/iestyles.css css/admin.css css/comments.css: %: %.orig %.jp +css/slashcode_lite.css css/slashcode_low_bw.css css/iestyles.css css/admin.css css/comments.css css/firehose.css: %: %.orig %.jp $(patsubst %, css/slashdot_%.css, $(sections)): %: %.orig %.jp $(csses): %: css/%.css $(sections): %: css/slashdot_%.css Modified: test/images/css/firehose.css =================================================================== --- test/images/css/firehose.css 2008-12-11 12:46:50 UTC (rev 877) +++ test/images/css/firehose.css 2008-12-11 12:47:04 UTC (rev 878) @@ -582,3 +582,131 @@ color: white; } +div.article { + margin-top: 0; + margin-bottom: 1em; +} + +.article h3, +.briefarticle h3 { + margin-right: 0 !important; + font-weight: bold; + background: #DDD url(//images.slashdot.jp/dark_fade_lg.png) repeat-x left bottom !important; + position: relative; +} + +.article h3.story, +.briefarticle h3.story { + background: #066 url(//images.slashdot.jp/article-title-bg.png) repeat-x left bottom !important; +} + +.article h3 a, +.briefarticle h3 a { + text-decoration: none; +} + +.article h3.story a, +.briefarticle h3.story a { + color: #FFF; +} + +.briefarticle h3 .date { + font-size: 85%; +} + +.article h3 .date { + display: none; +} + +.article .body .topic { + position: relative; + float: right; + margin: 0 0 .3em .5em; +} + +/* round off corners of item from lick.css */ +.briefarticle h3 { + -moz-border-radius-bottomleft: 0.8em; + -moz-border-radius-bottomright: 0.8em; + -moz-border-radius-topleft: 0.8em; + -moz-border-radius-topright: 0.8em; +} + +.article h3 { + -moz-border-radius-bottomleft: 0; + -moz-border-radius-bottomright: 0; + -moz-border-radius-topleft: 0.8em; + -moz-border-radius-topright: 0.8em; +} + +/* body decoration from lick.css */ +.body { + /* + * border-radius: 0 0 1em 0; + * -moz-border-radius: 0 0 1em 0; + * -webkit-border-bottom-right-radius: 1em; + */ + background: transparent url("//images.slashdot.jp/storylinks-right.png") no-repeat scroll right bottom; + padding: .5em .8em; +} + +.article { + background: transparent url("//images.slashdot.jp/storylinks-bg.png") repeat-x scroll center bottom !important; +} + +/* widget decoration from lick.css */ +#firehose div.tag-widget-stub.body-widget, +#firehose div.tag-widget.body-widget { + padding:0 1em 0 0; + float: right; +} + +.reader { + display: block; + margin-top: 1em; +} + +div#firehoselist .more { + display: inline; + position: relative; + font-weight: bold; +} + +.article .commentcnt { + border-left:1px solid #DDD; + margin: 0 0 0 0.5em; + padding: 0 0 0 0.7em; +} + +/* remove unwanted border */ +.article hr, +.briefarticle hr { + border-color: transparent; + display: none; +} + +/* comment balloon for briefarticle */ +.briefarticle .vballoon-firehoselist { + border: medium none; + display: block; + font-size: 75%; + position: absolute !important; + right: 1.8em !important; + text-align: center; + top: 0.7em !important; + width: 10px; +} + +.briefarticle .vballoon-firehoselist a { + background: url(//images.slashdot.jp/sic_icons.png) no-repeat 0 -1400px; + padding: 4px 20px 3px 2px; + text-align: center; + text-decoration: none; +} + +.article .vballoon-firehoselist, +.briefarticle .vballoon-firehoselist span { + display: none; +} + +/* vim: set ft=css: */ Added: test/images/css/firehose.css.jp =================================================================== --- test/images/css/firehose.css.jp (rev 0) +++ test/images/css/firehose.css.jp 2008-12-11 12:47:04 UTC (rev 878) @@ -0,0 +1,128 @@ +div.article { + margin-top: 0; + margin-bottom: 1em; +} + +.article h3, +.briefarticle h3 { + margin-right: 0 !important; + font-weight: bold; + background: #DDD url(//images.slashdot.jp/dark_fade_lg.png) repeat-x left bottom !important; + position: relative; +} + +.article h3.story, +.briefarticle h3.story { + background: #066 url(//images.slashdot.jp/article-title-bg.png) repeat-x left bottom !important; +} + +.article h3 a, +.briefarticle h3 a { + text-decoration: none; +} + +.article h3.story a, +.briefarticle h3.story a { + color: #FFF; +} + +.briefarticle h3 .date { + font-size: 85%; +} + +.article h3 .date { + display: none; +} + +.article .body .topic { + position: relative; + float: right; + margin: 0 0 .3em .5em; +} + +/* round off corners of item from lick.css */ +.briefarticle h3 { + -moz-border-radius-bottomleft: 0.8em; + -moz-border-radius-bottomright: 0.8em; + -moz-border-radius-topleft: 0.8em; + -moz-border-radius-topright: 0.8em; +} + +.article h3 { + -moz-border-radius-bottomleft: 0; + -moz-border-radius-bottomright: 0; + -moz-border-radius-topleft: 0.8em; + -moz-border-radius-topright: 0.8em; +} + +/* body decoration from lick.css */ +.body { + /* + * border-radius: 0 0 1em 0; + * -moz-border-radius: 0 0 1em 0; + * -webkit-border-bottom-right-radius: 1em; + */ + background: transparent url("//images.slashdot.jp/storylinks-right.png") no-repeat scroll right bottom; + padding: .5em .8em; +} + +.article { + background: transparent url("//images.slashdot.jp/storylinks-bg.png") repeat-x scroll center bottom !important; +} + +/* widget decoration from lick.css */ +#firehose div.tag-widget-stub.body-widget, +#firehose div.tag-widget.body-widget { + padding:0 1em 0 0; + float: right; +} + +.reader { + display: block; + margin-top: 1em; +} + +div#firehoselist .more { + display: inline; + position: relative; + font-weight: bold; +} + +.article .commentcnt { + border-left:1px solid #DDD; + margin: 0 0 0 0.5em; + padding: 0 0 0 0.7em; +} + +/* remove unwanted border */ +.article hr, +.briefarticle hr { + border-color: transparent; + display: none; +} + +/* comment balloon for briefarticle */ +.briefarticle .vballoon-firehoselist { + border: medium none; + display: block; + font-size: 75%; + position: absolute !important; + right: 1.8em !important; + text-align: center; + top: 0.7em !important; + width: 10px; +} + +.briefarticle .vballoon-firehoselist a { + background: url(//images.slashdot.jp/sic_icons.png) no-repeat 0 -1400px; + padding: 4px 20px 3px 2px; + text-align: center; + text-decoration: none; +} + +.article .vballoon-firehoselist, +.briefarticle .vballoon-firehoselist span { + display: none; +} + +/* vim: set ft=css: */ From svnnotify @ sourceforge.jp Fri Dec 12 17:59:41 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 12 Dec 2008 17:59:41 +0900 Subject: [Slashdotjp-dev 1348] [879] translage "hidden comment" Message-ID: <1229072381.583122.5318.nullmailer@users.sourceforge.jp> Revision: 879 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=879 Author: tach Date: 2008-12-12 17:59:41 +0900 (Fri, 12 Dec 2008) Log Message: ----------- translage "hidden comment" Modified Paths: -------------- test/images/Makefile test/images/comments.js -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-11 12:47:04 UTC (rev 878) +++ test/images/Makefile 2008-12-12 08:59:41 UTC (rev 879) @@ -49,7 +49,9 @@ sed -e 's/ Firehose / アレたま /' | \ sed -e 's/innerHTML="Paused"/innerHTML="停止中"/' | \ sed -e 's/innerHTML="Updated"/innerHTML="更新中"/' | \ - sed -e 's/sitename="Slashdot";/sitename="スラッシュドット ジャパン";/' > $@ + sed -e 's/sitename="Slashdot";/sitename="スラッシュドット ジャパン";/' | \ + sed -e 's/hidden comment $@ echo >> $@ if [ -f $@.jp ]; then cat $@.jp >> $@; fi Modified: test/images/comments.js =================================================================== --- test/images/comments.js 2008-12-11 12:47:04 UTC (rev 878) +++ test/images/comments.js 2008-12-12 08:59:41 UTC (rev 879) @@ -340,9 +340,9 @@ } else if (kidhiddens) { var kidstring = '' + kidhiddens; if (kidhiddens == 1) { - kidstring += ' hidden comment'; + kidstring += ' 個の隠れコメント'; } else { - kidstring += ' hidden comments'; + kidstring += ' 個の隠れコメント'; } hiddens_cid.innerHTML = kidstring; hiddens_cid.className = 'show'; From svnnotify @ sourceforge.jp Fri Dec 12 18:33:34 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 12 Dec 2008 18:33:34 +0900 Subject: [Slashdotjp-dev 1349] [880] translate comment message Message-ID: <1229074414.993194.8052.nullmailer@users.sourceforge.jp> Revision: 880 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=880 Author: tach Date: 2008-12-12 18:33:34 +0900 (Fri, 12 Dec 2008) Log Message: ----------- translate comment message Modified Paths: -------------- test/images/Makefile test/images/comments.js -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-12 08:59:41 UTC (rev 879) +++ test/images/Makefile 2008-12-12 09:33:34 UTC (rev 880) @@ -50,6 +50,12 @@ sed -e 's/innerHTML="Paused"/innerHTML="停止中"/' | \ sed -e 's/innerHTML="Updated"/innerHTML="更新中"/' | \ sed -e 's/sitename="Slashdot";/sitename="スラッシュドット ジャパン";/' | \ + sed -e 's/>Cancel Reply返信をキャンセルLoading\.\.\./>読み込み中.../' | \ + sed -e "s/' comments are beneath your threshhold'/'個のコメントが現在のしきい値以下です'/" | \ + sed -e 's/Get More Comments/さらにコメントを取得/' | \ + sed -e 's/Get 1 More Comment/もう一つコメントを取得/' | \ + sed -e "s/'Get ' + num + ' More Comments'/'さらにコメントを' + num + '個取得'/" | \ sed -e 's/hidden comment $@ echo >> $@ Modified: test/images/comments.js =================================================================== --- test/images/comments.js 2008-12-12 08:59:41 UTC (rev 879) +++ test/images/comments.js 2008-12-12 09:33:34 UTC (rev 880) @@ -102,7 +102,7 @@ if (!cd.innerHTML) { var cs = fetchEl('comment_sub_' + cid); if (cs) - cs.innerHTML = 'Loading...'; + cs.innerHTML = '読み込み中...'; fetch_comments.push(cid); fetch_comments_pieces[cid] = 1; doshort = 1; @@ -713,7 +713,7 @@ finishCommentUpdates(); if (roothiddens) { - $dom('roothiddens').innerHTML = roothiddens + ' comments are beneath your threshhold'; + $dom('roothiddens').innerHTML = roothiddens + '個のコメントが現在のしきい値以下です'; $dom('roothiddens').className = 'show'; } else { $dom('roothiddens').className = 'hide'; @@ -1020,7 +1020,7 @@ } }; - shrunkdiv.innerHTML = 'Loading...'; + shrunkdiv.innerHTML = '読み込み中...'; ajax_update(params, 'comment_body_' + cid, handlers); return false; @@ -1123,7 +1123,7 @@ if (postanon && postanon.checked) params['postanon'] = postanon.value; - setReplyMsg(pid, 'Loading...'); + setReplyMsg(pid, '読み込み中...'); ajax_update(params, '', handlers); } @@ -1190,7 +1190,7 @@ params['pid'] = pid; params['sid'] = discussion_id; - replydiv.html('Loading...'); + replydiv.html('読み込み中...'); var handlers = { onComplete: function(transport) { @@ -1201,7 +1201,7 @@ // just don't do it if (reply_link.length) { reply_link_html[pid] = reply_link.html(); - reply_link.html('

    Cancel Reply

    '); + reply_link.html('

    返信をキャンセル

    '); } } if (!nofocus) @@ -1599,12 +1599,12 @@ var num_a; if (!num) - num_a = 'Get More Comments'; + num_a = 'さらにコメントを取得'; else { if (num == 1) - num_a = 'Get 1 More Comment'; + num_a = 'もう一つコメントを取得'; else - num_a = 'Get ' + num + ' More Comments'; + num_a = 'さらにコメントを' + num + '個取得'; } var a = $dom('more_comments_num_a'); From svnnotify @ sourceforge.jp Mon Dec 15 17:00:18 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 15 Dec 2008 17:00:18 +0900 Subject: [Slashdotjp-dev 1350] [881] disable post using "postanon" by logged_in users Message-ID: <1229328018.266990.26684.nullmailer@users.sourceforge.jp> Revision: 881 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=881 Author: tach Date: 2008-12-15 17:00:17 +0900 (Mon, 15 Dec 2008) Log Message: ----------- disable post using "postanon" by logged_in users Modified Paths: -------------- slashjp/trunk/Slash/Utility/Comments/Comments.pm -------------- next part -------------- Modified: slashjp/trunk/Slash/Utility/Comments/Comments.pm =================================================================== --- slashjp/trunk/Slash/Utility/Comments/Comments.pm 2008-12-12 09:33:34 UTC (rev 880) +++ slashjp/trunk/Slash/Utility/Comments/Comments.pm 2008-12-15 08:00:17 UTC (rev 881) @@ -1454,9 +1454,11 @@ if ($comm->{postanon} && $reader->checkAllowAnonymousPosting && $user->{karma} > -1 - && ($discussion->{commentstatus} eq 'enabled' - || - $discussion->{commentstatus} eq 'logged_in')) { +# disable post using "postanon" by logged_in users (2008-12-15, tach @ slashdot.jp) +# && ($discussion->{commentstatus} eq 'enabled' +# || +# $discussion->{commentstatus} eq 'logged_in')) { + && $discussion->{commentstatus} eq 'enabled') { $comm->{anon} = 1; } From svnnotify @ sourceforge.jp Mon Dec 15 17:18:11 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 15 Dec 2008 17:18:11 +0900 Subject: [Slashdotjp-dev 1351] [882] Disable post using "postanon" by logged_in users to "logged_in" type discussions Message-ID: <1229329091.374951.13401.nullmailer@users.sourceforge.jp> Revision: 882 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=882 Author: tach Date: 2008-12-15 17:18:11 +0900 (Mon, 15 Dec 2008) Log Message: ----------- Disable post using "postanon" by logged_in users to "logged_in" type discussions (closes: http://sourceforge.jp/ticket/browse.php?group_id=4&tid=12699 ) Modified Paths: -------------- slashjp/branches/2.5.0.192/debian/changelog slashjp/branches/2.5.0.192/themes/slashcode/htdocs/comments.pl -------------- next part -------------- Modified: slashjp/branches/2.5.0.192/debian/changelog =================================================================== --- slashjp/branches/2.5.0.192/debian/changelog 2008-12-15 08:00:17 UTC (rev 881) +++ slashjp/branches/2.5.0.192/debian/changelog 2008-12-15 08:18:11 UTC (rev 882) @@ -1,8 +1,10 @@ slash (2.5.0.192-22) unstable; urgency=low - * NOT RELEASED YET + * Disable post using "postanon" by logged_in users to "logged_in" type + discussions + (closes: http://sourceforge.jp/ticket/browse.php?group_id=4&tid=12699 ) - -- Taku YASUI Wed, 26 Nov 2008 08:09:06 +0000 + -- Taku YASUI Mon, 15 Dec 2008 08:15:52 +0000 slash (2.5.0.192-21) unstable; urgency=low Modified: slashjp/branches/2.5.0.192/themes/slashcode/htdocs/comments.pl =================================================================== --- slashjp/branches/2.5.0.192/themes/slashcode/htdocs/comments.pl 2008-12-15 08:00:17 UTC (rev 881) +++ slashjp/branches/2.5.0.192/themes/slashcode/htdocs/comments.pl 2008-12-15 08:18:11 UTC (rev 882) @@ -1125,9 +1125,11 @@ if ($form->{postanon} && $reader->checkAllowAnonymousPosting() && $user->{karma} > -1 - && ($discussion->{commentstatus} eq 'enabled' - || - $discussion->{commentstatus} eq 'logged_in')) { +# disable post using "postanon" by logged_in users (2008-12-15, tach @ slashdot.jp) +# && ($discussion->{commentstatus} eq 'enabled' +# || +# $discussion->{commentstatus} eq 'logged_in')) { + && $discussion->{commentstatus} eq 'enabled') { $posters_uid = getCurrentAnonymousCoward('uid'); } From svnnotify @ sourceforge.jp Mon Dec 15 18:15:10 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 15 Dec 2008 18:15:10 +0900 Subject: [Slashdotjp-dev 1352] [883] disable getAd() Message-ID: <1229332510.355353.9245.nullmailer@users.sourceforge.jp> Revision: 883 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=883 Author: tach Date: 2008-12-15 18:15:10 +0900 (Mon, 15 Dec 2008) Log Message: ----------- disable getAd() Modified Paths: -------------- slashjp/trunk/Slash/Utility/Anchor/Anchor.pm slashjp/trunk/debian/changelog -------------- next part -------------- Modified: slashjp/trunk/Slash/Utility/Anchor/Anchor.pm =================================================================== --- slashjp/trunk/Slash/Utility/Anchor/Anchor.pm 2008-12-15 08:18:11 UTC (rev 882) +++ slashjp/trunk/Slash/Utility/Anchor/Anchor.pm 2008-12-15 09:15:10 UTC (rev 883) @@ -640,6 +640,7 @@ ######################################################## sub getAd { + return ""; my($num, $need_box) = @_; $num ||= 1; $need_box ||= 0; Modified: slashjp/trunk/debian/changelog =================================================================== --- slashjp/trunk/debian/changelog 2008-12-15 08:18:11 UTC (rev 882) +++ slashjp/trunk/debian/changelog 2008-12-15 09:15:10 UTC (rev 883) @@ -2,8 +2,9 @@ * New upstream git tag * Add selectable d2 default using constants "d2_default" + * Disable "getAd()" - -- Taku YASUI Tue, 09 Dec 2008 15:15:52 +0900 + -- Taku YASUI Mon, 15 Dec 2008 09:14:51 +0000 slash (2.5.0.231-1) unstable; urgency=low From svnnotify @ sourceforge.jp Tue Dec 16 12:30:11 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 16 Dec 2008 12:30:11 +0900 Subject: [Slashdotjp-dev 1353] [884] merged from upstream T_2_5_0_235 tag Message-ID: <1229398211.596282.7671.nullmailer@users.sourceforge.jp> Revision: 884 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=884 Author: tach Date: 2008-12-16 12:30:11 +0900 (Tue, 16 Dec 2008) Log Message: ----------- merged from upstream T_2_5_0_235 tag Modified Paths: -------------- slashjp/branches/upstream/current/Slash/Apache/User/User.pm slashjp/branches/upstream/current/Slash/Tools/Tools.pm slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/jquery/jquery.autocomplete.css slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/tag-ui.css slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/tag-ui.js slashjp/branches/upstream/current/plugins/Ajax/templates/tag_ui_widget;misc;default slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm slashjp/branches/upstream/current/plugins/FireHose/firehose.pl slashjp/branches/upstream/current/plugins/FireHose/mysql_dump.sql slashjp/branches/upstream/current/plugins/FireHose/mysql_schema.sql slashjp/branches/upstream/current/plugins/FireHose/templates/formatHoseTitle;misc;default slashjp/branches/upstream/current/plugins/FireHose/templates/list;firehose;default slashjp/branches/upstream/current/plugins/FireHose/templates/tag_widget;firehose;default slashjp/branches/upstream/current/plugins/Submit/submit.pl slashjp/branches/upstream/current/plugins/Tags/Tags.pm slashjp/branches/upstream/current/plugins/Tags/archive_globjs_viewed.pl slashjp/branches/upstream/current/plugins/Tags/tagbox.pl slashjp/branches/upstream/current/plugins/Tags/tags_udc.pl slashjp/branches/upstream/current/plugins/Tags/templates/usertagnames;users;default slashjp/branches/upstream/current/plugins/Tags/templates/usertags;users;default slashjp/branches/upstream/current/plugins/Tags/templates/usertagsforname;users;default slashjp/branches/upstream/current/plugins/Users2/Users2.pm slashjp/branches/upstream/current/plugins/Zoo/templates/plainlist;zoo;default slashjp/branches/upstream/current/sql/mysql/defaults.sql slashjp/branches/upstream/current/sql/mysql/upgrades slashjp/branches/upstream/current/tagboxes/CommentScoreReason/CommentScoreReason.pm slashjp/branches/upstream/current/themes/slashcode/THEME slashjp/branches/upstream/current/themes/slashcode/htdocs/users2.pl slashjp/branches/upstream/current/themes/slashcode/templates/u2AdminListComments;users;default slashjp/branches/upstream/current/themes/slashcode/templates/u2ListComments;users;default slashjp/branches/upstream/current/themes/slashcode/templates/u2MainView;users;default slashjp/branches/upstream/current/themes/slashcode/templates/u2Menu;users;default slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBoxes;users;default slashjp/branches/upstream/current/themes/slashcode/templates/user_titlebar;misc;default Added Paths: ----------- slashjp/branches/upstream/current/themes/slashcode/templates/u2_rsslink;users;default slashjp/branches/upstream/current/utils/import_comments_firehose -------------- next part -------------- Modified: slashjp/branches/upstream/current/Slash/Apache/User/User.pm =================================================================== --- slashjp/branches/upstream/current/Slash/Apache/User/User.pm 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/Slash/Apache/User/User.pm 2008-12-16 03:30:11 UTC (rev 884) @@ -444,8 +444,8 @@ } } if ($redirect_to_nonssl) { - # User is not authorized to connect to the SSL webserver. - # Redirect them to the non-SSL URL. + # User is not authorized to connect to the SSL webserver, + # so redirect them to the non-SSL URL. my $newloc = $uri; $newloc .= "?" . $r->args if $r->args; $r->err_header_out(Location => @@ -540,6 +540,74 @@ } } + +{ +my %ops_my = ( + inbox => { args => 'op=list', uri => 'messages.pl' }, + # XXX change messages to be same as /inbox, move this to /my/preferences/messages + messages => { args => 'op=display_prefs', uri => 'messages.pl' }, + comments => { args => 'op=editcomm' }, + homepage => { args => 'op=edithome' }, + password => { args => 'op=changeprefs', uri => 'login.pl' }, + logout => { args => 'op=userclose', uri => 'login.pl' }, + misc => { args => 'op=editmiscopts' }, + amigos => { args => 'op=friendview', uri => 'journal.pl' }, + bookmarks => { args => 'op=showbookmarks' }, + firehose => { args => 'op=userfirehose' }, + preferences => { args => 'op=displayprefs', uri => 'preferences.pl' }, + tags => { args => 'op=showtags' }, + journal => { args => 'op=list', uri => 'journal.pl' }, + + friends => { args => 'op=friends', uri => 'zoo.pl' }, + fans => { args => 'op=fans', uri => 'zoo.pl' }, + freaks => { args => 'op=freaks', uri => 'zoo.pl' }, + foes => { args => 'op=foes', uri => 'zoo.pl' }, + zoo => { args => 'op=all', uri => 'zoo.pl' }, + + default => { args => 'op=edituser' } +); +$ops_my{$_}{uri} ||= 'users.pl' for (keys %ops_my); + +my %ops_u = ( + pubkey => { args => 'nick=__NICK__&uid=__UID__', uri => 'pubkey.pl' }, + submissions => { args => 'nick=__NICK__&uid=__UID__&op=usersubmissions' }, + comments => { args => 'nick=__NICK__&uid=__UID__&op=usercomments' }, + amigos => { args => 'nick=__NICK__&uid=__UID__&op=friendview', uri => 'journal.pl' }, + bookmarks => { args => 'nick=__NICK__&uid=__UID__&op=showbookmarks' }, + firehose => { args => 'uid=__UID__&op=userfirehose' }, + journal => { args => 'nick=__NICK__&uid=__UID__&op=display', uri => 'journal.pl' }, + tags => { args => 'nick=__NICK__&uid=__UID__&op=showtags' }, + + friends => { args => 'nick=__NICK__&uid=__UID__&op=friends', uri => 'zoo.pl' }, + fans => { args => 'nick=__NICK__&uid=__UID__&op=fans', uri => 'zoo.pl' }, + freaks => { args => 'nick=__NICK__&uid=__UID__&op=freaks', uri => 'zoo.pl' }, + foes => { args => 'nick=__NICK__&uid=__UID__&op=foes', uri => 'zoo.pl' }, + zoo => { args => 'nick=__NICK__&uid=__UID__&op=all', uri => 'zoo.pl' }, + + default => { args => 'nick=__NICK__&uid=__UID__' }, +); +$ops_u{$_}{uri} ||= 'users.pl' for (keys %ops_u); + +my %ops_u2 = ( + submissions => { args => 'nick=__NICK__&uid=__UID__&dp=submissions' }, + comments => { args => 'nick=__NICK__&uid=__UID__&dp=comments' }, + amigos => { args => 'nick=__NICK__&uid=__UID__&dp=journalfriends' }, + bookmarks => { args => 'nick=__NICK__&uid=__UID__&dp=bookmarks' }, + firehose => { args => 'uid=__UID__&dp=firehose' }, + admin => { args => 'nick=__NICK__&uid=__UID__&dp=admin' }, + journal => { args => 'nick=__NICK__&uid=__UID__&dp=journal' }, + tags => { args => 'nick=__NICK__&uid=__UID__&dp=tags&op=userinfo' }, + + friends => { args => 'nick=__NICK__&uid=__UID__&dp=friends' }, + fans => { args => 'nick=__NICK__&uid=__UID__&dp=fans' }, + freaks => { args => 'nick=__NICK__&uid=__UID__&dp=freaks' }, + foes => { args => 'nick=__NICK__&uid=__UID__&dp=foes' }, + zoo => { args => 'nick=__NICK__&uid=__UID__&dp=all' }, + + default => { args => 'nick=__NICK__&uid=__UID__' } +); +$ops_u2{$_}{uri} ||= 'users2.pl' for (keys %ops_u2); + ######################################################## # XXX May want to rename this, since it's being used for a user's # prefs/info pages (/my/foo) and for the global handlers too (/foo). @@ -616,129 +684,54 @@ my $logged_in = $r->header_in('Cookie') =~ $USER_MATCH; my $try_login = !$logged_in && $logtoken; - my $found_the_op = 0; + my($r_args, $r_uri); + if ($logged_in || $try_login) { + my $r_op = $ops_my{$op}; + $r_op ||= $ops_my{default}; + ($r_args, $r_uri) = @{$r_op}{qw(args uri)}; + if ($op eq 'inbox') { - $found_the_op = 1; - my $args = 'op=list'; if ($extra =~ m{^ (rss|atom) /? $}x) { - $args .= '_rss'; - $args .= "&logtoken=$logtoken" if $try_login; - $args .= "&content_type=$1"; + $r_args .= '_rss'; + $r_args .= "&logtoken=$logtoken" if $try_login; + $r_args .= "&content_type=$1"; } - $r->args($args); - $r->uri('/messages.pl'); - $r->filename($constants->{basedir} . '/messages.pl'); } elsif ($logged_in) { - $found_the_op = 1; if ($op eq 'journal') { - my $args; - if ($extra =~ /^\d+$/) { - $args = "id=$extra&op=edit"; - } elsif ($extra eq 'friends') { - $args = "op=friendview"; - } else { - $args = "op=list"; + $extra .= '/'; + if ($extra =~ /^(\d+)\/$/) { + $r_args = "id=$1&op=edit"; + } elsif ($extra =~ s/^friends\///) { + $r_args = "op=friendview"; } - $r->args($args); - $r->uri('/journal.pl'); - $r->filename($constants->{basedir} . '/journal.pl'); - } elsif ($op eq 'discussions') { - $r->args("op=personal_index"); - $r->uri('/comments.pl'); - $r->filename($constants->{basedir} . '/comments.pl'); - - - } elsif ($op eq 'messages') { # XXX change to be same as /inbox, move this to /my/preferences/messages - $r->args("op=display_prefs"); - $r->uri('/messages.pl'); - $r->filename($constants->{basedir} . '/messages.pl'); - } elsif ($op =~ /^(?:friends|fans|freaks|foes|zoo)$/) { - my $args = "op=$op"; $extra .= '/'; - - if ($op eq 'friends' && $extra =~ s/^friends\///) { - $args =~ s/friends/fof/; - } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { - $args =~ s/friends/eof/; - } elsif ($op eq 'zoo') { - $args =~ s/zoo/all/; + if ($op eq 'friends') { + if ($extra =~ s/^friends\///) { + $r_args =~ s/friends/fof/; + } elsif ($extra =~ s/^foes\///) { + $r_args =~ s/friends/eof/; + } } - $r->args($args); - $r->uri('/zoo.pl'); - $r->filename($constants->{basedir} . '/zoo.pl'); - - } elsif ($op eq 'comments') { - $r->args("op=editcomm"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - - } elsif ($op eq 'homepage') { - $r->args("op=edithome"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - - } elsif ($op eq 'password') { - $r->args("op=changeprefs"); - $r->uri('/login.pl'); - $r->filename($constants->{basedir} . '/login.pl'); - - } elsif ($op eq 'logout') { - $r->args("op=userclose"); - $r->uri('/login.pl'); - $r->filename($constants->{basedir} . '/login.pl'); - - } elsif ($op eq 'misc') { - $r->args("op=editmiscopts"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - - } elsif ($op eq 'amigos') { - $r->args("op=friendview"); - $r->uri('/journal.pl'); - $r->filename($constants->{basedir} . '/journal.pl'); - } elsif ($op eq 'tags') { - my $args = 'op=showtags'; # XXX "!" is a 'reserved' char in URI, escape it here? - $args .= "&tagname=$extra" if $extra; - $r->args($args); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - - } elsif ($op eq 'bookmarks') { - $r->args("op=showbookmarks"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - - } elsif ($op eq 'firehose') { - my $filter = fixparam("user:"); - $r->args("op=userfirehose"); - $r->uri('users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - - } elsif ($op eq 'preferences') { - $r->args("op=displayprefs"); - $r->uri('/preferences.pl'); - $r->filename($constants->{basedir} . '/preferences.pl'); - - } else { - $r->args("op=edituser"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); + $r_args .= "&tagname=$extra" if $extra; } } + } else { + undef $r_args; + $r_uri = 'login.pl'; } - if (!$found_the_op) { - $r->uri('/login.pl'); - $r->filename($constants->{basedir} . '/login.pl'); - } + $r->args($r_args) if defined($r_args); + $r->uri('/' . $r_uri); + $r->filename($constants->{basedir} . '/' . $r_uri); + return OK; } elsif ($uri =~ m[^/bookmarks (?: /(.*) | /? ) $]x) { @@ -770,207 +763,84 @@ my $nick_orig = $nick; $nick = fixparam($nick); # make safe to pass back to script - # maybe we should refactor this code a bit ... - # have a hash that points op to args and script name -- pudge - # e.g.: - # my %ops = ( journal => ['/journal.pl', 'op=display'], ... ); - # $r->args($ops{$op}[1] . "&nick=$nick"); - # $r->uri($ops{$op}[0]); - # $r->filename($constants->{basedir} . $ops{$op}[0]); + my($r_args, $r_uri); if (!$uid) { - $r->args("op=no_user"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); + $r_args = 'op=no_user'; + $r_uri = 'users.pl'; - } elsif ($op eq 'journal') { - $extra .= '/' . $more; + } else { + my $r_op = $ops_u{$op}; + my $u2 = 0; + if ($constants->{u2} || $saveuri =~ m[^/(?:%5[eE]|\^)(.+)]) { + $r_op = $ops_u2{$op} if $ops_u2{$op}; + $u2 = 1; + } + $r_op ||= $u2 ? $ops_u2{default} : $ops_u{default}; + ($r_args, $r_uri) = @{$r_op}{qw(args uri)}; - if ( - ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) - && - !($extra =~ m{^ (rss|atom) /?$}x || $extra =~ /^(\d+)\/$/) - ) { - my $args = "nick=$nick&uid=$uid&dp=journal"; + # special cases for handling $extra + if ($op eq 'journal') { + $extra .= '/' . $more; + if ($u2 && !($extra =~ m{ (?:rss|atom) /?$}x || $extra =~ /^(\d+)\/$/)) { + # show hose in friend view (op=journalfriends) + $r_args .= 'friends' if $extra =~ /^friends\//; + } else { + # override u2 for rss|atom and \d + ($r_args, $r_uri) = @{ $ops_u{journal} }{ qw(args uri) }; - if ($extra =~ s/^friends\///) { # show hose in friend view - $args .= 'friends'; - } + if ($extra =~ /^(\d+)\/$/) { + $r_args .= "&id=$1"; + } elsif ($extra =~ s/^friends\///) { + $r_args =~ s/display/friendview/; + } + if ($extra =~ m{^ (rss|atom) / ? $}x) { + $r_args .= "&logtoken=$logtoken" if $logtoken; + $r_args .= "&content_type=$1"; + } - $r->args($args); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - - } else { - my $args = "op=display&nick=$nick&uid=$uid"; - if ($extra =~ /^(\d+)\/$/) { - $args .= "&id=$1"; - } elsif ($extra =~ s/^friends\///) { - $args =~ s/display/friendview/; + $r_args .= "&$query"; } - if ($extra =~ m{^ (rss|atom) / ? $}x) { - $args .= "&logtoken=$logtoken" if $logtoken; - $args .= "&content_type=$1"; - } - $args .= "&$query"; - $r->args($args); - $r->uri('/journal.pl'); - $r->filename($constants->{basedir} . '/journal.pl'); - } - } elsif ($op eq 'discussions') { - $r->args("op=creator_index&nick=$nick&uid=$uid"); - $r->uri('/comments.pl'); - $r->filename($constants->{basedir} . '/comments.pl'); - - } elsif ($op eq 'pubkey') { - $r->args("nick=$nick&uid=$uid"); - $r->uri('/pubkey.pl'); - $r->filename($constants->{basedir} . '/pubkey.pl'); - - } elsif ($op eq 'submissions') { - if ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) { - $r->args("nick=$nick&dp=submissions&uid=$uid"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("nick=$nick&op=usersubmissions&uid=$uid"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } - } elsif ($op eq 'comments') { - if ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) { - $r->args("nick=$nick&dp=comments&uid=$uid"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("nick=$nick&op=usercomments&uid=$uid"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } - } elsif ($op =~ /^(?:friends|fans|freaks|foes|zoo)$/) { - if ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) { - my $args = "nick=$nick&uid=$uid&dp="; + } elsif ($op =~ /^(?:friends|fans|freaks|foes|zoo)$/) { $extra .= '/' . $more; - - if ($op eq 'friends' && $extra =~ s/^friends\///) { - $op =~ s/friends/fof/; - } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { - $op =~ s/friends/eof/; - } elsif ($op eq 'zoo') { - $op =~ s/zoo/all/; + if ($u2 && $extra =~ m{ (?:rss|atom) /?$}x) { + # override u2 for rss|atom and \d + ($r_args, $r_uri) = @{ $ops_u{journal} }{ qw(args uri) }; } - if ($extra =~ m{^ (rss|atom) /?$}x) { - my $args = "nick=$nick&uid=$uid&op=$op"; - $args .= "&content_type=$1"; - - $r->args($args); - $r->uri('/zoo.pl'); - $r->filename($constants->{basedir} . '/zoo.pl'); - } else { - $r->args($args . $op); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); + if ($op eq 'friends') { + if ($extra =~ s/^friends\///) { + $r_args =~ s/friends/fof/; + } elsif ($extra =~ s/^foes\///) { + $r_args =~ s/friends/eof/; + } } - } else { - my $args = "op=$op&nick=$nick&uid=$uid"; - $extra .= '/' . $more; - if ($op eq 'friends' && $extra =~ s/^friends\///) { - $args =~ s/friends/fof/; - } elsif ($op eq 'friends' && $extra =~ s/^foes\///) { - $args =~ s/friends/eof/; - } elsif ($op eq 'zoo') { - $args =~ s/zoo/all/; - } - if ($extra =~ m{^ (rss|atom) /?$}x) { - $args .= "&content_type=$1"; + $r_args .= "&content_type=$1"; } - $r->args($args); - $r->uri('/zoo.pl'); - $r->filename($constants->{basedir} . '/zoo.pl'); - } - } elsif ($op eq 'amigos') { - if ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) { - $r->args("nick=$nick&uid=$uid&dp=journalfriends"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("op=friendview&nick=$nick&uid=$uid"); - $r->uri('/journal.pl'); - $r->filename($constants->{basedir} . '/journal.pl'); - } - - } elsif ($op eq 'tags') { - if ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) { - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - my $args; - if ($extra) { - $args = "op=userinfo&nick=$nick&dp=usertag&uid=$uid"; - $args .= "&tagname=$extra" if $extra; - } else { - $args = "op=userinfo&uid=$uid&nick=$nick&dp=tags"; - } - $r->args($args); - } else { - my $args = "op=showtags&nick=$nick&uid=$uid"; + } elsif ($op eq 'tags') { + $r_args =~ s/dp=tags/dp=usertag/ if $u2 && $extra; # XXX "!" is a 'reserved' char in URI, escape it here? - $args .= "&tagname=$extra" if $extra; - $r->args($args); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); + $r_args .= "&tagname=$extra" if $extra; } + } - } elsif ($op eq 'bookmarks') { - if ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) { - $r->args("nick=$nick&dp=bookmarks&uid=$uid"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("op=showbookmarks&nick=$nick&uid=$uid"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } - } elsif ($op eq 'firehose') { - if ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) { - my $filter = fixparam("\"user:$nick_orig\""); - $r->args("dp=firehose&uid=$uid"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - my $filter = fixparam("\"user:$nick_orig\""); - $r->args("op=userfirehose&uid=$uid"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } - } elsif (($op eq 'admin' && $constants->{u2}) || - ($op eq 'admin' && $saveuri =~ m[^/(?:%5[eE]|\^)(.+)])) { - $r->args("nick=$nick&dp=admin&uid=$uid"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); + $r_args =~ s/__NICK__/$nick/; + $r_args =~ s/__UID__/$uid/; - } else { - if ($saveuri =~ m[^/(?:%5[eE]|\^)(.+)] || $constants->{u2}) { - $r->args("nick=$nick&uid=$uid"); - $r->uri('/users2.pl'); - $r->filename($constants->{basedir} . '/users2.pl'); - } else { - $r->args("nick=$nick&uid=$uid"); - $r->uri('/users.pl'); - $r->filename($constants->{basedir} . '/users.pl'); - } - } + $r->args($r_args) if defined($r_args); + $r->uri('/' . $r_uri); + $r->filename($constants->{basedir} . '/' . $r_uri); return OK; } return DECLINED; -} +} } Modified: slashjp/branches/upstream/current/Slash/Tools/Tools.pm =================================================================== --- slashjp/branches/upstream/current/Slash/Tools/Tools.pm 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/Slash/Tools/Tools.pm 2008-12-16 03:30:11 UTC (rev 884) @@ -20,7 +20,7 @@ our @EXPORT = qw( pmpath pathpm pmpathsrc counterpart srcfile installfile basefile basefile basename dirname - syntax_check %CONFIG + syntax_check %CONFIG $MAIN_REPO @BIN_EXT $BIN_EXT $BIN_RE myprint myexit mysystem myask ); @@ -28,6 +28,7 @@ our @BIN_EXT = qw(gz tgz bz2 gif jpg png ico); our $BIN_EXT = join '|', @BIN_EXT; our $BIN_RE = qr/\.(?:$BIN_EXT)$/; +our $MAIN_REPO = 'master'; my(%cache); # if cache gets stale, you can use force => 0, or heck, just Modified: slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js =================================================================== --- slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js 2008-12-16 03:30:11 UTC (rev 884) @@ -40,6 +40,7 @@ firehose_settings.section = 0; firehose_settings.more_num = 0; firehose_settings.metamod = 0; + firehose_settings.admin_filters = 0; // Settings to port out of settings object firehose_item_count = 0; @@ -447,6 +448,10 @@ } } + if (name == "view" || name == "tab") { + $('#firehoselist').html("

    Loading New Items

    "); + } + if (name == "color" || name == "tab" || name == "pause" || name == "startdate" || name == "duration" || name == "issue" || name == "pagesize") { params[name] = value; if (name == "startdate") { @@ -952,6 +957,9 @@ var saved_selection = new $.TextSelection(gFocusedText); var $menu = $('.ac_results:visible'); + var add_behind_scenes = $("#firehoselist .loading_msg").length; + if (add_behind_scenes) { $('.busy').show(); } + if (firehose_updates.length > 0) { var el = firehose_updates.pop(); var fh = 'firehose-' + el[1]; @@ -968,7 +976,14 @@ need_animate = 0; } } else if (firehose_after[el[1]] && $('#firehose-' + firehose_after[el[1]]).size()) { - $('#firehose-' + firehose_after[el[1]]).before(el[2]); + + // don't insert a new article between the floating slashbox ad and its article + var $landmark = $('#firehose-' + firehose_after[el[1]]), $prev = $landmark.prev(); + if ( $prev.is('#floating-slashbox-ad') ) { + $landmark = $prev; + } + + $landmark.before(el[2]); if (!isInWindow($dom('title-'+ firehose_after[el[1]]))) { need_animate = 0; } @@ -981,6 +996,10 @@ $('#firehoselist').prepend(el[2]); } + if (add_behind_scenes) { + need_animate = 0; + } + var toheight = 50; if (fh_view_mode == "full") { toheight = 200; @@ -1055,7 +1074,7 @@ need_animate = 0; } - if ((firehose_removals < 10 ) || !need_animate) { + if ((firehose_removals < 10 ) && !add_behind_scenes ) { myAnim.onComplete.subscribe(function() { var elem = this.getEl(); if (elem && elem.parentNode) { @@ -1073,12 +1092,23 @@ } } } - if(!need_animate) { - wait_interval = 10; + if(!need_animate || add_behind_scenes) { + wait_interval = 0; } + + //console.log("Wait: " + wait_interval); setTimeout(firehose_handle_update, wait_interval); } else { firehose_reorder(); + if (add_behind_scenes) { + $('#firehoselist .loading_msg').each(function() { if(this && this.parentNode) { this.parentNode.removeChild(this);} }); + if (elem && elem.parentNode) { + elem.parentNode.removeChild(elem); + } + $('#firehoselist').show('slow'); + $('.busy').hide(); + + } firehose_get_next_updates(); } @@ -1189,6 +1219,10 @@ firehose_updates_size = firehose_updates.length; firehose_removed_first = 0; processed = processed + 1; + if ($('#firehoselist .loading_msg').length) { + $('#firehoselist').hide(); + $('#firehoselist .loading_msg').show(); + } firehose_handle_update(); } } @@ -1885,7 +1919,7 @@ return 0; if ($article) - $article = Slash.Firehose.at_or_below_ad_space($article); + $article = Slash.Firehose.ready_ad_space($article); else $article = Slash.Firehose.choose_article_for_next_ad(); @@ -1931,171 +1965,149 @@ // -var AD_HEIGHT = 300, AD_WIDTH = 300, FOOTER_PADDING = 5, +var AD_HEIGHT = 300, AD_WIDTH = 300, - current_mode = { has_content: false }, $ad_position, // 300x300 div that holds the current (if any) ad - $current_article, // the article to which that ad is attached - $slashboxes, // the container in which the ad floats - $footer; + ad_target_article, // the article to which that ad is attached + $ad_offset_parent, // the container in which the ad _position_ floats (between articles) + $slashboxes, // the container (sort of) in which the ad content actually appears (though not as a child) + $footer, + is_ad_locked; // ad must be shown for at least 30 seconds + $(function(){ + is_ad_locked = false; + $ad_position = $([]); + ad_target_article = null; + $footer = $('#ft'); - $slashboxes = $('#slashboxes, #userboxes'). - eq(0). - append('
    '); - $ad_position = $slashboxes.find('#floating-slashbox-ad'); + $slashboxes = $('#slashboxes, #userboxes').eq(0); - $(window).scroll(fix_ad_position); $('#firehoselist'). bind('articlesMoved', fix_ad_position). bind('beforeArticleRemoved', notice_article_removed); - - $ad_position. - bind('adArticleRemoved', function(){ - set_current_ad($current_article.next(':visible')); - }); }); function notice_article_removed( event, removed_article ){ - if ( current_mode.has_content && $current_article[0]===removed_article ) { - $ad_position.trigger('adArticleRemoved'); + if ( ad_target_article === removed_article ) { + remove_ad(); } } -function if_same_mode( a, b ){ - return (!a.has_content && !b.has_content) || - ( - (a.has_content == b.has_content) && - (a.is_in_window == b.is_in_window) && - (a.pinned == b.pinned) - ); -} +function remove_ad(){ + ad_target_article = null; -function set_mode( next ){ - var cur = current_mode; + if ( is_ad_locked ) { + return false; + } - // if it's actually a change... - if ( ! if_same_mode(cur, next) ) { - if ( ! next.has_content ) { - $ad_position.hide(); - } else if ( cur.pinned != next.pinned ) { - $ad_position.hide(); + $ad_position.remove(); + $ad_position = $([]); + return true; +} - var next_class = next.pinned || ''; - if ( next.pinned == 'Article' ) { - $current_article. - prepend($ad_position). - css('overflow', 'visible'); - } else if ( next.pinned == 'Bottom' ) { - $slashboxes.after($ad_position); - next_class += ' yui_b'; - } else { - $slashboxes.append($ad_position); - } +function insert_ad( $article, ad ){ + if ( !ad || !$article || $article.length != 1 || !remove_ad() ) { + return; + } - $ad_position.setClass(next_class); + ad_target_article = $article[0]; + $ad_position = $article. + before('
    '). + prev(). + append(ad); - if ( !cur.has_content ) { - $ad_position.fadeIn('fast'); - } else { - $ad_position.show(); - } + setTimeout(function(){ + is_ad_locked = false; + if ( ! ad_target_article ) { + remove_ad(); } + }, 30000); + is_ad_locked = true; - var event_name; - if ( cur.has_content != next.has_content ) { - event_name = next.has_content ? 'adInserted' : 'adRemoved'; - } else if ( cur.pinned != next.pinned ) { - event_name = 'adPinnedTo' + next.pinned; - } else if ( cur.is_in_window != next.is_in_window ) { - event_name = next.is_in_window ? 'adMovedIntoWindow' : 'adMovedOutOfWindow'; - } else if ( cur.top != next.top ) { - event_name = 'adMoved'; - } + if ( ! $ad_offset_parent ) { + $ad_offset_parent = $article.offsetParent(); + } - current_mode = next; - - if ( event_name ) { - $ad_position.trigger(event_name); - } - } + fix_ad_position(); + $ad_position.fadeIn('fast'); } -function set_current_ad( $new_article, new_ad ){ - var have_new_article = $new_article && $new_article.length, - clear_all = !have_new_article && !new_ad; +function nearest_article_edge(){ + // Why not just ask for the offset of $ad_position? + // ...because $ad_position may be absolutely positioned already - if ( !current_mode.has_content && !new_ad ) { - return; + var $article = $ad_position.next(); + var pos = $article.offset(); + if ( pos !== undefined ) { + return pos.top; } - if ( clear_all || new_ad ) { - set_mode({ has_content: false }); - $ad_position.empty(); + $article = $ad_position.prev(); + pos = $other.offset(); + if ( pos !== undefined ) { + return pos.top + $article.height(); } - if ( !clear_all ) { - if ( new_ad ) { - current_mode.will_have_content = true; - $ad_position.append(new_ad); - } - if ( have_new_article ) { - $current_article = $new_article.eq(0); - } - fix_ad_position(); - } else { - $current_article = null; - } + return 0; } +function pin( lo, n, hi ){ + // return n', the nearest value to n such that lo<=n'<=hi + + if ( hi < lo ) return { value: undefined, description: 'Empty' }; // pin-range is empty, there is no n' such that lo<=n'<=hi + if ( n <= lo ) return { value: lo, description: 'Min' }; + if ( n <= hi ) return { value: n, description: 'No' }; + return { value: hi, description: 'Max' }; +} + function fix_ad_position(){ - if ( current_mode.has_content || current_mode.will_have_content ) { + if ( $ad_position.length ) { var footer = $footer.offset(), - slashboxes = $slashboxes.offset(), - article = $current_article.offset(); + slashboxes = $slashboxes.offset(); - if ( ! footer || ! slashboxes || ! article ) { + if ( ! footer || ! slashboxes ) { return; } - var space_top = slashboxes.top + $slashboxes.height(), - space_bottom = footer.top - FOOTER_PADDING, - window_top = window.pageYOffset, - window_bottom = window_top + window.innerHeight, - ad_top = Math.max(space_top, Math.min(article.top, space_bottom-AD_HEIGHT)), - next_mode = { has_content: true, - is_in_window: !( ad_top > window_bottom || ad_top + AD_HEIGHT < window_top ), - top: ad_top - slashboxes.top - }; + var min_top = slashboxes.top + $slashboxes.height(), + max_top = footer.top - AD_HEIGHT, + pinned_top = pin(min_top, nearest_article_edge(), max_top), - if ( space_bottom - space_top < AD_HEIGHT ) { - next_mode.pinned = 'SqueezedOut'; - } else if ( ad_top == article.top ) { - next_mode.pinned = 'Article'; - } else if ( ad_top < article.top ) { - next_mode.pinned = 'Bottom'; - } else if ( ad_top > (article.top + $current_article.height()) ) { - next_mode.pinned = 'TopDisconnected'; - } else { - next_mode.pinned = 'Top'; + prev_top = $ad_position.offset().top, + prev_class = $ad_position.attr('className'), + prev_pinned = prev_class !== 'No', + + next_top = pinned_top.value, + next_class = pinned_top.description, + next_pinned = next_class !== 'No', + next_css = {}; + + if ( prev_pinned > next_pinned ) { + // if we're un-pinning the ad, clear our explicit 'top' setting + next_css.top = ''; + } else if ( next_pinned && (!prev_pinned || prev_top!=next_top) ) { + // else if we're becoming pinned or are already pinned, but need a different top + next_css.top = '' + (next_top - $ad_offset_parent.offset().top) + 'px'; } - set_mode(next_mode); + if ( next_css.top !== undefined ) { + $ad_position.css(next_css); + } + + if ( prev_class != next_class ) { + $ad_position.setClass(next_class); + } } } Slash.Util.Package({ named: 'Slash.Firehose.floating_slashbox_ad', api: { - is_visible: function(){ return current_mode.has_content && current_mode.is_in_window; }, - remove: function(){ set_current_ad() }, - current_article: function(){ return $current_article; }, - is_pinned_to: function(){ return current_mode.pinned; }, - bind: function(){ return $ad_position.bind.apply($ad_position, arguments); }, - unbind: function(){ return $ad_position.unbind.apply($ad_position, arguments); } + is_visible: function(){ return isInWindow($ad_position.children().get(0)); }, + remove: function(){ remove_ad() }, }, - stem_function: set_current_ad + stem_function: insert_ad }); Slash.Firehose.articles_on_screen = function(){ @@ -2146,21 +2158,26 @@ } } -Slash.Firehose.at_or_below_ad_space = function( $articles ){ +// filter $articles to only those adjacent to available space for an ad +// return empty list if none, or if not enough time has yet passed to place a new ad +Slash.Firehose.ready_ad_space = function( $articles ){ + var $result = $([]); try { - var min_top = Math.max(window.pageYOffset, $slashboxes.offset().top + $slashboxes.height()); - return $articles.filter(function(){ - return $(this).offset().top >= min_top; - }); + if ( !is_ad_locked ) { + var min_top = Math.max(window.pageYOffset, $slashboxes.offset().top + $slashboxes.height()); + $result = $articles.filter(function(){ + return $(this).offset().top >= min_top; + }); + } } catch ( e ) { // don't throw } // just tell the caller no articles supplied are at or below ad-space - return $([]); + return $result; } Slash.Firehose.choose_article_for_next_ad = function(){ - var Fh=Slash.Firehose, $articles=Fh.at_or_below_ad_space(Fh.articles_on_screen()); + var Fh=Slash.Firehose, $articles=Fh.ready_ad_space(Fh.articles_on_screen()); return $articles.eq( Math.floor(Math.random()*$articles.length) ); } Modified: slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/jquery/jquery.autocomplete.css =================================================================== --- slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/jquery/jquery.autocomplete.css 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/jquery/jquery.autocomplete.css 2008-12-16 03:30:11 UTC (rev 884) @@ -31,6 +31,7 @@ in relative units scroll will be broken in firefox */ line-height: 16px; + text-align: left; overflow: hidden; } Modified: slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/tag-ui.css =================================================================== --- slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/tag-ui.css 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/tag-ui.css 2008-12-16 03:30:11 UTC (rev 884) @@ -138,11 +138,12 @@ /* no mouse over highlight for datatypes */ .tag-display li.d:hover span.tag { color: inherit; - background-color: inherit; + background-color: inherit !important; } div.tag-display, -div.tag-display > h1.legend { +div.tag-display > h1.legend, +div.tag-display > ul { width: auto !important; } @@ -314,9 +315,10 @@ div.tag-display-stub, div.tag-display { - display: inline !important; + display: inline; position: relative; margin-left: 0 !important; + overflow: hidden; /* border:1px dotted #000; *//* troubleshooting safari */ } @@ -539,3 +541,14 @@ /* div.tag-display ul, div.tag-display li {display: inline-block;} */ + + +/*Opera tag bugs*/ +div.tag-widget.opera div.tag-display li {/*ensures the damn pop up things stay with its parents and don't "run away"*/ +display: inline-block +} + +div.tag-widget.opera {/*fixing spacing between this widget and article*/ +padding-top:18px; +margin-top:-16px; +} Modified: slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/tag-ui.js =================================================================== --- slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/tag-ui.js 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/tag-ui.js 2008-12-16 03:30:11 UTC (rev 884) @@ -571,68 +571,8 @@ } -function $position_context_display( $display ){ - if ( ! $related_trigger || ! $related_trigger.length ) { - return $display; - } - - var RIGHT_PADDING = 18; - - var $entry = $display.nearest_parent('[tag-server]'); - var left_edge = $entry.offset().left; - var right_edge = left_edge + $entry.width() - RIGHT_PADDING; - - var global_align = $related_trigger.offset().left; - global_align = Math.max(left_edge, global_align); - - var need_minimal_fix = true; - if ( $display.is(':visible') ) { - try { - var display_width = $display.children('ul:first').width(); - $display.css({ - right: '' - }); - - global_align = Math.max( - left_edge, - Math.min(right_edge-display_width, global_align) ); - var distance = global_align - $display.offset().left; - if ( distance ) { - $display.animate({left: '+='+distance}); - } - - need_minimal_fix = false; - } catch (e0) { - } - } - - if ( need_minimal_fix ) { - try { - var BROKEN_NEGATIVE_MARGIN_CALCULATION = -10; - - // we may not be visible, so can't trust offsetParent() on ourself - // better get it from our parent - var x_adjust = -$display.parent().offsetParent().offset().left; - $display.css({ - left: global_align + x_adjust + BROKEN_NEGATIVE_MARGIN_CALCULATION, - right: right_edge + x_adjust - }); - } catch (e1) { - } - } - - return $display; -} - -function $queue_reposition( $display, if_only_width ){ - return $display.queue(function(){ - $position_context_display($display, if_only_width); - $(this).dequeue(); - }); -} - var gFocusedText; -var $previous_context_trigger = $().filter(); +var $previous_context_trigger = $([]); var tag_widget_fns = { @@ -684,11 +624,13 @@ set_context: function( context, force ){ var widget = this; + var new_trigger = !$previous_context_trigger.length || ($previous_context_trigger[0] !== $related_trigger[0]); + var new_context = context != this._current_context; + if ( context ) { - if ( context == this._current_context && - (!$previous_context_trigger.length || - $related_trigger[0] === $previous_context_trigger[0]) && !force ) { + if ( !new_context && !new_trigger && !force ) { context = ''; + new_context = true; } else { if ( !(context in suggestions_for_context) && context in context_triggers ) { context = (this._current_context != 'default') ? 'default' : ''; @@ -703,52 +645,65 @@ this._context_timeout = null; } - // only have to set_tags on the display if the context really is changing - if ( context != this._current_context ) { + // only have to set_tags on the display if the something really changed + if ( new_context || new_trigger ) { var context_tags = []; if ( context && context in suggestions_for_context ) { context_tags = list_as_array(suggestions_for_context[context]); } - var has_tags = context_tags.length !== 0; - $('.ready[context=related]', this) .each(function(){ var display = this; var $display = $(display); - var had_tags = $display.find('span.tag').length !== 0; - - // animations are automatically queued... - if ( had_tags < has_tags ) { - $display.css('display', 'none'); - } else if ( had_tags > has_tags ) { + if ( $display.find('span.tag').length ) { $display.slideUp(400); } - // ...when regular code needs to synchronize with animation - $display.queue(function(){ - // I have to queue that code up myself - display.set_tags(context_tags, { classes: 'suggestion' }); - if ( has_tags && widget.modify_context ) { - widget.modify_context(display, context); - } - $display.dequeue(); - }); - if ( has_tags ) { - $queue_reposition($display); - if ( !had_tags ) { - $queue_reposition($display.slideDown(400)); - } + + + + if ( context_tags.length ) { + var $parent = $display.parent(), + global_left = $related_trigger.offset().left, + parent_left = $parent.offset().left, + best_left = global_left - parent_left; + + $display.queue(function(){ + // ...when regular code needs to synchronize with animation + // I have to queue that code up myself + + // if display had no tags before, $display.hide() would silently fail, because it's already hidden + // so hide the widget itself while we make the changes + $parent.hide(); + display.set_tags(context_tags, { classes: 'suggestion' }); + if ( widget.modify_context ) { + widget.modify_context(display, context); + } + + // now hide() will work, so hide the display (child) instead of the widget (parent) + // but we can't _really_ hide it, because we need to ask its width + $display.show().css('height', '0'); + $parent.show(); + try { + var max_left = $parent.width() - $display.find('ul').width(); + best_left = Math.min(best_left, max_left); + } catch ( e0 ) { + } + + $display.hide(); + $display.css({ + height: '', + left: best_left + }); + + $display.slideDown(400); + $display.dequeue(); + }); } }); this._current_context = context; - } else if ( context && - $related_trigger.length && - $previous_context_trigger.length && - $previous_context_trigger[0] !== $related_trigger[0] ) { - - $position_context_display($('.ready[context=related]', this)); } $previous_context_trigger = $related_trigger; @@ -1076,10 +1031,14 @@ update_class_map(well_known_tags, 't2', YAHOO.slashdot.topicTags); update_class_map(well_known_tags, 'y p', ['nod', 'metanod']); update_class_map(well_known_tags, 'x p', ['nix', 'metanix']); + update_class_map(well_known_tags, 'p', ['mainpage']); // Rob requests 'mainpage' never show its face update_class_map(well_known_tags, 'd', data_types); if ( fh_is_admin ) { update_class_map(well_known_tags, 'w p', ['signed', 'unsigned', 'signoff']); + update_class_map(well_known_tags, 'd', ['unknown']); // Tags.pm debugging + } else { + update_class_map(well_known_tags, 'd p', ['unknown']); // Tags.pm debugging, non-admins don't get to see } }); Modified: slashjp/branches/upstream/current/plugins/Ajax/templates/tag_ui_widget;misc;default =================================================================== --- slashjp/branches/upstream/current/plugins/Ajax/templates/tag_ui_widget;misc;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Ajax/templates/tag_ui_widget;misc;default 2008-12-16 03:30:11 UTC (rev 884) @@ -17,9 +17,17 @@ __seclev__ 10000 __template__ -[% IF user.tags_canread_stories %] -[% tags_reader = Slash.getObject('Slash::Tags'); tags = tags_reader.setGetCombinedTags(key, key_type); %] -[%# the tag-widget itself %] +[% IF user.tags_canread_stories -%] +[% tags_reader = Slash.getObject('Slash::Tags'); tag_info = tags_reader.setGetCombinedTags(key, key_type); -%] +[% IF tag_info.datatype == 'story' -%] +[% IF key_type == 'stoid' -%] +[% tag_info.stoid = key -%] +[% ELSE -%] +[% tag_info.stoid = item.srcid -%] +[% END -%] +[% END -%] + +[%# the tag-widget itself -%]
    [%# the disclosure triangle %] @@ -31,31 +39,31 @@ - [% IF user.tags_canwrite_stories %] - [%# the tag input field %] + [% IF user.tags_canwrite_stories -%] + [%# the tag input field -%]
    - [% END %] + [% END -%] - [%# the tag 'bars' %] - [% IF user.tags_canwrite_stories %] + [%# the tag 'bars' -%] + [% IF user.tags_canwrite_stories -%]
    [% END %] -
    [% tags.top %]
    -
    [% tags.system %]
    - [%- IF item.type == "story" && +
    [% tag_info.top %]
    +
    [% tag_info.system %]
    + [% IF tag_info.datatype == "story" && constants.signoff_use && ((user.is_admin && !user.firehose_usermode) || user.acl.signoff_allowed) && - ! Slash.db.hasUserSignedStory(item.srcid, user.uid) -%] -
    unsigned
    + ! Slash.db.hasUserSignedStory(tag_info.stoid, user.uid) -%] +
    unsigned
    [%- END -%] -
    [% tags.datatype %]
    - [% IF user.tags_canwrite_stories %] - [%# the suggestions bar %] +
    [% tag_info.datatype %]
    + [% IF user.tags_canwrite_stories -%] + [%# the suggestions bar -%] [% END %]
    Modified: slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm 2008-12-16 03:30:11 UTC (rev 884) @@ -266,6 +266,13 @@ } } +sub getUserBookmarkForUrl { + my($self, $uid, $url_id) = @_; + my $uid_q = $self->sqlQuote($uid); + my $url_id_q = $self->sqlQuote($url_id); + return $self->sqlSelectHashref("*", "bookmarks", "uid=$uid_q and url_id=$url_id_q"); +} + sub createUpdateItemFromBookmark { my($self, $id, $options) = @_; $options ||= {}; @@ -297,7 +304,8 @@ activity => $activity, public => "yes", type => $type, - srcid => $id + srcid => $id, + createtime => $bookmark->{createdtime}, }; $data->{introtext} = $options->{introtext} if $options->{introtext}; if ($type eq "feed") { @@ -838,7 +846,7 @@ push @where, 'rejected = ' . $self->sqlQuote($options->{rejected}); } - if (defined $options->{category} || $user->{is_admin}) { + if (defined $options->{category} || ($user->{is_admin} && $options->{admin_filters})) { $options->{category} ||= ''; push @where, 'category = ' . $self->sqlQuote($options->{category}); } @@ -882,8 +890,13 @@ } my $rows = $self->sqlSelectAllHashrefArray("count(*)", $tables, $where, $count_other); - my $count = @$rows; + my $row_num = @$rows; + my $count = $row_num; + if ($row_num == 1 && !$count_other) { + $count = $rows->[0]->{"count(*)"}; + } + my $page_size = $ps || 1; $results->{records_pages} ||= ceil($count / $page_size); $results->{records_page} ||= (int(($options->{offset} || 0) / $options->{limit}) + 1) || 1; @@ -942,8 +955,13 @@ my $where = join ' AND ', @$where_ar, "createtime $it_cmp $i_time_q", "createtime $bt_cmp $border_time_q"; - my $rows = $self->sqlSelectAllHashrefArray("count(*)", $tables, $where, $other); - my $day_count = @$rows; + my $rows = $self->sqlSelectAllHashrefArray("firehose.id", $tables, $where, $other); + my $row_num = @$rows; + my $day_count = $row_num; + + if ($row_num == 1 && !$other) { + $day_count = $rows->[0]->{'count(*)'}; + } my $day_labels = getOlderDaysFromDay($item_day, 0, 0, { skip_add_today => 1, show_future_days => 1, force => 1 }); @@ -1489,7 +1507,14 @@ if (!$item->{day}) { my $url = $slashdb->getUrl($item->{url_id}); my $the_user = $slashdb->getUser($item->{uid}); - $html->{"title-$_->{id}"} = slashDisplay("formatHoseTitle", { adminmode => $adminmode, item => $item, showtitle => 1, url => $url, the_user => $the_user, options => $opts }, { Return => 1 }); + $item->{atstorytime} = '__TIME_TAG__'; + my $title = slashDisplay("formatHoseTitle", { adminmode => $adminmode, item => $item, showtitle => 1, url => $url, the_user => $the_user, options => $opts }, { Return => 1 }); + + my $atstorytime; + $atstorytime = $user->{aton} . ' ' . timeCalc($item->{'createtime'}); + $title =~ s/\Q__TIME_TAG__\E/$atstorytime/; + $html->{"title-$_->{id}"} = $title; + my $introtext = $item->{introtext}; slashDisplay("formatHoseIntro", { introtext => $introtext, url => $url, $item => $item }, { Return => 1 }); $html->{"text-$_->{id}"} = $introtext; @@ -1831,7 +1856,7 @@ } if (!exists($data->{last_update}) && !exists($data->{-last_update})) { - my @non_trivial = grep {!/^(activity|toptags)$/} keys %$data; + my @non_trivial = grep {!/^activity$/} keys %$data; if (@non_trivial > 0) { $data->{-last_update} = 'NOW()'; } else { @@ -1910,12 +1935,14 @@ return '' if $gSkin->{skid} != $constants->{mainpage_skid}; return '' if !$constants->{firehose_mcd_disp}; + my $index = $form->{index} ? 1 : 0; + if ($mcd && !$options->{nodates} && !$options->{nobylines} && !$options->{nocolors} && !$options->{nothumbs} && !$options->{vote} - && !$form->{skippop} && !$form->{index} + && !$form->{skippop} && !$user->{is_admin}) { - $mcdkey = "$self->{_mcd_keyprefix}:dispfirehose-$options->{mode}:$id"; + $mcdkey = "$self->{_mcd_keyprefix}:dispfirehose-$options->{mode}:$id:$index"; } return $mcdkey; } @@ -1926,9 +1953,12 @@ return [ ] if !$constants->{firehose_mcd_disp}; my $keys = [ ]; my $mcd = $self->getMCD(); + if ($mcd) { foreach my $mode (qw(full fulltitle)) { - push @$keys, "$self->{_mcd_keyprefix}:dispfirehose-$mode:$id"; + foreach my $index (qw(0 1)) { + push @$keys, "$self->{_mcd_keyprefix}:dispfirehose-$mode:$id:$index"; + } } } return $keys; @@ -1937,38 +1967,48 @@ sub dispFireHose { my($self, $item, $options) = @_; my $constants = getCurrentStatic(); + my $user = getCurrentUser(); $options ||= {}; my $mcd = $self->getMCD(); my $mcdkey; + my $retval; + if ($mcd) { $mcdkey = $self->genFireHoseMCDKey($item->{id}, $options); - my $cached; if ($mcdkey) { - $cached = $mcd->get("$mcdkey"); + $retval = $mcd->get("$mcdkey"); } - return $cached if $cached; } - my $retval = slashDisplay('dispFireHose', { - item => $item, - mode => $options->{mode}, - tags_top => $options->{tags_top}, # old-style - top_tags => $options->{top_tags}, # new-style - system_tags => $options->{system_tags}, # new-style - options => $options->{options}, - vote => $options->{vote}, - bodycontent_include => $options->{bodycontent_include}, - nostorylinkwrapper => $options->{nostorylinkwrapper}, - view_mode => $options->{view_mode} - }, { Page => "firehose", Return => 1 }); + $item->{atstorytime} = "__TIME_TAG__"; - if ($mcd) { - $mcdkey = $self->genFireHoseMCDKey($item->{id}, $options); - if ($mcdkey) { - my $exptime = $constants->{firehose_memcached_disp_exptime} || 180; - $mcd->set($mcdkey, $retval, $exptime); + if (!$retval) { # No cache hit + $retval = slashDisplay('dispFireHose', { + item => $item, + mode => $options->{mode}, + tags_top => $options->{tags_top}, # old-style + top_tags => $options->{top_tags}, # new-style + system_tags => $options->{system_tags}, # new-style + options => $options->{options}, + vote => $options->{vote}, + bodycontent_include => $options->{bodycontent_include}, + nostorylinkwrapper => $options->{nostorylinkwrapper}, + view_mode => $options->{view_mode} + }, { Page => "firehose", Return => 1 }); + + if ($mcd) { + $mcdkey = $self->genFireHoseMCDKey($item->{id}, $options); + if ($mcdkey) { + my $exptime = $constants->{firehose_memcached_disp_exptime} || 180; + $mcd->set($mcdkey, $retval, $exptime); + } } } + + my $atstorytime; + $atstorytime = $user->{aton} . ' ' . timeCalc($item->{'createtime'}); + $retval =~ s/\Q__TIME_TAG__\E/$atstorytime/; + return $retval; } @@ -2248,6 +2288,8 @@ my $form = getCurrentForm(); my $gSkin = getCurrentSkin(); + my $mainpage = 0; + my ($f_change, $v_change, $t_change); if (!$opts->{initial}) { @@ -2530,6 +2572,9 @@ } elsif ($user->{is_admin} && $validator->{categories}{$_} && !defined $fh_options->{category}) { $fh_options->{category} = $_; } elsif ($skin_nexus{$_}) { + if (!$not && $skin_nexus{$_} == $constants->{mainpage_nexus_tid}) { + $mainpage = 1; + } push @{$fh_options->{$not."nexus"}}, $skin_nexus{$_}; } elsif ($user->{is_admin} && $_ eq "rejected") { $fh_options->{rejected} = "yes"; @@ -2586,8 +2631,7 @@ } # push all necessary nexuses on if we want stories show as brief - if ($constants->{brief_sectional_mainpage} && $the_skin->{nexus} == $constants->{mainpage_nexus_tid} && - $options->{fhfilter} eq "$the_skin->{name} story") { + if ($constants->{brief_sectional_mainpage} && $the_skin->{nexus} == $constants->{mainpage_nexus_tid} && $mainpage) { my $nexus_children = $self->getMainpageDisplayableNexuses(); push @{$fh_options->{nexus}}, @$nexus_children; @@ -2629,19 +2673,23 @@ } $options->{public} = "yes"; + + if ($options->{view} eq "daddypants" || $form->{admin_filters}) { + $options->{admin_filters} = 1; + } + if ($adminmode) { # $options->{attention_needed} = "yes"; - if ($firehose_page ne "user") { + if ($options->{admin_filters}) { $options->{accepted} = "no" if !$options->{accepted}; $options->{rejected} = "no" if !$options->{rejected}; } $options->{duration} ||= -1; } else { if ($firehose_page ne "user") { - $options->{accepted} = "no" if !$options->{accepted}; + # $options->{accepted} = "no" if !$options->{accepted}; } - $options->{duration} ||= 1; if ($user->{is_subscriber} && (!$no_saved || $form->{index})) { $options->{createtime_subscriber_future} = 1; } else { @@ -2918,7 +2966,7 @@ my $featured; if ($gSkin->{name} eq "idle" && !$user->{firehose_nomarquee}) { - my $featured_ops ={ primaryskid => $gSkin->{skid}, type => "story", limit => 1, orderby => 'createtime', orderdir => 'DESC'}; + my $featured_ops = { primaryskid => $gSkin->{skid}, type => "story", limit => 1, orderby => 'createtime', orderdir => 'DESC'}; if ($user->{is_subscriber}) { $featured_ops->{createtime_subscriber_future} = 1; Modified: slashjp/branches/upstream/current/plugins/FireHose/firehose.pl =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/firehose.pl 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/FireHose/firehose.pl 2008-12-16 03:30:11 UTC (rev 884) @@ -244,7 +244,7 @@ } xmlDisplay($form->{content_type} => { channel => { - title => "$constants->{sitename} Firehose", + title => "$constants->{sitename} Firehose - Filtered to '$options->{fhfilter}'", 'link' => "$gSkin->{absolutedir}/firehose.pl", descriptions => "$constants->{sitename} Firehose" }, Modified: slashjp/branches/upstream/current/plugins/FireHose/mysql_dump.sql =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/mysql_dump.sql 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/FireHose/mysql_dump.sql 2008-12-16 03:30:11 UTC (rev 884) @@ -52,7 +52,7 @@ INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "usersubmission", "no", '"author:{nickname}" submission', "createtime", "DESC", "black", "-1", "full", "0", "no", "no", 20, 20, 0,"1"); -INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "userbookmark", "no", '"author:{nickname}" bookmark', "createtime", "DESC", "black", "-1", "full", "0", "no", "no", 20, 20, 0,"1"); +INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "userbookmark", "no", '"user:{nickname}" bookmark', "createtime", "DESC", "black", "-1", "full", "0", "no", "no", 20, 20, 0,"1"); INSERT INTO firehose_view (id, uid, viewname, useparentfilter, filter, orderby, orderdir, color, duration, mode, mixedmode, tab_display, options_edit, admin_maxitems, maxitems, seclev, pause) VALUES (NULL, 0, "userfirehose", "no", '"user:{nickname}"', "createtime", "DESC", "black", "-1", "full", "0", "no", "no", 20, 20, 0,"1"); Modified: slashjp/branches/upstream/current/plugins/FireHose/mysql_schema.sql =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/mysql_schema.sql 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/FireHose/mysql_schema.sql 2008-12-16 03:30:11 UTC (rev 884) @@ -46,7 +46,8 @@ KEY popularity (popularity), KEY neediness (neediness), KEY url_id (url_id), - KEY uid (uid) + KEY uid (uid), + KEY last_update (last_update) ) TYPE=InnoDB; # The table giving an Object's Generally Accepted Story Publication Time Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/formatHoseTitle;misc;default =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/templates/formatHoseTitle;misc;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/FireHose/templates/formatHoseTitle;misc;default 2008-12-16 03:30:11 UTC (rev 884) @@ -26,6 +26,14 @@ fh_page = fh_page || "firehose.pl"; title = item.title; +IF item.type == "bookmark" && options.view == "userbookmark"; + fh = Slash.getObject("Slash::FireHose"); + ub = fh.getUserBookmarkForUrl(options.user_view_uid, item.url_id); + IF ub && ub.title; + title = ub.title; + END; +END; + IF item.primaryskid && item.primaryskid != form.primaryskid && item.primaryskid != constants.mainpage_skid && item.type == "story"; the_skin = Slash.db.getSkin(item.primaryskid); IF user.is_anon; @@ -86,7 +94,7 @@ IF options.nodates; title = title _ " hide"; END; -title = title _ '">' _ Slash.timeCalc(item.createtime, "%Y-%m-%d %H:%M") _ " ' _ item.atstorytime _ "

    Submission Summary: +

    Submission Summary: [% submission_pend %] pending, [% submission_reject %] rejected, [% submission_accept %] accepted ([% @@ -42,10 +42,13 @@ %]% accepted)

    -[% ELSIF options.view == "userjournal" AND (user.uid == options.user_view_uid) %] +[% ELSIF options.view == "userjournal" %] [% END %] @@ -202,6 +205,9 @@ [% IF options.index %] firehose_settings.index = 1; [% END %] + [% IF options.admin_filters %] + firehose_settings.admin_filters = 1; + [% END %] var firehose_action_time = 0; var firehose_user_class = [% user.is_anon ? 0 : 1 %]; @@ -249,17 +255,6 @@ if ( gFocusedText === this ) { gFocusedText = null; } - }). - autocomplete('/ajax.pl', { - loadingClass: 'working', - multiple: true, - multipleSeparator: ' ', - minChars: 3, - autoFill: true, - max: 25, - extraParams: { - op: 'tags_list_tagnames' - } }); $('#firehoselist').click(firehose_click_tag); Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/tag_widget;firehose;default =================================================================== --- slashjp/branches/upstream/current/plugins/FireHose/templates/tag_widget;firehose;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/FireHose/templates/tag_widget;firehose;default 2008-12-16 03:30:11 UTC (rev 884) @@ -57,7 +57,7 @@ [%# the tag 'bars' %]
    [% tags.top %]
    -
    [% tags.system; +
    [% tags.system; IF options.view == "usersubmission"; this_submission = Slash.db.getSubmission(item.srcid); SWITCH this_submission.del; @@ -70,12 +70,12 @@ constants.signoff_use && ((user.is_admin && !user.firehose_usermode) || user.acl.signoff_allowed) && ! Slash.db.hasUserSignedStory(item.srcid, user.uid) -%] -
    unsigned
    +
    unsigned
    [%- END -%] -
    [% tags.datatype %]
    +
    [% tags.datatype %]
    [%# the suggestions bar %]
    [% ELSE %] @@ -88,7 +88,7 @@ [%- END %]> [%# the tag 'bars' %]
    [% tags.top %]
    -
    [% tags.system; +
    [% tags.system; IF options.view == "usersubmission"; this_submission = Slash.db.getSubmission(item.srcid); SWITCH this_submission.del; @@ -97,7 +97,7 @@ CASE 2; ' accepted'; END; END %]
    -
    [% tags.datatype %]
    +
    [% tags.datatype %]
    [% END %] [% END %] Modified: slashjp/branches/upstream/current/plugins/Submit/submit.pl =================================================================== --- slashjp/branches/upstream/current/plugins/Submit/submit.pl 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Submit/submit.pl 2008-12-16 03:30:11 UTC (rev 884) @@ -699,54 +699,6 @@ yourPendingSubmissions($constants, $slashdb, $user, $form, { skip_submit_body => 1 }); print getData("submit_body_close"); - if (!$user->{is_anon}) { - my $events = $slashdb->sqlSelectAllHashref( - 'eid', 'eid, date', 'user_events', "uid = $uid and code = 3"); - - # Delete the oldest event for this user if they already have 5 events. - if ((scalar keys %$events) == 5) { - my $eid = [sort keys %$events]->[0]; - $slashdb->sqlDelete('user_events', "uid = $uid and code = 3 and eid = $eid"); - } - - my $submission_id = - $slashdb->sqlSelect("id", "firehose", "uid = $uid and srcid = " . $messagesub->{subid} . " and type = 'submission'"); - - # Insert event - $slashdb->sqlInsert('user_events', { - code => 3, - uid => $uid, - event => $submission_id, - -date => 'NOW()', - }); - - # Create/update event block - my $event_blocks = $slashdb->sqlSelectAllHashref( - 'uid', 'bid, uid, block', 'user_event_blocks', "uid = $uid and code = 3"); - - # New block - if (!%$event_blocks) { - $slashdb->sqlInsert('user_event_blocks', { - code => 3, - uid => $uid, - block => $submission_id, - }); - } else { - my @blocks = split(/,/, $event_blocks->{$uid}->{block}); - - # Remove oldest event from this block - if (scalar @blocks == 5) { - @blocks = @blocks[1 .. 4]; - } - - # Append new event - $blocks[$#blocks + 1] = $submission_id; - my $new_blocks = join(",", @blocks); - - $slashdb->sqlUpdate('user_event_blocks', { block => $new_blocks }, "uid = $uid and code = 3"); - } - } - return(1); } Modified: slashjp/branches/upstream/current/plugins/Tags/Tags.pm =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/Tags.pm 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Tags/Tags.pm 2008-12-16 03:30:11 UTC (rev 884) @@ -1137,7 +1137,7 @@ my $system_tags = $section_tag . ' ' . $topic_tags; - my $response = '' . $datatype_tag . '' . $system_tags . ''. $top_tags; + my $response = '' . ($datatype_tag || 'unknown') . '' . $system_tags . ''. $top_tags; $response .= '' . $user_tags unless $form->{global_tags_only}; return $response; Modified: slashjp/branches/upstream/current/plugins/Tags/archive_globjs_viewed.pl =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/archive_globjs_viewed.pl 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Tags/archive_globjs_viewed.pl 2008-12-16 03:30:11 UTC (rev 884) @@ -19,7 +19,7 @@ my $min_gvid = $slashdb->sqlSelect('MIN(gvid)', 'globjs_viewed'); my $max_gvid = $min_gvid + 50_000; - my $where_clause = "gvid < $max_gvid AND viewed_at < DATE_SUB(NOW(), INTERVAL 6 MONTH)"; + my $where_clause = "gvid < $max_gvid AND viewed_at < DATE_SUB(NOW(), INTERVAL 3 MONTH)"; my $old_arch_size = $slashdb->sqlSelect('COUNT(*)', 'globjs_viewed_archived'); $slashdb->sqlDo("INSERT IGNORE INTO globjs_viewed_archived Modified: slashjp/branches/upstream/current/plugins/Tags/tagbox.pl =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/tagbox.pl 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Tags/tagbox.pl 2008-12-16 03:30:11 UTC (rev 884) @@ -74,6 +74,7 @@ } tagboxLog('tagbox.pl starting'); + my $sleeps_in_a_row = 0; my $exclude_behind = 1; my $max_activity_for_run = 10; my $feederlog_largerows = $constants->{tags_feederlog_largerows} || 50_000; @@ -134,6 +135,7 @@ # obsolete the results we'd get by calling run() right now. if ($activity_feeder > 10) { tagboxLog("tagbox.pl re-updating feederlog, activity $activity_feeder"); + $sleeps_in_a_row = 0; next; } @@ -149,8 +151,11 @@ # If nothing's going on, ease up some (not that it probably # matters much, since if nothing's going on both of the # above should be doing reasonably fast SELECTs). - if (!$activity_feeder && !$activity_run) { - tagboxLog('tagbox.pl sleeping 3'); + if ($activity_feeder || $activity_run) { + $sleeps_in_a_row = 0; + } else { + ++$sleeps_in_a_row; + tagboxLog('tagbox.pl sleeping 3') if $sleeps_in_a_row % 100 == 1; sleep 3; } last if $task_exit_flag; Modified: slashjp/branches/upstream/current/plugins/Tags/tags_udc.pl =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/tags_udc.pl 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Tags/tags_udc.pl 2008-12-16 03:30:11 UTC (rev 884) @@ -94,12 +94,14 @@ my $hour = $cur_hour - 3600*$hoursback; my $hour_next = $hour + 3600; my $tags_reader = getObject('Slash::Tags', { db_type => 'reader' }); + my $comments_gtid = $tags_reader->getGlobjTypes()->{comments} || 5; my $tags_ar = $tags_reader->sqlSelectAllHashrefArray( - '*', - 'tags', + 'tags.*', + 'tags NATURAL JOIN globjs', "created_at BETWEEN FROM_UNIXTIME($hour) AND DATE_ADD(FROM_UNIXTIME($hour), INTERVAL 3599 SECOND) AND tagnameid IN ($dnid, $upid) - AND inactivated IS NULL"); + AND inactivated IS NULL + AND gtid != $comments_gtid"); $tags_reader->addCloutsToTagArrayref($tags_ar, 'vote'); my $cloutsum = 0; Modified: slashjp/branches/upstream/current/plugins/Tags/templates/usertagnames;users;default =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/templates/usertagnames;users;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Tags/templates/usertagnames;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -24,7 +24,7 @@ UNLESS notitle; PROCESS user_titlebar tab_selected='tags'; END; %] [% IF user.tags_canread_stories && tagnames.size %] -
    +
    [% FOREACH tagname = tagnames %] [% END %] Modified: slashjp/branches/upstream/current/plugins/Tags/templates/usertags;users;default =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/templates/usertags;users;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Tags/templates/usertags;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -24,7 +24,7 @@ PROCESS user_titlebar tab_selected='tags' %] [% IF user.tags_canread_stories && tags_grouped.keys.size %] -
    [% tagname | strip_html %]
    +
    [% FOREACH tagname = tags_grouped.keys.sort; tagname_shown = 0; FOREACH tag = tags_grouped.$tagname %] Modified: slashjp/branches/upstream/current/plugins/Tags/templates/usertagsforname;users;default =================================================================== --- slashjp/branches/upstream/current/plugins/Tags/templates/usertagsforname;users;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Tags/templates/usertagsforname;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -26,7 +26,7 @@ UNLESS notitle; PROCESS user_titlebar tab_selected='tags'; END; %] [% IF user.tags_canread_stories && tags.size %] -
    +
    [% FOREACH tag = tags %] [% UNLESS tag.globj_type == "submissions" %] Modified: slashjp/branches/upstream/current/plugins/Users2/Users2.pm =================================================================== --- slashjp/branches/upstream/current/plugins/Users2/Users2.pm 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Users2/Users2.pm 2008-12-16 03:30:11 UTC (rev 884) @@ -330,7 +330,7 @@ } sub truncateMarquee { - my($self, $marquee, $len) = @_; + my($self, $marquee) = @_; my $text; my $linebreak = qr{(?: @@ -340,22 +340,30 @@ div | (?:block)?quote | [oud]l )> )}x; - my $min_chars = 50; - my $max_chars = $len || 1000; + my $min_chars = 50; + my $max_chars = 1500; + my $orig_len = length($marquee->{body}); - if (length($marquee) < $min_chars) { - $text = $marquee; + if (length($marquee->{body}) < $min_chars) { + $text = $marquee->{body}; } else { - $text = $1 if $marquee =~ m/^(.{$min_chars,$max_chars})?$linebreak/s; + $text = $1 if $marquee->{body} =~ m/^(.{$min_chars,$max_chars})?$linebreak/s; } - $text ||= chopEntity($marquee, $max_chars); + $text ||= chopEntity($marquee->{body}, $max_chars); local $Slash::Utility::Data::approveTag::admin = 1; $text = strip_html($text); $text = balanceTags($text, { admin => 1 }); $text = addDomainTags($text); - return $text; + $marquee->{body} = $text; + + if ($orig_len > length($text)) { + $marquee->{truncated} = 1; + } + + return $marquee; + } sub DESTROY { Modified: slashjp/branches/upstream/current/plugins/Zoo/templates/plainlist;zoo;default =================================================================== --- slashjp/branches/upstream/current/plugins/Zoo/templates/plainlist;zoo;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/plugins/Zoo/templates/plainlist;zoo;default 2008-12-16 03:30:11 UTC (rev 884) @@ -13,7 +13,7 @@ __name__ plainlist __template__ -
    +
    Modified: slashjp/branches/upstream/current/sql/mysql/defaults.sql =================================================================== --- slashjp/branches/upstream/current/sql/mysql/defaults.sql 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/sql/mysql/defaults.sql 2008-12-16 03:30:11 UTC (rev 884) @@ -840,7 +840,7 @@ INSERT INTO vars (name, value, description) VALUES ('cur_performance_stats_lastid', '0', 'accesslogid to start searching at'); INSERT INTO vars (name, value, description) VALUES ('cur_performance_stats_weeks', '8', 'number of weeks back to compare current stats to'); INSERT INTO vars (name, value, description) VALUES ('currentqid',1,'The Current Question on the homepage pollbooth'); -INSERT INTO vars (name, value, description) VALUES ('cvs_tag_currentcode','T_2_5_0_233','The current cvs tag that the code was updated to - this does not affect site behavior but may be useful for your records'); +INSERT INTO vars (name, value, description) VALUES ('cvs_tag_currentcode','T_2_5_0_235','The current cvs tag that the code was updated to - this does not affect site behavior but may be useful for your records'); INSERT INTO vars (name, value, description) VALUES ('datadir','/usr/local/slash/www.example.com','What is the root of the install for Slash'); INSERT INTO vars (name, value, description) VALUES ('db_auto_increment_increment','1','If your master DB uses auto_increment_increment, i.e. multiple master replication, echo its value into this var'); INSERT INTO vars (name, value, description) VALUES ('dbsparklines_disp','0','Display dbsparklines in the currentAdminUsers box?'); Modified: slashjp/branches/upstream/current/sql/mysql/upgrades =================================================================== --- slashjp/branches/upstream/current/sql/mysql/upgrades 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/sql/mysql/upgrades 2008-12-16 03:30:11 UTC (rev 884) @@ -5686,8 +5686,6 @@ # 2008-11-20 UPDATE vars SET value = 'T_2_5_0_231' WHERE name = 'cvs_tag_currentcode'; -# SLASHCODE/USEPERL LAST UPDATED HERE - UPDATE firehose SET public="yes" WHERE type="journal"; create temporary table firehose_deletedjournal (id int unsigned not null primary key); @@ -5704,8 +5702,6 @@ # 2008-11-25 UPDATE vars SET value = 'T_2_5_0_232' WHERE name = 'cvs_tag_currentcode'; -# SLASHDOT LAST UPDATED HERE - # for plugins/FireHose ALTER TABLE firehose ADD INDEX uid (uid); @@ -5717,3 +5713,18 @@ # 2008-11-26 UPDATE vars SET value = 'T_2_5_0_233' WHERE name = 'cvs_tag_currentcode'; +UPDATE firehose_view SET filter='"user:{nickname}" bookmark' WHERE viewname="userbookmark"; + +# 2008-12-04 +UPDATE vars SET value = 'T_2_5_0_234' WHERE name = 'cvs_tag_currentcode'; + +# SLASHCODE/USEPERL LAST UPDATED HERE + +# SLASHDOT LAST UPDATED HERE + +# for plugins/FireHose +ALTER TABLE firehose ADD INDEX last_update (last_update); + +# 2008-12-11 +UPDATE vars SET value = 'T_2_5_0_235' WHERE name = 'cvs_tag_currentcode'; + Modified: slashjp/branches/upstream/current/tagboxes/CommentScoreReason/CommentScoreReason.pm =================================================================== --- slashjp/branches/upstream/current/tagboxes/CommentScoreReason/CommentScoreReason.pm 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/tagboxes/CommentScoreReason/CommentScoreReason.pm 2008-12-16 03:30:11 UTC (rev 884) @@ -110,7 +110,7 @@ } sub run_process { - my($self, $affected_id, $tags_ar) = @_; + my($self, $affected_id, $tags_ar, $options) = @_; my $constants = getCurrentStatic(); my $tagsdb = getObject('Slash::Tags'); my $tagboxdb = getObject('Slash::Tagbox'); @@ -206,6 +206,15 @@ my $new_score = $points_orig + $mod_score_sum; my $new_karma_bonus = ($karma_bonus eq 'yes' && $keep_karma_bonus) ? 1 : 0; + if ($options->{return_only}) { + return { + score => $new_score, + karma_bonus => $new_karma_bonus, + reason => $current_reason_mode, + neediness => $neediness, + }; + } + $self->info_log("cid %d to score: %d, %s kb %d->%d, neediness %.1f", $cid, $new_score, $reasons->{$current_reason_mode}{name}, ($karma_bonus eq 'yes' ? 1 : 0), $new_karma_bonus, $neediness); Modified: slashjp/branches/upstream/current/themes/slashcode/THEME =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/THEME 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/themes/slashcode/THEME 2008-12-16 03:30:11 UTC (rev 884) @@ -347,6 +347,7 @@ template=templates/u2AdminListComments;users;default template=templates/u2UserBoxes;users;default template=templates/u2ListComments;users;default +template=templates/u2_rsslink;users;default misc=misc/spamarmors plugin=Admin Modified: slashjp/branches/upstream/current/themes/slashcode/htdocs/users2.pl =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/htdocs/users2.pl 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/themes/slashcode/htdocs/users2.pl 2008-12-16 03:30:11 UTC (rev 884) @@ -68,20 +68,6 @@ tab_selected_1 => 'me', tab_selected_2 => 'firehose' }, - usersubmissions => { - function => \&showSubmissions, - #I made this change, not all sites are going to care. -Brian - seclev => $constants->{users_show_info_seclev}, - checks => [], - tab_selected_1 => 'me', - }, - usercomments => { - function => \&showComments, - #I made this change, not all sites are going to care. -Brian - seclev => $constants->{users_show_info_seclev}, - checks => [], - tab_selected_1 => 'me', - }, display => { function => \&showInfo, #I made this change, not all sites are going to care. -Brian @@ -91,16 +77,6 @@ tab_selected_1 => 'me', tab_selected_2 => 'info', }, -# savepasswd => { -# function => \&savePasswd, -# seclev => 1, -# post => 1, -# formname => $formname, -# checks => [ qw (max_post_check valid_check -# formkey_check regen_formkey) ], -# tab_selected_1 => 'preferences', -# tab_selected_2 => 'password', -# }, saveuseradmin => { function => \&saveUserAdmin, seclev => 10000, @@ -108,26 +84,6 @@ formname => $formname, checks => [], }, - savehome => { - function => \&saveHome, - seclev => 1, - post => 1, - formname => $formname, - checks => [ qw (valid_check - formkey_check regen_formkey) ], - tab_selected_1 => 'preferences', - tab_selected_2 => 'home', - }, - savecomm => { - function => \&saveComm, - seclev => 1, - post => 1, - formname => $formname, - checks => [ qw (valid_check - formkey_check regen_formkey) ], - tab_selected_1 => 'preferences', - tab_selected_2 => 'comments', - }, saveuser => { function => \&saveUser, seclev => 1, @@ -138,15 +94,6 @@ tab_selected_1 => 'preferences', tab_selected_2 => 'user', }, -# changepasswd => { -# function => \&changePasswd, -# seclev => 1, -# formname => $formname, -# checks => $savepass_flag ? [] : -# [ qw (generate_formkey) ], -# tab_selected_1 => 'preferences', -# tab_selected_2 => 'password', -# }, editmiscopts => { function => \&editMiscOpts, seclev => 1, @@ -177,29 +124,6 @@ formname => $formname, checks => [], }, - edithome => { - function => \&editHome, - seclev => 1, - formname => $formname, - checks => [ qw (generate_formkey) ], - tab_selected_1 => 'preferences', - tab_selected_2 => 'home', - }, - editcomm => { - function => \&editComm, - seclev => 1, - formname => $formname, - checks => [ qw (generate_formkey) ], - tab_selected_1 => 'preferences', - tab_selected_2 => 'comments', - }, -# newuser => { -# function => \&newUser, -# seclev => 0, -# formname => "${formname}/nu", -# checks => [ qw (max_post_check valid_check -# formkey_check regen_formkey) ], -# }, newuseradmin => { function => \&newUserForm, seclev => 10000, @@ -212,71 +136,12 @@ formname => $formname, checks => [], }, -# mailpasswd => { -# function => \&mailPasswd, -# seclev => 0, -# formname => "${formname}/mp", -# checks => [ qw (max_post_check valid_check -# interval_check formkey_check ) ], -# tab_selected_1 => 'preferences', -# tab_selected_2 => 'password', -# }, validateuser => { function => \&validateUser, seclev => 1, formname => $formname, checks => ['regen_formkey'], }, - showtags => { - function => \&showTags, - seclev => 1, - formname => $formname, - checks => [], - tab_selected => 'tags', - }, - showbookmarks => { - function => \&showBookmarks, - seclev => 0, - formname => $formname, - checks => [], - tab_selected => 'bookmarks', - }, - edittags => { - function => \&editTags, - seclev => 1, - formname => $formname, - checks => [], - tab_selected => 'tags', - }, - savetags => { - function => \&saveTags, - seclev => 1, - formname => $formname, - checks => [], - tab_selected => 'tags', - }, -# userclose => { -# function => \&displayForm, -# seclev => 0, -# formname => $formname, -# checks => [], -# }, -# newuserform => { -# function => \&displayForm, -# seclev => 0, -# formname => "${formname}/nu", -# checks => [ qw (max_post_check -# generate_formkey) ], -# }, -# mailpasswdform => { -# function => \&displayForm, -# seclev => 0, -# formname => "${formname}/mp", -# checks => [ qw (max_post_check -# generate_formkey) ], -# tab_selected_1 => 'preferences', -# tab_selected_2 => 'password', -# }, displayform => { function => \&displayForm, seclev => 0, @@ -761,119 +626,6 @@ ################################################################# -sub showSubmissions { - my($hr) = @_; - my $reader = getObject('Slash::DB', { db_type => 'reader' }); - my $form = getCurrentForm(); - my $constants = getCurrentStatic(); - my $user = getCurrentUser(); - my($uid, $nickname); - - print createMenu("users", { - style => 'tabbed', - justify => 'right', - color => 'colored', - tab_selected => $hr->{tab_selected_1} || "", - }); - - if ($form->{uid} or $form->{nick}) { - $uid = $form->{uid} || $reader->getUserUID($form->{nick}); - $nickname = $reader->getUser($uid, 'nickname'); - } else { - $nickname = $user->{nickname}; - $uid = $user->{uid}; - } - - my $storycount = $reader->countStoriesBySubmitter($uid); - my $stories = $reader->getStoriesBySubmitter( - $uid, - $constants->{user_submitter_display_default} - ) unless !$storycount; - - slashDisplay('userSub', { - nick => $nickname, - uid => $uid, - nickmatch_flag => ($user->{uid} == $uid ? 1 : 0), - stories => $stories, - storycount => $storycount, - }, { Page => 'users' }); -} - -################################################################# -sub showComments { - my($hr) = @_; - my $reader = getObject('Slash::DB', { db_type => 'reader' }); - my $form = getCurrentForm(); - my $constants = getCurrentStatic(); - my $user = getCurrentUser(); - my $commentstruct = []; - my($uid, $nickname); - - my $user_edit; - if ($form->{uid} || $form->{nick}) { - $uid = $form->{uid} || $reader->getUserUID($form->{nick}); - $user_edit = $reader->getUser($uid); - } else { - $uid = $user->{uid}; - $user_edit = $user; - } - $nickname = $user_edit->{nickname}; - - print createMenu("users", { - style => 'tabbed', - justify => 'right', - color => 'colored', - tab_selected => $user_edit->{uid} == $user->{uid} ? 'me' : 'otheruser', - }); - - my $min_comment = $form->{min_comment} || 0; - $min_comment = 0 unless $user->{seclev} > $constants->{comments_more_seclev} - || $constants->{comments_more_seclev} == 2 && $user->{is_subscriber}; - my $comments_wanted = $user->{show_comments_num} - || $constants->{user_comment_display_default}; - my $commentcount = $reader->countCommentsByUID($uid); - my $comments = $reader->getCommentsByUID( - $uid, $comments_wanted, $min_comment - ) if $commentcount; - - if (ref($comments) eq 'ARRAY') { - my $kinds = $reader->getDescriptions('discussion_kinds'); - for my $comment (@$comments) { - # This works since $sid is numeric. - $comment->{replies} = $reader->countCommentsBySidPid($comment->{sid}, $comment->{cid}); - - # This is ok, since with all luck we will not be hitting the DB - # ...however, the "sid" parameter here must be the string - # based SID from either the "stories" table or from - # pollquestions. - my $discussion = $reader->getDiscussion($comment->{sid}); - - if ($kinds->{ $discussion->{dkid} } =~ /^journal(?:-story)?$/) { - $comment->{type} = 'journal'; - } elsif ($kinds->{ $discussion->{dkid} } eq 'poll') { - $comment->{type} = 'poll'; - } else { - $comment->{type} = 'story'; - } - $comment->{disc_title} = $discussion->{title}; - $comment->{url} = $discussion->{url}; - } - } - - my $mod_reader = getObject("Slash::$constants->{m1_pluginname}", { db_type => 'reader' }); - slashDisplay('userCom', { - nick => $nickname, - useredit => $user_edit, - nickmatch_flag => ($user->{uid} == $uid ? 1 : 0), - commentstruct => $comments, - commentcount => $commentcount, - min_comment => $min_comment, - reasons => $mod_reader->getReasons(), - karma_flag => 0, - admin_flag => $user->{is_admin}, - }, { Page => 'users' }); -} - sub noUser { print getData("no_user"); } @@ -1432,6 +1184,7 @@ $form->{dp} = 'firehose'; # Marquee is the "latest thing" $marquee = $users2->getMarquee($latest_comments, $latest_journals, $latest_submissions); + #$marquee = $users2->truncateMarquee($marquee); $not_fhid = $users2->getMarqueeFireHoseId($marquee); } @@ -1645,137 +1398,6 @@ } ##################################################################### -sub editTags { - my($hr) = @_; - my $slashdb = getCurrentDB(); - my $user = getCurrentUser(); - my $constants = getCurrentStatic(); - my $note = $hr->{note} || ""; - - return if $user->{is_anon}; # shouldn't be, but can't hurt to check - - print createMenu("users", { - style => 'tabbed', - justify => 'right', - color => 'colored', - tab_selected => $hr->{tab_selected_1} || "", - }); - - my $user_edit = $slashdb->getUser($user->{uid}); - my $title = getTitle('editTags_title'); - - slashDisplay('editTags', { - user_edit => $user_edit, - title => $title, - note => $note, - }); -} - -sub saveTags { - my($hr) = @_; - my $slashdb = getCurrentDB(); - my $user = getCurrentUser(); - my $form = getCurrentForm(); - my $constants = getCurrentStatic(); - - return if $user->{is_anon}; # shouldn't be, but can't hurt to check - - $slashdb->setUser($user->{uid}, { - tags_turnedoff => $form->{showtags} ? '' : 1 }); - editTags({ note => getMessage('savetags_msg') }); -} - -##################################################################### -sub showTags { - my($hr) = @_; - my $user = getCurrentUser(); - my $form = getCurrentForm(); - my $slashdb = getCurrentDB(); - my $constants = getCurrentStatic(); - my $tags_reader = getObject('Slash::Tags', { db_type => 'reader' }); - - my $tagname = $form->{tagname} || ''; - $tagname = '' if !$tags_reader->tagnameSyntaxOK($tagname); - - my($uid, $user_edit); - if ($form->{uid} || $form->{nick}) { - $uid = $form->{uid} || $tags_reader->getUserUID($form->{nick}); - $user_edit = $tags_reader->getUser($uid); - } - if (!$user_edit || $user_edit->{is_anon}) { - $uid = $user->{uid}; - $user_edit = $user; - } - my $nickname = $user_edit->{nickname}; - - if (!$constants->{plugin}{Tags}) { - print getError('bad_op', { op => $form->{op}}); - return; - } - - my $tagnameid = $tags_reader->getTagnameidFromNameIfExists($tagname); - if ($tagnameid) { - # Show all user's tags for one particular tagname. - my $tags_hr = $tags_reader->getGroupedTagsFromUser($user_edit->{uid}, - { tagnameid => $tagnameid }); - my $tags_ar = $tags_hr->{$tagname} || [ ]; - return slashDisplay('usertagsforname', { - useredit => $user_edit, - tagname => $tagname, - tags => $tags_ar, - notitle => 1, - }, { Page => 'users', Return => 1 }); - } else { - my $tags_hr = $tags_reader->getGroupedTagsFromUser($user_edit->{uid}); - my $num_tags = 0; - for my $tn (keys %$tags_hr) { - $num_tags += scalar @{ $tags_hr->{$tn} }; - } - # Show all user's tagnames, with links to show all - # tags for each particular tagname. - my $tagname_ar = [ sort keys %$tags_hr ]; - return slashDisplay('usertagnames', { - useredit => $user_edit, - tagnames => $tagname_ar, - notitle => 1, - }, { Page => 'users', Return => 1 }); - } -} - -################################################################# -sub showBookmarks { - my($hr) = @_; - my $user = getCurrentUser(); - my $form = getCurrentForm(); - my $slashdb = getCurrentDB(); - my $constants = getCurrentStatic(); - my $tags_reader = getObject('Slash::Tags', { db_type => 'reader' }); - - my($uid, $user_edit); - if ($form->{uid} || $form->{nick}) { - $uid = $form->{uid} || $tags_reader->getUserUID($form->{nick}); - $user_edit = $tags_reader->getUser($uid); - } - if (!$user_edit || $user_edit->{is_anon}) { - $uid = $user->{uid}; - $user_edit = $user; - } - my $nickname = $user_edit->{nickname}; - - if (!$constants->{plugin}{Tags}) { - print getError('bad_op', { op => $form->{op}}); - return; - } - - my $tags_ar = $tags_reader->getGroupedTagsFromUser($user_edit->{uid}, { type => "urls", only_bookmarked => 1 }); - - slashDisplay('userbookmarks', { - useredit => $user_edit, - tags_grouped => $tags_ar, - }); -} - -################################################################# sub editKey { my($uid) = @_; @@ -1814,12 +1436,6 @@ if ($form->{edituser}) { editUser($hr); - } elsif ($form->{edithome}) { - editHome($hr); - - } elsif ($form->{editcomm}) { - editComm($hr); - } elsif ($form->{changepasswd}) { changePasswd($hr); } @@ -2011,78 +1627,6 @@ } ################################################################# -sub changePasswd { - my($hr) = @_; - my $form = getCurrentForm(); - my $slashdb = getCurrentDB(); - my $user = getCurrentUser(); - my $constants = getCurrentStatic(); - - print createMenu("users", { - style => 'tabbed', - justify => 'right', - color => 'colored', - tab_selected => $hr->{tab_selected_1} || "", - }); - - my $user_edit = {}; - my $title; - my $suadmin_flag = ($user->{seclev} >= 10000) ? 1 : 0; - - my $admin_flag = ($user->{is_admin}) ? 1 : 0; - my $admin_block = ''; - - my $id = ''; - if ($admin_flag) { - if ($form->{userfield}) { - $id ||= $form->{userfield}; - if ($id =~ /^\d+$/) { - $user_edit = $slashdb->getUser($id); - } else { - $user_edit = $slashdb->getUser($slashdb->getUserUID($id)); - } - } else { - $user_edit = $id eq '' ? $user : $slashdb->getUser($id); - $id = $user_edit->{uid}; - } - } else { - $id = $user->{uid}; - $user_edit = $user; - } - - $admin_block = getUserAdmin($id, 'uid', 1) if $admin_flag; - - # print getMessage('note', { note => $form->{note}}) if $form->{note}; - - $title = getTitle('changePasswd_title', { user_edit => $user_edit }); - - my $session = $slashdb->getDescriptions('session_login'); - my $session_select = createSelect('session_login', $session, $user_edit->{session_login}, 1); - - my $clocation = $slashdb->getDescriptions('cookie_location'); - my @clocation_order = grep { exists $clocation->{$_} } qw(none classbid subnetid ipid); - my $clocation_select = createSelect('cookie_location', $clocation, - $user_edit->{cookie_location}, 1, 0, \@clocation_order - ); - - my $got_oldpass = 0; - if ($form->{oldpass}) { - my $return_uid = $slashdb->getUserAuthenticate($id, $form->{oldpass}, 1); - $got_oldpass = 1 if $return_uid && $id == $return_uid; - } - - slashDisplay('changePasswd', { - useredit => $user_edit, - admin_flag => $suadmin_flag, - title => $title, - session => $session_select, - clocation => $clocation_select, - admin_block => $admin_block, - got_oldpass => $got_oldpass - }); -} - -################################################################# sub editUser { my($hr) = @_; my $id = $hr->{uid} || ''; @@ -2146,253 +1690,6 @@ } ################################################################# -sub editHome { - my($hr) = @_; - my $id = $hr->{uid} || ''; - my $note = $hr->{note} || ''; - - my $slashdb = getCurrentDB(); - my $form = getCurrentForm(); - my $user = getCurrentUser(); - my $constants = getCurrentStatic(); - - print createMenu("users", { - style => 'tabbed', - justify => 'right', - color => 'colored', - tab_selected => $hr->{tab_selected_1} || "", - }); - - my($formats, $title, $tzformat_select); - my $user_edit = {}; - my $fieldkey; - - my $admin_flag = ($user->{is_admin}) ? 1 : 0; - my $admin_block = ''; - - if ($admin_flag && $form->{userfield}) { - $id ||= $form->{userfield}; - if ($form->{userfield} =~ /^\d+$/) { - $user_edit = $slashdb->getUser($id); - $fieldkey = 'uid'; - } else { - $user_edit = $slashdb->getUser($slashdb->getUserUID($id)); - $fieldkey = 'nickname'; - } - } else { - $user_edit = $id eq '' ? $user : $slashdb->getUser($id); - $fieldkey = 'uid'; - } -#use Data::Dumper; $Data::Dumper::Sortkeys = 1; print STDERR scalar(localtime) . " user_edit: " . Dumper($user_edit); - - return if isAnon($user_edit->{uid}) && ! $admin_flag; - $admin_block = getUserAdmin($id, $fieldkey, 1) if $admin_flag; - - $title = getTitle('editHome_title'); - - return if $user->{seclev} < 100 && isAnon($user_edit->{uid}); - - $formats = $slashdb->getDescriptions('dateformats'); - $tzformat_select = createSelect('tzformat', $formats, $user_edit->{dfid}, 1); - - my $lb_check = $user_edit->{lowbandwidth} ? $constants->{markup_checked_attribute} : ''; - my $sd_check = $user_edit->{simpledesign} ? $constants->{markup_checked_attribute} : ''; - my $i_check = $user_edit->{noicons} ? $constants->{markup_checked_attribute} : ''; - my $w_check = $user_edit->{willing} ? $constants->{markup_checked_attribute} : ''; - - my $tilde_ed = tildeEd($user_edit); - - slashDisplay('editHome', { - title => $title, - admin_block => $admin_block, - user_edit => $user_edit, - tzformat_select => $tzformat_select, - i_check => $i_check, - w_check => $w_check, - lb_check => $lb_check, - sd_check => $sd_check, - tilde_ed => $tilde_ed, - note => $note, - }); -} - -################################################################# -sub editComm { - my($hr) = @_; - my $id = $hr->{uid} || ''; - my $note = $hr->{note} || ''; - - my $slashdb = getCurrentDB(); - my $form = getCurrentForm(); - my $user = getCurrentUser(); - my $constants = getCurrentStatic(); - my $user_edit = {}; - my($formats, $commentmodes_select, $commentsort_select, $title, - $uthreshold_select, $highlightthresh_select, $posttype_select, - $bytelimit_select); - - my $admin_block = ''; - my $fieldkey; - - print createMenu("users", { - style => 'tabbed', - justify => 'right', - color => 'colored', - tab_selected => $hr->{tab_selected_1} || "", - }); - - my $admin_flag = $user->{is_admin} ? 1 : 0; - - if ($admin_flag && $form->{userfield}) { - $id ||= $form->{userfield}; - if ($form->{userfield} =~ /^\d+$/) { - $user_edit = $slashdb->getUser($id); - $fieldkey = 'uid'; - } else { - $user_edit = $slashdb->getUser($slashdb->getUserUID($id)); - $fieldkey = 'nickname'; - } - } else { - $user_edit = $id eq '' ? $user : $slashdb->getUser($id); - $fieldkey = 'uid'; - } - - my $hi = $constants->{comment_maxscore} - $constants->{comment_minscore}; - my $lo = -$hi; - my @range = map { $_ > 0 ? "+$_" : $_ } ($lo .. $hi); - - my @reasons = ( ); - my %reason_select = ( ); - if ($constants->{m1}) { - my $mod_reader = getObject("Slash::$constants->{m1_pluginname}", { db_type => 'reader' }); - my $reasons = $mod_reader->getReasons(); - for my $id (sort { $a <=> $b } keys %$reasons) { - push @reasons, $reasons->{$id}{name}; - } - # Reason modifiers - for my $reason_name (@reasons) { - my $key = "reason_alter_$reason_name"; - $reason_select{$reason_name} = createSelect( - $key, \@range, - $user_edit->{$key} || 0, 1, 1 - ); - } - } - - # Zoo relation modifiers - my %people_select; - my @people = qw(friend foe anonymous fof eof freak fan); - for (@people) { - my $key = "people_bonus_$_"; - $people_select{$_} = createSelect($key, \@range, - $user_edit->{$key} || 0, 1, 1 - ); - } - - # New-user modifier - my $new_user_bonus_select = createSelect('new_user_bonus', \@range, - $user_edit->{new_user_bonus} || 0, 1, 1); - my $new_user_percent_select = createSelect('new_user_percent', - [( 1..15, 20, 25, 30, 35, 40, 45, 50, 55, - 60, 65, 70, 75, 80, 85, 90, 95 )], - $user_edit->{new_user_percent} || 100, 1, 1); - # Karma modifier - my $karma_bonus = createSelect('karma_bonus', \@range, - $user_edit->{karma_bonus} || 0, 1, 1); - # Subscriber modifier - my $subscriber_bonus = createSelect('subscriber_bonus', \@range, - $user_edit->{subscriber_bonus} || 0, 1, 1); - - # Length modifier - my $small_length_bonus_select = createSelect('clsmall_bonus', \@range, - $user_edit->{clsmall_bonus} || 0, 1, 1); - my $long_length_bonus_select = createSelect('clbig_bonus', \@range, - $user_edit->{clbig_bonus} || 0, 1, 1); - - return if isAnon($user_edit->{uid}) && ! $admin_flag; - $admin_block = getUserAdmin($id, $fieldkey, 1) if $admin_flag; - - $title = getTitle('editComm_title'); - - $formats = $slashdb->getDescriptions('commentmodes'); - $commentmodes_select=createSelect('umode', $formats, $user_edit->{mode}, 1); - - $formats = $slashdb->getDescriptions('sortcodes'); - $commentsort_select = createSelect( - 'commentsort', $formats, $user_edit->{commentsort}, 1 - ); - - $formats = $slashdb->getDescriptions('threshcodes'); - $uthreshold_select = createSelect( - 'uthreshold', $formats, $user_edit->{threshold}, 1 - ); - - $formats = $slashdb->getDescriptions('threshcodes'); - $highlightthresh_select = createSelect( - 'highlightthresh', $formats, $user_edit->{highlightthresh}, 1 - ); - - $user_edit->{bytelimit} = $constants->{defaultbytelimit} - if $user_edit->{bytelimit} < 0 || $user_edit->{bytelimit} > 7; - my $bytelimit_desc = $user_edit->{is_subscriber} ? 'bytelimit' : 'bytelimit_sub'; - $formats = $slashdb->getDescriptions($bytelimit_desc); - $bytelimit_select = createSelect( - 'bytelimit', $formats, $user_edit->{bytelimit}, 1 - ); - - my $h_check = $user_edit->{hardthresh} ? $constants->{markup_checked_attribute} : ''; - my $r_check = $user_edit->{reparent} ? $constants->{markup_checked_attribute} : ''; - my $n_check = $user_edit->{noscores} ? $constants->{markup_checked_attribute} : ''; - my $s_check = $user_edit->{nosigs} ? $constants->{markup_checked_attribute} : ''; - my $b_check = $user_edit->{nobonus} ? $constants->{markup_checked_attribute} : ''; - my $sb_check = $user_edit->{nosubscriberbonus} ? $constants->{markup_checked_attribute} : ''; - my $p_check = $user_edit->{postanon} ? $constants->{markup_checked_attribute} : ''; - my $nospell_check = $user_edit->{no_spell} ? $constants->{markup_checked_attribute} : ''; - my $s_mod_check = $user_edit->{mod_with_comm} ? $constants->{markup_checked_attribute} : ''; - my $s_m2_check = $user_edit->{m2_with_mod} ? $constants->{markup_checked_attribute} : ''; - my $s_m2c_check = $user_edit->{m2_with_comm_mod} ? $constants->{markup_checked_attribute} : ''; - - $formats = $slashdb->getDescriptions('postmodes'); - $posttype_select = createSelect( - 'posttype', $formats, $user_edit->{posttype}, 1 - ); - - slashDisplay('editComm', { - title => $title, - admin_block => $admin_block, - user_edit => $user_edit, - h_check => $h_check, - r_check => $r_check, - n_check => $n_check, - s_check => $s_check, - b_check => $b_check, - sb_check => $sb_check, - p_check => $p_check, - s_mod_check => $s_mod_check, - s_m2_check => $s_m2_check, - s_m2c_check => $s_m2c_check, - nospell_check => $nospell_check, - commentmodes_select => $commentmodes_select, - commentsort_select => $commentsort_select, - highlightthresh_select => $highlightthresh_select, - uthreshold_select => $uthreshold_select, - posttype_select => $posttype_select, - reasons => \@reasons, - reason_select => \%reason_select, - people => \@people, - people_select => \%people_select, - new_user_percent_select => $new_user_percent_select, - new_user_bonus_select => $new_user_bonus_select, - note => $note, - karma_bonus => $karma_bonus, - subscriber_bonus => $subscriber_bonus, - small_length_bonus_select => $small_length_bonus_select, - long_length_bonus_select => $long_length_bonus_select, - bytelimit_select => $bytelimit_select, - }); -} - -################################################################# sub saveUserAdmin { my($hr) = @_; my $slashdb = getCurrentDB(); @@ -2549,92 +1846,6 @@ } ################################################################# -sub savePasswd { - my($hr) = @_; - my $note = $hr->{noteref} || undef; - - my $slashdb = getCurrentDB(); - my $form = getCurrentForm(); - my $user = getCurrentUser(); - my $constants = getCurrentStatic(); - - my $error_flag = 0; - my $user_edit = {}; - my $uid; - - my $user_edits_table = {}; - - if ($user->{is_admin}) { - $uid = $form->{uid} || $user->{uid}; - } else { - $uid = ($user->{uid} == $form->{uid}) ? $form->{uid} : $user->{uid}; - } - - $user_edit = $slashdb->getUser($uid); - - if (!$user_edit->{nickname}) { - $$note .= getError('cookie_err', { titlebar => 0 }, 0, 1) - if $note; - $error_flag++; - } - - if ($form->{pass1} ne $form->{pass2}) { - $$note .= getError('saveuser_passnomatch_err', { titlebar => 0 }, 0, 1) - if $note; - $error_flag++; - } - - if (!$form->{pass1} || length $form->{pass1} < 6) { - $$note .= getError('saveuser_passtooshort_err', { titlebar => 0 }, 0, 1) - if $note; - $error_flag++; - } - - if (!$user->{is_admin}){ - # not an admin -- check old password before changing passwd - my $return_uid = $slashdb->getUserAuthenticate($uid, $form->{oldpass}, 1); - if (!$return_uid || $return_uid != $uid) { - $$note .= getError('saveuser_badoldpass_err', { titlebar => 0 }, 0, 1) - if $note; - $error_flag++; - - } - } - - if (! $error_flag) { - $user_edits_table->{passwd} = $form->{pass1} if $form->{pass1}; - $user_edits_table->{session_login} = $form->{session_login}; - $user_edits_table->{cookie_location} = $form->{cookie_location}; - - # changed pass, so delete all logtokens - $slashdb->deleteLogToken($form->{uid}, 1); - - if ($user->{admin_clearpass} - && !$user->{state}{admin_clearpass_thisclick}) { - # User is an admin who sent their password in the clear - # some time ago; now that it's been changed, we'll forget - # about that incident, unless this click was sent in the - # clear as well. - $user_edits_table->{admin_clearpass} = ''; - } - - getOtherUserParams($user_edits_table); - $slashdb->setUser($uid, $user_edits_table) ; - $$note .= getMessage('saveuser_passchanged_msg', - { nick => $user_edit->{nickname}, uid => $user_edit->{uid} }, - 0, 1) if $note; - - # only set cookie if user is current user - if ($form->{uid} eq $user->{uid}) { - $user->{logtoken} = bakeUserCookie($uid, $slashdb->getLogToken($form->{uid}, 1)); - setCookie('user', $user->{logtoken}, $user_edits_table->{session_login}); - } - } - - return $error_flag; -} - -################################################################# sub saveUser { my($hr) = @_; my $slashdb = getCurrentDB(); @@ -2794,409 +2005,6 @@ ################################################################# -sub saveComm { - my($hr) = @_; - my $slashdb = getCurrentDB(); - my $user = getCurrentUser(); - my $form = getCurrentForm(); - my $constants = getCurrentStatic(); - my($uid, $user_fakeemail); - - if ($user->{is_admin}) { - $uid = $form->{uid} || $user->{uid}; - } else { - $uid = ($user->{uid} == $form->{uid}) ? - $form->{uid} : $user->{uid}; - } - - # Do the right thing with respect to the chosen email display mode - # and the options that can be displayed. - my $user_edit = $slashdb->getUser($uid); - my $new_fakeemail = ''; # at emaildisplay 0, don't show any email address - if ($form->{emaildisplay}) { - $new_fakeemail = getArmoredEmail($uid) if $form->{emaildisplay} == 1; - $new_fakeemail = $user_edit->{realemail} if $form->{emaildisplay} == 2; - } - - my $name = $user->{seclev} && $form->{name} ? - $form->{name} : $user->{nickname}; - - my $note = getMessage('savenickname_msg', - { nickname => $name }); - - print getError('cookie_err') if isAnon($uid) || !$name; - - # Take care of the lists - # Enforce Ranges for variables that need it - $form->{commentlimit} = 0 if $form->{commentlimit} < 1; - my $cl_max = $constants->{comment_commentlimit} || 0; - $form->{commentlimit} = $cl_max if $cl_max > 0 && $form->{commentlimit} > $cl_max; - $form->{commentspill} = 0 if $form->{commentspill} < 1; - - # For some of these values, namely the ones that we happen to - # know get stored in users_param, we change them to 'undef' - # if they are the default value. This deletes them from the - # users_param table, which has the same effect as storing the - # default except it's faster all around. If we ever change - # the schema to promote these fields from params into a - # proper users_* table, then this will no longer be correct. - # See prepareUser(). - my $max = $constants->{comment_maxscore} - $constants->{comment_minscore}; - my $min = -$max; - my $karma_bonus = ($form->{karma_bonus} !~ /^[\-+]?\d+$/) ? "+1" : $form->{karma_bonus}; - my $subscriber_bonus = ($form->{subscriber_bonus} !~ /^[\-+]?\d+$/) ? "+1" : $form->{subscriber_bonus}; - my $new_user_bonus = ($form->{new_user_bonus} !~ /^[\-+]?\d+$/) ? 0 : $form->{new_user_bonus}; - my $new_user_percent = (($form->{new_user_percent} <= 100 && $form->{new_user_percent} >= 0) - ? $form->{new_user_percent} - : 100); - my $clsmall_bonus = ($form->{clsmall_bonus} !~ /^[\-+]?\d+$/) ? 0 : $form->{clsmall_bonus}; - my $clbig_bonus = ($form->{clbig_bonus} !~ /^[\-+]?\d+$/) ? 0 : $form->{clbig_bonus}; - - my $user_edits_table = { - discussion2 => $form->{discussion2} || undef, - d2_comment_q => $form->{d2_comment_q} || undef, - d2_comment_order => $form->{d2_comment_order} || undef, - clsmall => $form->{clsmall}, - clsmall_bonus => ($clsmall_bonus || undef), - clbig => $form->{clbig}, - clbig_bonus => ($clbig_bonus || undef), - commentlimit => $form->{commentlimit}, - bytelimit => $form->{bytelimit}, - commentsort => $form->{commentsort}, - commentspill => $form->{commentspill}, - domaintags => ($form->{domaintags} != 2 ? $form->{domaintags} : undef), - emaildisplay => $form->{emaildisplay} || undef, - fakeemail => $new_fakeemail, - highlightthresh => $form->{highlightthresh}, - maxcommentsize => $form->{maxcommentsize}, - mode => $form->{umode}, - posttype => $form->{posttype}, - threshold => $form->{uthreshold}, - nosigs => ($form->{nosigs} ? 1 : 0), - reparent => ($form->{reparent} ? 1 : 0), - noscores => ($form->{noscores} ? 1 : 0), - hardthresh => ($form->{hardthresh} ? 1 : 0), - no_spell => ($form->{no_spell} ? 1 : undef), - nobonus => ($form->{nobonus} ? 1 : undef), - nosubscriberbonus => ($form->{nosubscriberbonus} ? 1 : undef), - postanon => ($form->{postanon} ? 1 : undef), - new_user_percent => ($new_user_percent && $new_user_percent != 100 - ? $new_user_percent : undef), - new_user_bonus => ($new_user_bonus || undef), - karma_bonus => ($karma_bonus ne '+1' ? $karma_bonus : undef), - subscriber_bonus => ($subscriber_bonus || undef), - textarea_rows => ($form->{textarea_rows} != $constants->{textarea_rows} - ? $form->{textarea_rows} : undef), - textarea_cols => ($form->{textarea_cols} != $constants->{textarea_cols} - ? $form->{textarea_cols} : undef), - user_comment_sort_type => ($form->{user_comment_sort_type} != 2 - ? $form->{user_comment_sort_type} : undef ), - mod_with_comm => ($form->{mod_with_comm} ? 1 : undef), - m2_with_mod => ($form->{m2_with_mod} ? 1 : undef), - m2_with_comm_mod => ($form->{m2_with_mod_on_comm} ? 1 : undef), - - }; - - # set our default values for the items where an empty-string won't do - my $defaults = { - posttype => 2, - highlightthresh => 4, - maxcommentsize => 4096, - reparent => 1, - commentlimit => 100, - commentspill => 50, - mode => 'thread' - }; - - my $mod_reader = getObject("Slash::$constants->{m1_pluginname}", { db_type => 'reader' }); - my @reasons = ( ); - my $reasons = $mod_reader->getReasons(); - for my $id (sort { $a <=> $b } keys %$reasons) { - push @reasons, $reasons->{$id}{name}; - } - - for my $reason_name (@reasons) { - my $key = "reason_alter_$reason_name"; - my $answer = $form->{$key} || 0; - $answer = 0 if !$answer || $answer !~ /^[\-+]?\d+$/; - $user_edits_table->{$key} = ($answer == 0) ? '' : $answer; - } - - for (qw| friend foe anonymous fof eof freak fan |) { - my $answer = $form->{"people_bonus_$_"}; - $answer = 0 if $answer !~ /^[\-+]?\d+$/; - $user_edits_table->{"people_bonus_$_"} = ($answer == 0) ? '' : $answer; - } - getOtherUserParams($user_edits_table); - setToDefaults($user_edits_table, {}, $defaults) if $form->{restore_defaults}; - $slashdb->setUser($uid, $user_edits_table); - - editComm({ uid => $uid, note => $note }); -} - -################################################################# -sub saveHome { - my($hr) = @_; - my $slashdb = getCurrentDB(); - my $user = getCurrentUser(); - my $form = getCurrentForm(); - my $constants = getCurrentStatic(); - my($uid, $error); - - if ($user->{is_admin}) { - $uid = $form->{uid} || $user->{uid} ; - } else { - $uid = ($user->{uid} == $form->{uid}) ? - $form->{uid} : $user->{uid}; - } - my $edit_user = $slashdb->getUser($uid); - - my $name = $user->{seclev} && $form->{name} ? - $form->{name} : $user->{nickname}; - $name = substr($name, 0, 20); - - my $note = getMessage('savenickname_msg', - { nickname => $name }); - - if (isAnon($uid) || !$name) { - my $cookiemsg = getError('cookie_err'); - print $cookiemsg; - } - - # Using the existing list of slashboxes and the set of - # what's checked and not, build up the new list. - # (New arrivals go at the end.) - my $slashboxes = $edit_user->{slashboxes}; - # Only go through all this if the user clicked save, - # not "Restore Slashbox Defaults"! - my($boxes, $skinBoxes) = $slashdb->getPortalsCommon(); - my $default_slashboxes_textlist = join ",", - @{$skinBoxes->{$constants->{mainpage_skid}}}; - if (!$form->{restore_slashbox_defaults}) { - $slashboxes = $default_slashboxes_textlist if !$slashboxes; - my @slashboxes = split /,/, $slashboxes; - my %slashboxes = ( ); - for my $i (0..$#slashboxes) { - $slashboxes{$slashboxes[$i]} = $i; - } - # Add new boxes in. - for my $key (sort grep /^showbox_/, keys %$form) { - my($bid) = $key =~ /^showbox_(\w+)$/; - next if length($bid) < 1 || length($bid) > 30 || $bid !~ /^\w+$/; - if (! exists $slashboxes{$bid}) { - $slashboxes{$bid} = 999; # put it at the end - } - } - # Remove any boxes that weren't checked. - for my $bid (@slashboxes) { - delete $slashboxes{$bid} unless $form->{"showbox_$bid"}; - } - @slashboxes = sort { - $slashboxes{$a} <=> $slashboxes{$b} - || - $a cmp $b - } keys %slashboxes; - # This probably should be a var (and appear in tilded_customize_msg) - $#slashboxes = 19 if $#slashboxes > 19; - $slashboxes = join ",", @slashboxes; - } - # If we're right back to the default, that means the - # empty string. - if ($slashboxes eq $default_slashboxes_textlist) { - $slashboxes = ""; - } - - # Set the story_never and story_always fields. - my $author_hr = $slashdb->getDescriptions('authors'); - my $tree = $slashdb->getTopicTree(); - my(@story_never_topic, @story_never_author, @story_never_nexus); - my(@story_always_topic, @story_always_author); - my(@story_always_nexus, @story_full_brief_nexus, @story_brief_always_nexus, @story_full_best_nexus, @story_brief_best_nexus); - my($story_topic_all, $story_author_all, $story_nexus_all) = (0, 0, 0); - - # Topics are either present (value=2) or absent (value=0). If absent, - # push them onto the never list. Otherwise, do nothing. (There's no - # way to have an "always" topic, at the moment.) If the hidden - # field topictids_present is false, then there are no topic tids, - # skip this. - if ($form->{topictids_present}) { - for my $tid ( - sort { $a <=> $b } - grep { !$tree->{$_}{nexus} } - keys %$tree - ) { - my $key = "topictid$tid"; - $story_topic_all++; - if (!$form->{$key}) { push @story_never_topic, $tid } - } - } - # Authors are either present (value=2) or absent (value=0). If - # absent, push them onto the never list. Otherwise, do nothing. - # (There's no way to have an "always" author, at the moment.) - for my $aid (sort { $a <=> $b } keys %$author_hr) { - my $key = "aid$aid"; - $story_author_all++; - if (!$form->{$key}) { push @story_never_author, $aid } - } - # Nexuses can have value 0, 1, 2, 3, 4, 5. - # 0 means the never list, - # 1 means brief view of mainpage articles only - # 2 means full view of mainpage articles only - # 3 means brief view of all content - # 4 means full view of mainpage content, brief view of sectional - # 5 means full view of all content - for my $tid ( - sort { $a <=> $b } - map { /^nexustid(\d+)$/; $1 } - grep { /^nexustid\d+$/ } - keys %$form - ) { - my $key = "nexustid$tid"; - next unless $tid && $tree->{$tid} && $tree->{$tid}{nexus}; - $story_nexus_all++; - if (!$form->{$key}) { push @story_never_nexus, $tid } - elsif ($form->{$key} == 5 ) { push @story_always_nexus, $tid } - elsif ($form->{$key} == 4 ) { push @story_full_brief_nexus, $tid } - elsif ($form->{$key} == 3 ) { push @story_brief_always_nexus, $tid } - elsif ($form->{$key} == 2 ) { push @story_full_best_nexus, $tid } - elsif ($form->{$key} == 1 ) { push @story_brief_best_nexus, $tid } - - - } -#use Data::Dumper; $Data::Dumper::Sortkeys = 1; print STDERR scalar(localtime) . " s_n_t '@story_never_topic' s_n_a '@story_never_author' s_n_n '@story_never_nexus' s_a_n '@story_always_nexus' form: " . Dumper($form); - # Sanity check. - $#story_never_topic = 299 if $#story_never_topic > 299; - $#story_never_author = 299 if $#story_never_author > 299; - $#story_never_nexus = 299 if $#story_never_nexus > 299; - $#story_always_topic = 299 if $#story_always_topic > 299; - $#story_always_author = 299 if $#story_always_author > 299; - $#story_always_nexus = 299 if $#story_always_nexus > 299; - $#story_full_brief_nexus = 299 if $#story_full_brief_nexus > 299; - $#story_brief_always_nexus = 299 if $#story_brief_always_nexus > 299; - $#story_brief_best_nexus = 299 if $#story_brief_best_nexus > 299; - $#story_full_best_nexus = 299 if $#story_full_best_nexus > 299; - - my $story_never_topic = join ",", @story_never_topic; - $story_never_topic = ($constants->{subscribe} && $user->{is_subscriber}) - ? checkList($story_never_topic, 1024) - : checkList($story_never_topic); - my $story_never_author = checkList(join ",", @story_never_author); - my $story_never_nexus = checkList(join ",", @story_never_nexus); - my $story_always_topic = checkList(join ",", @story_always_topic); - $story_always_topic = ($constants->{subscribe} && $user->{is_subscriber}) - ? checkList($story_always_topic, 1024) - : checkList($story_always_topic); - my $story_always_author = checkList(join ",", @story_always_author); - - my $story_always_nexus = checkList(join ",", @story_always_nexus); - my $story_full_brief_nexus = checkList(join ",", @story_full_brief_nexus); - my $story_brief_always_nexus = checkList(join ",", @story_brief_always_nexus); - my $story_brief_best_nexus = checkList(join ",", @story_brief_best_nexus); - my $story_full_best_nexus = checkList(join ",", @story_full_best_nexus); - - - my $user_edits_table = { - story_never_topic => $story_never_topic, - story_never_author => $story_never_author, - story_never_nexus => $story_never_nexus, - story_always_topic => $story_always_topic, - story_always_author => $story_always_author, - story_always_nexus => $story_always_nexus, - story_brief_always_nexus => $story_brief_always_nexus, - story_full_brief_nexus => $story_full_brief_nexus, - story_full_best_nexus => $story_full_best_nexus, - story_brief_best_nexus => $story_brief_best_nexus, - - slashboxes => checkList($slashboxes, 1024), - - maxstories => 30, # XXXSKIN fix this later - noboxes => ($form->{useslashboxes} ? 0 : 1), - lowbandwidth => ($form->{lowbandwidth} ? 1 : 0), - simpledesign => ($form->{simpledesign} ? 1 : 0), - noicons => ($form->{noicons} ? 1 : 0), - willing => ($form->{willing} ? 1 : 0), - }; - - if (defined $form->{tzcode} && defined $form->{tzformat}) { - $user_edits_table->{tzcode} = $form->{tzcode}; - $user_edits_table->{dfid} = $form->{tzformat}; - $user_edits_table->{dst} = $form->{dst}; - } - - # Force the User Space area to contain only known-good HTML tags. - # Unfortunately the cookie login model makes it just too risky - # to allow scripts in here; CSS's steal passwords. There are - # no known vulnerabilities at this time, but a combination of the - # social engineering taking place (inviting users to put Javascript - # from websites in here, and making available script URLs for that - # purpose), plus the fact that this could be used to amplify the - # seriousness of any future vulnerabilities, means it's way past - # time to shut this feature down. - Jamie 2002/03/06 - - # it's a VARCHAR ... - my $mylinks_limit = 255; - $user_edits_table->{mylinks} = balanceTags(strip_html( - chopEntity($form->{mylinks} || '', $mylinks_limit) - ), { deep_nesting => 2, length => $mylinks_limit }); - - $user_edits_table->{mylinks} = '' unless defined $user_edits_table->{mylinks}; - - $error = 1; - # must select at least 1/4 of nexuses, topics, authors - if ( scalar(@story_never_author) > ($story_author_all * 3/4) ) { - $note = getError('editHome_too_many_disabled'); - } elsif ( scalar(@story_never_nexus) > ($story_nexus_all * 3/4) ) { - $note = getError('editHome_too_many_disabled'); - } elsif ( scalar(@story_never_topic) > ($story_topic_all * 3/4) ) { - $note = getError('editHome_too_many_disabled'); - } else { - $error = 0; - } - - unless ($error) { - # If a user is unwilling to moderate, we should cancel all points, lest - # they be preserved when they shouldn't be. - if (!isAnon($uid) && !$form->{willing}) { - $slashdb->setUser($uid, { points => 0 }); - } - - getOtherUserParams($user_edits_table); - if ($form->{restore_defaults}) { - setToDefaults($user_edits_table, {}, { - maxstories => 30, - tzcode => "EST", - # XXX shouldn't this reset ALL the defaults, - # not just these two? - }); - } - if ($form->{restore_slashbox_defaults}) { - setToDefaults($user_edits_table, { - 'story_never_topic' => 1, - 'story_never_author' => 1, - 'story_never_nexus' => 1, - 'story_always_topic' => 1, - 'story_always_author' => 1, - 'story_always_nexus' => 1, - 'story_full_brief_nexus' => 1, - 'story_brief_always_nexus' => 1, - 'story_full_best_nexus' => 1, - 'story_brief_best_nexus' => 1, - 'maxstories' => 1, - 'noboxes' => 1, - 'light' => 1, - 'noicons' => 1, - 'willing' => 1 - }, { slashboxes => "" }); - } - -#print scalar(localtime) . " uet: " . Dumper($user_edits_table); - $slashdb->setUser($uid, $user_edits_table); - } - - editHome({ uid => $uid, note => $note }); -} - -################################################################# # A generic way for a site to allow users to edit data about themselves. # Most useful when your plugin or theme wants to let the user change # minor settings but you don't want to write a whole new version Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2AdminListComments;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2AdminListComments;users;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2AdminListComments;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -70,7 +70,7 @@ [% PROCESS titlebar width="100%" title = commenttitle max_min_button = extra -%] [% max_min_button = "" %] [% END %] -
    User User's...   Last Journal
    +
    [% IF type=="netid"; total_cols = total_cols + 1; %][% END %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2ListComments;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2ListComments;users;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2ListComments;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -69,7 +69,7 @@ %] [% max_min_button = "" %] [% END %] -
    UserSubject[% IF admin_flag %] / Moderator[% END %]
    +
    [% IF type=="netid"; total_cols = total_cols + 1; %][% END %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2MainView;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2MainView;users;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2MainView;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -16,16 +16,35 @@ [% IF main_view %]
    -
    - [% PROCESS u2UserBio useredit=useredit %] -
    +
    + [% PROCESS u2UserBio useredit=useredit %] +
    -
    -

    [% marquee.subject %]

    -
    - [% marquee.body %] -
    -
    +
    + [% IF !marquee.body %] +

    [% useredit.nickname | strip_literal %] doesn't seem to be particularly active.

    + [% ELSE %] +

    [% marquee.subject %]

    +
    + [% marquee.body %] + [% IF marquee.truncated %] ...

    [% END %] +

    + [% END %] + + [% + '
    Read More'; + %] +
    [% END %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2Menu;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2Menu;users;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2Menu;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -15,14 +15,14 @@ [% tilde = '^'; IF constants.u2; tilde = '~'; END; %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBoxes;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBoxes;users;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2UserBoxes;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -21,7 +21,7 @@
      - [% FOREACH cid = latest_comments.keys.sort %] + [% FOREACH cid = latest_comments.keys.sort.reverse %] [% reason_num = ''; reason_text = ''; @@ -54,7 +54,7 @@
    @@ -70,7 +70,7 @@
    Added: slashjp/branches/upstream/current/themes/slashcode/templates/u2_rsslink;users;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/u2_rsslink;users;default (rev 0) +++ slashjp/branches/upstream/current/themes/slashcode/templates/u2_rsslink;users;default 2008-12-16 03:30:11 UTC (rev 884) @@ -0,0 +1,39 @@ +__section__ +default +__description__ +You should describe stuff here. +__title__ +Useless title to template +__page__ +users +__lang__ +en_US +__name__ +u2_rsslink +__seclev__ +10000 +__template__ +[% IF !user.is_anon; + filter_str = ""; + IF name == "journal"; + filter = '"author: ' _ useredit.nickname _ '" journal'; + ELSIF name == "journalfriends"; + filter = '"authorfriend: ' _ useredit.nickname _ '" journal'; + ELSIF name == "submissions"; + filter = '"author: ' _ useredit.nickname _ '" submission'; + ELSIF name == "bookmarks"; + filter = '"user: ' _ useredit.nickname _ '" bookmark'; + ELSIF name == "firehose"; + filter = '"user: ' _ useredit.nickname _ '"'; + ELSIF name == "usertag"; + filter = '"user: ' _ useredit.nickname _ '" "tag:' _ form.tagname _ '"'; + END; + + filter_str = "fhfilter=" _ Slash.strip_paramattr(filter); + + rss_param_str = "&orderdir=DESC&orderby=createtime&color=black&duration=-1&startdate="; + rss_param_str = filter_str _ rss_param_str; + rss_link = Slash.root2abs() _ "/firehose.pl?op=rss&content_type=rss&" _ rss_param_str _ "&logtoken=" _ Slash.strip_paramattr(Slash.getPublicLogToken()); + %] + RSS for [% alt %] +[% END %] Modified: slashjp/branches/upstream/current/themes/slashcode/templates/user_titlebar;misc;default =================================================================== --- slashjp/branches/upstream/current/themes/slashcode/templates/user_titlebar;misc;default 2008-12-15 09:15:10 UTC (rev 883) +++ slashjp/branches/upstream/current/themes/slashcode/templates/user_titlebar;misc;default 2008-12-16 03:30:11 UTC (rev 884) @@ -55,7 +55,7 @@ { link = "$constants.real_rootdir/my/freaks/", label = "Freaks", sel_label = "freaks" }, ); END; IF constants.plugin.Tags; tabs.push( - { link = "$constants.real_rootdir/my/tags/", label = "Tags", sel_label = "tags" }, + { link = "$constants.real_rootdir/~$url_nick/tags/", label = "Tags", sel_label = "tags" }, ); END; IF constants.plugin.Bookmark; tabs.push( { link = "$constants.real_rootdir/my/bookmarks/", label = "Bookmarks", sel_label = "bookmarks" }, Added: slashjp/branches/upstream/current/utils/import_comments_firehose =================================================================== --- slashjp/branches/upstream/current/utils/import_comments_firehose (rev 0) +++ slashjp/branches/upstream/current/utils/import_comments_firehose 2008-12-16 03:30:11 UTC (rev 884) @@ -0,0 +1,112 @@ +#!/usr/bin/perl +use warnings; +use strict; + +use Slash::Test shift || 'slash'; + +my $slashdb = getCurrentDB(); +my $firehose = getObject("Slash::FireHose"); +my $tags = getObject("Slash::Tags"); + +my $log_loc; # set to something to log inserts +my $sleep = 0; # time to pause between inserts +my $v = 0; # Switch to true for verbose output +my $calc_pause = 0; # Switch to true to recalculate sleep interval by tagbox backlog + +my $days_back = 30; # Number of days of history to import + + +my $cids = $slashdb->sqlSelectColArrayref("cid","comments","uid!=666 AND date >DATE_SUB(NOW(), INTERVAL $days_back DAY)", "ORDER BY DATE DESC"); + +print "Total cids left: " . scalar(@$cids) ."\n"; + +my ($lastlog, $comments_added) = (0,0); + + +foreach my $cid(@$cids) { + my ($added_tag, $added_comment); + my $comment = $slashdb->getComment($cid); + my $item = $firehose->getFireHoseByTypeSrcid("comment", $cid); + if($item && $item->{id}) { + my $up_id = $tags->getTagnameidFromNameIfExists("nod"); + my $has_nod = $slashdb->sqlCount("tags", "uid=$comment->{uid} AND tagnameid=$up_id AND globjid=$item->{globjid}"); + print "HAS NOD: $has_nod $comment->{date}\n" if $v; + if (!$has_nod) { + my $tagid = $tags->createTag({ + uid => $comment->{uid}, + name => "nod", + globjid => $item->{globjid}, + private => 1, + }); + print "ADDING NOD $item->{globjid} TAGID: $tagid\n" if $v; + $added_tag = 1; + } + } else { + print "ADDING COMMENT $comment->{date}\n" if $v; + $added_comment = 1; + $comments_added++; + $firehose->createUpdateItemFromComment($comment->{cid}); + if ($log_loc) { + open LOG, ">>$log_loc"; + print LOG "$comment->{cid} $comment->{date}\n"; + close LOG; + } + } + + if (time - $lastlog > 60) { + $lastlog = time; + my $new_sleep = $sleep; + my $secs_back = get_secs_back(); + my $feeder_back = get_feeder_back(); + $feeder_back = int($feeder_back / 1000); + print "SECS BACK: $secs_back\n" if $v; + print "FEEDER BACK: $feeder_back\n" if $v; + + if($calc_pause) { + if ($secs_back < 2) { + $new_sleep = 0 + } elsif($secs_back < 2 ) { + $new_sleep = 1 + } elsif($secs_back < 4 ) { + $new_sleep = 3 + } elsif($secs_back < 6 ) { + $new_sleep = 4 + } elsif($secs_back < 10 ) { + $new_sleep = 5 + } else { + if ($sleep <= 10) { + $new_sleep = 10 + } else { + $new_sleep = $sleep +1 if $sleep < 20; + } + } + + my $feeder_penalty = 0; + + if ($feeder_back > 25) { + $feeder_penalty = int(($feeder_back - 25) / 5); + print "FEEDER PENALTY: $feeder_penalty\n" if $v; + } + $new_sleep += $feeder_penalty; + } + + print "$comment->{date} ADDED $comments_added BEHIND = $secs_back FB= $feeder_back SLEEP $sleep -> $new_sleep\n"; + $sleep = $new_sleep; + } + + if($added_tag || $added_comment) { + print "SLEEPING $sleep\n" if $v; + sleep $sleep; + } + + + +} + +sub get_secs_back { + return $slashdb->sqlSelect("(select unix_timestamp(created_at) from tags where tagid=(select max(tagid) from tags)) - (select unix_timestamp(created_at) from tags where tagid=(select min(last_tagid_logged) from tagboxes))"); +} + +sub get_feeder_back { + return $slashdb->sqlCount("tagboxlog_feeder"); +} From svnnotify @ sourceforge.jp Tue Dec 16 12:31:17 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 16 Dec 2008 12:31:17 +0900 Subject: [Slashdotjp-dev 1354] [885] add upstream 2.5.0.235 branch Message-ID: <1229398277.621833.8551.nullmailer@users.sourceforge.jp> Revision: 885 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=885 Author: tach Date: 2008-12-16 12:31:17 +0900 (Tue, 16 Dec 2008) Log Message: ----------- add upstream 2.5.0.235 branch Added Paths: ----------- slashjp/branches/upstream/2.5.0.235/ -------------- next part -------------- Copied: slashjp/branches/upstream/2.5.0.235 (from rev 884, slashjp/branches/upstream/current) From svnnotify @ sourceforge.jp Tue Dec 16 17:51:24 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 16 Dec 2008 17:51:24 +0900 Subject: [Slashdotjp-dev 1355] [886] fix related stories layout Message-ID: <1229417484.982252.22175.nullmailer@users.sourceforge.jp> Revision: 886 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=886 Author: tach Date: 2008-12-16 17:51:24 +0900 (Tue, 16 Dec 2008) Log Message: ----------- fix related stories layout Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-16 03:31:17 UTC (rev 885) +++ test/images/css/slashdotjp.css 2008-12-16 08:51:24 UTC (rev 886) @@ -99,10 +99,23 @@ margin: 0.3em 0.7em; } -.generaltitle .title h3 a.skin { +/* change skin/section link color more light */ +.generaltitle .title h3 a.skin, +#article .briefarticle .section a { color: #699; } +/* related story design */ +#article .briefarticle { + background: #E8E8E8; + padding: 0.4em; +} + +#article .briefarticle .section a, +#article .briefarticle .storytitle a { + font-weight: bold; +} + div.microad_comment { overflow: hidden; background: #FFF; From svnnotify @ sourceforge.jp Tue Dec 16 17:53:31 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 16 Dec 2008 17:53:31 +0900 Subject: [Slashdotjp-dev 1356] [887] fix related stories layout (cont.) Message-ID: <1229417611.340242.23773.nullmailer@users.sourceforge.jp> Revision: 887 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=887 Author: tach Date: 2008-12-16 17:53:31 +0900 (Tue, 16 Dec 2008) Log Message: ----------- fix related stories layout (cont.) Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-16 08:51:24 UTC (rev 886) +++ test/images/css/slashdotjp.css 2008-12-16 08:53:31 UTC (rev 887) @@ -108,7 +108,7 @@ /* related story design */ #article .briefarticle { background: #E8E8E8; - padding: 0.4em; + padding: 0.4em 0.7em; } #article .briefarticle .section a, From svnnotify @ sourceforge.jp Tue Dec 16 19:12:40 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 16 Dec 2008 19:12:40 +0900 Subject: [Slashdotjp-dev 1357] [888] fix section/skin link color Message-ID: <1229422360.638260.10045.nullmailer@users.sourceforge.jp> Revision: 888 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=888 Author: tach Date: 2008-12-16 19:12:40 +0900 (Tue, 16 Dec 2008) Log Message: ----------- fix section/skin link color Modified Paths: -------------- test/images/css/slashdot_apple.css test/images/css/slashdot_apple.css.jp test/images/css/slashdot_it.css test/images/css/slashdot_it.css.jp test/images/css/slashdot_linux.css test/images/css/slashdot_linux.css.jp test/images/css/slashdot_yro.css test/images/css/slashdot_yro.css.jp -------------- next part -------------- Modified: test/images/css/slashdot_apple.css =================================================================== --- test/images/css/slashdot_apple.css 2008-12-16 08:53:31 UTC (rev 887) +++ test/images/css/slashdot_apple.css 2008-12-16 10:12:40 UTC (rev 888) @@ -24,6 +24,13 @@ { background: #000 url(//images.slashdot.jp/article-title-bg-apple.png) repeat-x left top !important} +/* change skin/section link color more light */ .generaltitle .title h3 a.skin { color: #999; } + +#article .briefarticle .section a { + color: #07F; +} + +/* vim: set ft=css: */ Modified: test/images/css/slashdot_apple.css.jp =================================================================== --- test/images/css/slashdot_apple.css.jp 2008-12-16 08:53:31 UTC (rev 887) +++ test/images/css/slashdot_apple.css.jp 2008-12-16 10:12:40 UTC (rev 888) @@ -1,3 +1,10 @@ +/* change skin/section link color more light */ .generaltitle .title h3 a.skin { color: #999; } + +#article .briefarticle .section a { + color: #07F; +} + +/* vim: set ft=css: */ Modified: test/images/css/slashdot_it.css =================================================================== --- test/images/css/slashdot_it.css 2008-12-16 08:53:31 UTC (rev 887) +++ test/images/css/slashdot_it.css 2008-12-16 10:12:40 UTC (rev 888) @@ -41,3 +41,13 @@ #firehose .story .generaltitle .title a { color: #fff !important; } +/* change skin/section link color more light */ +.generaltitle .title h3 a.skin { + color: #D9D1C3; +} + +#article .briefarticle .section a { + color: #A9A183; +} + +/* vim: set ft=css: */ Modified: test/images/css/slashdot_it.css.jp =================================================================== --- test/images/css/slashdot_it.css.jp 2008-12-16 08:53:31 UTC (rev 887) +++ test/images/css/slashdot_it.css.jp 2008-12-16 10:12:40 UTC (rev 888) @@ -0,0 +1,10 @@ +/* change skin/section link color more light */ +.generaltitle .title h3 a.skin { + color: #D9D1C3; +} + +#article .briefarticle .section a { + color: #A9A183; +} + +/* vim: set ft=css: */ Modified: test/images/css/slashdot_linux.css =================================================================== --- test/images/css/slashdot_linux.css 2008-12-16 08:53:31 UTC (rev 887) +++ test/images/css/slashdot_linux.css 2008-12-16 10:12:40 UTC (rev 888) @@ -32,6 +32,11 @@ text-decoration: none; } -.generaltitle .title h3 a.skin { +/* change skin/section link color more light */ +.generaltitle .title h3 a.skin, +#article .briefarticle .section a { color: #999; } + +/* vim: set ft=css: */ + Modified: test/images/css/slashdot_linux.css.jp =================================================================== --- test/images/css/slashdot_linux.css.jp 2008-12-16 08:53:31 UTC (rev 887) +++ test/images/css/slashdot_linux.css.jp 2008-12-16 10:12:40 UTC (rev 888) @@ -3,6 +3,11 @@ text-decoration: none; } -.generaltitle .title h3 a.skin { +/* change skin/section link color more light */ +.generaltitle .title h3 a.skin, +#article .briefarticle .section a { color: #999; } + +/* vim: set ft=css: */ + Modified: test/images/css/slashdot_yro.css =================================================================== --- test/images/css/slashdot_yro.css 2008-12-16 08:53:31 UTC (rev 887) +++ test/images/css/slashdot_yro.css 2008-12-16 10:12:40 UTC (rev 888) @@ -41,3 +41,16 @@ .story .generaltitle .title a { color: #fff !important; } +li.comment .title h4 a +{ + text-decoration: none; +} + +/* change skin/section link color more light */ +.generaltitle .title h3 a.skin, +#article .briefarticle .section a { + color: #C70; +} + +/* vim: set ft=css: */ + Modified: test/images/css/slashdot_yro.css.jp =================================================================== --- test/images/css/slashdot_yro.css.jp 2008-12-16 08:53:31 UTC (rev 887) +++ test/images/css/slashdot_yro.css.jp 2008-12-16 10:12:40 UTC (rev 888) @@ -0,0 +1,13 @@ +li.comment .title h4 a +{ + text-decoration: none; +} + +/* change skin/section link color more light */ +.generaltitle .title h3 a.skin, +#article .briefarticle .section a { + color: #C70; +} + +/* vim: set ft=css: */ + From svnnotify @ sourceforge.jp Wed Dec 17 13:28:10 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 17 Dec 2008 13:28:10 +0900 Subject: [Slashdotjp-dev 1358] [889] remove topnav search width Message-ID: <1229488090.634092.17401.nullmailer@users.sourceforge.jp> Revision: 889 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=889 Author: tach Date: 2008-12-17 13:28:10 +0900 (Wed, 17 Dec 2008) Log Message: ----------- remove topnav search width Modified Paths: -------------- test/images/css/iestyles.css test/images/css/iestyles.css.jp -------------- next part -------------- Modified: test/images/css/iestyles.css =================================================================== --- test/images/css/iestyles.css 2008-12-16 10:12:40 UTC (rev 888) +++ test/images/css/iestyles.css 2008-12-17 04:28:10 UTC (rev 889) @@ -147,11 +147,6 @@ width: expression(document.documentElement.clientWidth < 750 ? "750px" : "auto"); } -/* topnav search width */ -#topnav div.search { - width: 20em; -} - /* override for original iestyles.css */ ul.menu li { float: none; Modified: test/images/css/iestyles.css.jp =================================================================== --- test/images/css/iestyles.css.jp 2008-12-16 10:12:40 UTC (rev 888) +++ test/images/css/iestyles.css.jp 2008-12-17 04:28:10 UTC (rev 889) @@ -4,11 +4,6 @@ width: expression(document.documentElement.clientWidth < 750 ? "750px" : "auto"); } -/* topnav search width */ -#topnav div.search { - width: 20em; -} - /* override for original iestyles.css */ ul.menu li { float: none; From svnnotify @ sourceforge.jp Wed Dec 17 13:28:44 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 17 Dec 2008 13:28:44 +0900 Subject: [Slashdotjp-dev 1359] [890] remove topnav search width Message-ID: <1229488124.492401.17649.nullmailer@users.sourceforge.jp> Revision: 890 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=890 Author: tach Date: 2008-12-17 13:28:44 +0900 (Wed, 17 Dec 2008) Log Message: ----------- remove topnav search width Modified Paths: -------------- images/css/iestyles.css images/css/iestyles.css.jp -------------- next part -------------- Modified: images/css/iestyles.css =================================================================== --- images/css/iestyles.css 2008-12-17 04:28:10 UTC (rev 889) +++ images/css/iestyles.css 2008-12-17 04:28:44 UTC (rev 890) @@ -145,11 +145,6 @@ width: expression(document.documentElement.clientWidth < 750 ? "750px" : "auto"); } -/* topnav search width */ -#topnav div.search { - width: 20em; -} - /* override for original iestyles.css */ ul.menu li { float: none; Modified: images/css/iestyles.css.jp =================================================================== --- images/css/iestyles.css.jp 2008-12-17 04:28:10 UTC (rev 889) +++ images/css/iestyles.css.jp 2008-12-17 04:28:44 UTC (rev 890) @@ -4,11 +4,6 @@ width: expression(document.documentElement.clientWidth < 750 ? "750px" : "auto"); } -/* topnav search width */ -#topnav div.search { - width: 20em; -} - /* override for original iestyles.css */ ul.menu li { float: none; From svnnotify @ sourceforge.jp Wed Dec 17 14:37:29 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 17 Dec 2008 14:37:29 +0900 Subject: [Slashdotjp-dev 1360] [891] IE tooltip fix Message-ID: <1229492249.240130.14086.nullmailer@users.sourceforge.jp> Revision: 891 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=891 Author: tach Date: 2008-12-17 14:37:28 +0900 (Wed, 17 Dec 2008) Log Message: ----------- IE tooltip fix Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-17 04:28:44 UTC (rev 890) +++ test/images/css/slashdotjp.css 2008-12-17 05:37:28 UTC (rev 891) @@ -528,7 +528,7 @@ width: 200px; white-space: normal; line-height: 1.4 !important; - z-index: 10; + z-index: 999999; } a.tooltip:hover span{ @@ -540,9 +540,10 @@ } #slashboxes #login-content a.tooltip span { - width: 160px; - margin-left: -60px; + width: 180px; + margin-left: -80px; margin-top: 20px; + font-size: 85%; } /* ads format */ From svnnotify @ sourceforge.jp Wed Dec 17 17:09:06 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 17 Dec 2008 17:09:06 +0900 Subject: [Slashdotjp-dev 1361] [892] remove unwanted upstream branch Message-ID: <1229501346.941754.15321.nullmailer@users.sourceforge.jp> Revision: 892 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=892 Author: tach Date: 2008-12-17 17:09:06 +0900 (Wed, 17 Dec 2008) Log Message: ----------- remove unwanted upstream branch Removed Paths: ------------- slashjp/branches/upstream/2.5.0.180/ slashjp/branches/upstream/2.5.0.181/ slashjp/branches/upstream/2.5.0.182/ slashjp/branches/upstream/2.5.0.183/ slashjp/branches/upstream/2.5.0.184/ slashjp/branches/upstream/2.5.0.186/ slashjp/branches/upstream/2.5.0.187/ slashjp/branches/upstream/2.5.0.188/ slashjp/branches/upstream/2.5.0.189/ slashjp/branches/upstream/2.5.0.190/ slashjp/branches/upstream/2.5.0.193/ slashjp/branches/upstream/2.5.0.195/ slashjp/branches/upstream/2.5.0.196/ slashjp/branches/upstream/2.5.0.198/ slashjp/branches/upstream/2.5.0.200/ slashjp/branches/upstream/2.5.0.201/ slashjp/branches/upstream/2.5.0.202/ slashjp/branches/upstream/2.5.0.218/ slashjp/branches/upstream/2.5.0.228/ -------------- next part -------------- From svnnotify @ sourceforge.jp Thu Dec 18 17:19:50 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 18 Dec 2008 17:19:50 +0900 Subject: [Slashdotjp-dev 1362] [893] add settings for superbanner location Message-ID: <1229588390.799681.17457.nullmailer@users.sourceforge.jp> Revision: 893 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=893 Author: tach Date: 2008-12-18 17:19:50 +0900 (Thu, 18 Dec 2008) Log Message: ----------- add settings for superbanner location Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-17 08:09:06 UTC (rev 892) +++ test/images/css/slashdotjp.css 2008-12-18 08:19:50 UTC (rev 893) @@ -547,6 +547,11 @@ } /* ads format */ +#ads-superbanner { + margin: 0 auto; + text-align: center; +} + div.article div.bigbanner, div.adsense_468x60 { overflow: hidden; From svnnotify @ sourceforge.jp Thu Dec 18 17:30:08 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 18 Dec 2008 17:30:08 +0900 Subject: [Slashdotjp-dev 1363] [894] add settings for superbanner location (cont.) Message-ID: <1229589008.895551.26667.nullmailer@users.sourceforge.jp> Revision: 894 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=894 Author: tach Date: 2008-12-18 17:30:08 +0900 (Thu, 18 Dec 2008) Log Message: ----------- add settings for superbanner location (cont.) Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-18 08:19:50 UTC (rev 893) +++ test/images/css/slashdotjp.css 2008-12-18 08:30:08 UTC (rev 894) @@ -548,7 +548,9 @@ /* ads format */ #ads-superbanner { - margin: 0 auto; + width: 728px; + margin-left: auto; + margin-right: auto; text-align: center; } From svnnotify @ sourceforge.jp Fri Dec 19 16:58:56 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 19 Dec 2008 16:58:56 +0900 Subject: [Slashdotjp-dev 1364] [895] 300px width slashboxes fix for firehose Message-ID: <1229673536.883244.7222.nullmailer@users.sourceforge.jp> Revision: 895 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=895 Author: tach Date: 2008-12-19 16:58:56 +0900 (Fri, 19 Dec 2008) Log Message: ----------- 300px width slashboxes fix for firehose Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-18 08:30:08 UTC (rev 894) +++ test/images/css/slashdotjp.css 2008-12-19 07:58:56 UTC (rev 895) @@ -46,26 +46,29 @@ #wrapper #indexhead, #search.aduserbox .generaltitle, #search.aduserbox .generalbody, -#firehoselist, -#firehose #message, -#firehose #messagearea, -#firehose #itemsreturned, -#firehose .firemenu, -#firehose .paginate, #pollBooth #wide, div#users-blocks { margin-right: 212px; } #index #indexhead, -#index #articles { +#index #articles, +#firehose #firehose-main { margin-right: 312px; } -#index #slashboxes { +#index #slashboxes, +#firehose #slashboxes { width: 300px; } +/* fix firehose right margin */ +#firehoselist, +#firehose #message, +.firemenu, #console { + margin-right: 0; +} + div#slashboxes div.block img.map { float: right; } From svnnotify @ sourceforge.jp Fri Dec 19 17:03:16 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 19 Dec 2008 17:03:16 +0900 Subject: [Slashdotjp-dev 1365] [896] fix for topic icon float Message-ID: <1229673796.293350.10909.nullmailer@users.sourceforge.jp> Revision: 896 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=896 Author: tach Date: 2008-12-19 17:03:16 +0900 (Fri, 19 Dec 2008) Log Message: ----------- fix for topic icon float Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-19 07:58:56 UTC (rev 895) +++ test/images/css/slashdotjp.css 2008-12-19 08:03:16 UTC (rev 896) @@ -69,6 +69,11 @@ margin-right: 0; } +/* fix for topic icon float */ +#firehoselist .article .body .fhtext { + min-height: 80px; +} + div#slashboxes div.block img.map { float: right; } From svnnotify @ sourceforge.jp Fri Dec 19 19:32:45 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 19 Dec 2008 19:32:45 +0900 Subject: [Slashdotjp-dev 1366] [897] more js translation Message-ID: <1229682765.628958.17858.nullmailer@users.sourceforge.jp> Revision: 897 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=897 Author: tach Date: 2008-12-19 19:32:45 +0900 (Fri, 19 Dec 2008) Log Message: ----------- more js translation Modified Paths: -------------- test/images/Makefile test/images/all-minified.js -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-19 08:03:16 UTC (rev 896) +++ test/images/Makefile 2008-12-19 10:32:45 UTC (rev 897) @@ -47,9 +47,12 @@ $(patsubst %, %.js, $(jses)): %: %.orig cat $@.orig | \ sed -e 's/ Firehose / アレたま /' | \ - sed -e 's/innerHTML="Paused"/innerHTML="停止中"/' | \ - sed -e 's/innerHTML="Updated"/innerHTML="更新中"/' | \ + sed -e "s/html('Paused')/html('停止中')/" | \ + sed -e "s/html('Updated')/html('更新中')/" | \ sed -e 's/sitename="Slashdot";/sitename="スラッシュドット ジャパン";/' | \ + sed -e 's/Update failed or timed out\./更新に失敗したか、タイムアウトしました。/' | \ + sed -e 's/Click to retry/もう一度やってみる/' | \ + sed -e 's/Click to unpause/一時停止を解除する/' | \ sed -e 's/>Cancel Reply返信をキャンセルLoading\.\.\./>読み込み中.../' | \ sed -e "s/' comments are beneath your threshhold'/'個のコメントが現在のしきい値以下です'/" | \ Modified: test/images/all-minified.js =================================================================== --- test/images/all-minified.js 2008-12-19 08:03:16 UTC (rev 896) +++ test/images/all-minified.js 2008-12-19 10:32:45 UTC (rev 897) @@ -1454,10 +1454,10 @@ interval=interval+(5*interval*getSecsSinceLastFirehoseAction()/inactivity_timeout);if(getSecsSinceLastFirehoseAction()>inactivity_timeout){interval=3600000;} return interval;} function run_before_update(){var secs=getSecsSinceLastFirehoseAction();if(secs>inactivity_timeout){fh_is_timed_out=1;firehose_inactivity_modal();}} -function firehose_inactivity_modal(){$('#preference_title').html('Firehose Paused due to inactivity');show_modal_box();$('#modal_box_content').html("Click to unpause");show_modal_box();} -function firehose_play(context){fh_play=1;setFirehoseAction();firehose_set_options('pause','0',context);$('#message_area').html('');$('#pauseorplay').html('Updated');$('#play').setClass('hide');$('#pause').setClass('show');} +function firehose_inactivity_modal(){$('#preference_title').html('Firehose Paused due to inactivity');show_modal_box();$('#modal_box_content').html("一時停止を解除する");show_modal_box();} +function firehose_play(context){fh_play=1;setFirehoseAction();firehose_set_options('pause','0',context);$('#message_area').html('');$('#pauseorplay').html('更新中');$('#play').setClass('hide');$('#pause').setClass('show');} function is_firehose_playing(){return fh_play==1;} -function firehose_pause(context){fh_play=0;$('#pause').setClass('hide');$('#play').setClass('show');$('#pauseorplay').html('Paused');firehose_set_options('pause','1',context);} +function firehose_pause(context){fh_play=0;$('#pause').setClass('hide');$('#play').setClass('show');$('#pauseorplay').html('停止中');firehose_set_options('pause','1',context);} function firehose_add_update_timerid(timerid){fh_update_timerids.push(timerid);} function firehose_collapse_entry(id){$('#firehoselist > #firehose-'+id).find('#fhbody-'+id+'.body').setClass('hide').end().setClass('briefarticle');tagsHideBody(id);} function firehose_remove_entry(id){var fh=$dom('firehose-'+id);if(fh){var attributes={height:{to:0}};if(!is_ie){attributes.opacity={to:0};} @@ -1504,9 +1504,9 @@ return;} function getModalPrefs(section,title,tabbed){if(!reskey_static){return show_login_box();} $('#preference_title').html(title);ajax_update({op:'getModalPrefs',section:section,reskey:reskey_static,tabbed:tabbed},'modal_box_content',{onComplete:show_modal_box});} -function firehose_get_media_popup(id){$('#preference_title').html('Media');show_modal_box();$('#modal_box_content').html("

    Loading...

    ");ajax_update({op:'firehose_get_media',id:id},'modal_box_content');} +function firehose_get_media_popup(id){$('#preference_title').html('Media');show_modal_box();$('#modal_box_content').html("

    読み込み中...

    ");ajax_update({op:'firehose_get_media',id:id},'modal_box_content');} function firehose_reinit_updates(){fh_is_updating=0;firehose_add_update_timerid(setTimeout(firehose_get_updates,5000));} -function firehose_update_failed_modal(){$('#preference_title').html('Firehose updates failed');$('#modal_box_content').html('Update failed or timed out. Click to retry');show_modal_box();} +function firehose_update_failed_modal(){$('#preference_title').html('Firehose updates failed');$('#modal_box_content').html('更新に失敗したか、タイムアウトしました。 もう一度やってみる');show_modal_box();} function saveModalPrefs(){var params={};params.op='saveModalPrefs';params.data=jQuery("#modal_prefs").serialize();params.reskey=reskey_static;var handlers={onComplete:function(){hide_modal_box();if(document.forms.modal_prefs.refreshable.value){document.location=document.URL;}}};ajax_update(params,'',handlers);} function displayModalPrefHelp(id){var el=$('#'+id);el.css('display',el.css('display')!='none'?'none':'block');} function toggle_filter_prefs(){var fps=$dom('filter_play_status');var fp=$dom('filter_prefs');if(fps){if(fps.className===""){fps.className="hide";if(fp){fp.className="";setTimeout(firehose_slider_init,500);}}else if(fps.className=="hide"){fps.className="";if(fp){fp.className="hide";}}}} From svnnotify @ sourceforge.jp Fri Dec 19 19:38:33 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 19 Dec 2008 19:38:33 +0900 Subject: [Slashdotjp-dev 1367] [898] more js translation (cont.) Message-ID: <1229683113.990338.23621.nullmailer@users.sourceforge.jp> Revision: 898 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=898 Author: tach Date: 2008-12-19 19:38:33 +0900 (Fri, 19 Dec 2008) Log Message: ----------- more js translation (cont.) Modified Paths: -------------- test/images/Makefile test/images/all-minified.js -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-19 10:32:45 UTC (rev 897) +++ test/images/Makefile 2008-12-19 10:38:33 UTC (rev 898) @@ -51,6 +51,8 @@ sed -e "s/html('Updated')/html('更新中')/" | \ sed -e 's/sitename="Slashdot";/sitename="スラッシュドット ジャパン";/' | \ sed -e 's/Update failed or timed out\./更新に失敗したか、タイムアウトしました。/' | \ + sed -e 's/Firehose updates failed/アレたまの更新に失敗しました/' | \ + sed -e 's/Firehose Paused due to inactivity/アクティブでないので、アレたまの更新を一時停止しました/' | \ sed -e 's/Click to retry/もう一度やってみる/' | \ sed -e 's/Click to unpause/一時停止を解除する/' | \ sed -e 's/>Cancel Reply返信をキャンセルinactivity_timeout){interval=3600000;} return interval;} function run_before_update(){var secs=getSecsSinceLastFirehoseAction();if(secs>inactivity_timeout){fh_is_timed_out=1;firehose_inactivity_modal();}} -function firehose_inactivity_modal(){$('#preference_title').html('Firehose Paused due to inactivity');show_modal_box();$('#modal_box_content').html("一時停止を解除する");show_modal_box();} +function firehose_inactivity_modal(){$('#preference_title').html('アクティブでないので、アレたまの更新を一時停止しました');show_modal_box();$('#modal_box_content').html("一時停止を解除する");show_modal_box();} function firehose_play(context){fh_play=1;setFirehoseAction();firehose_set_options('pause','0',context);$('#message_area').html('');$('#pauseorplay').html('更新中');$('#play').setClass('hide');$('#pause').setClass('show');} function is_firehose_playing(){return fh_play==1;} function firehose_pause(context){fh_play=0;$('#pause').setClass('hide');$('#play').setClass('show');$('#pauseorplay').html('停止中');firehose_set_options('pause','1',context);} @@ -1506,7 +1506,7 @@ $('#preference_title').html(title);ajax_update({op:'getModalPrefs',section:section,reskey:reskey_static,tabbed:tabbed},'modal_box_content',{onComplete:show_modal_box});} function firehose_get_media_popup(id){$('#preference_title').html('Media');show_modal_box();$('#modal_box_content').html("

    読み込み中...

    ");ajax_update({op:'firehose_get_media',id:id},'modal_box_content');} function firehose_reinit_updates(){fh_is_updating=0;firehose_add_update_timerid(setTimeout(firehose_get_updates,5000));} -function firehose_update_failed_modal(){$('#preference_title').html('Firehose updates failed');$('#modal_box_content').html('更新に失敗したか、タイムアウトしました。 もう一度やってみる');show_modal_box();} +function firehose_update_failed_modal(){$('#preference_title').html('アレたまの更新に失敗しました');$('#modal_box_content').html('更新に失敗したか、タイムアウトしました。 もう一度やってみる');show_modal_box();} function saveModalPrefs(){var params={};params.op='saveModalPrefs';params.data=jQuery("#modal_prefs").serialize();params.reskey=reskey_static;var handlers={onComplete:function(){hide_modal_box();if(document.forms.modal_prefs.refreshable.value){document.location=document.URL;}}};ajax_update(params,'',handlers);} function displayModalPrefHelp(id){var el=$('#'+id);el.css('display',el.css('display')!='none'?'none':'block');} function toggle_filter_prefs(){var fps=$dom('filter_play_status');var fp=$dom('filter_prefs');if(fps){if(fps.className===""){fps.className="hide";if(fp){fp.className="";setTimeout(firehose_slider_init,500);}}else if(fps.className=="hide"){fps.className="";if(fp){fp.className="hide";}}}} From svnnotify @ sourceforge.jp Fri Dec 19 21:04:15 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 19 Dec 2008 21:04:15 +0900 Subject: [Slashdotjp-dev 1368] [899] Fix to change firehose default tab name Message-ID: <1229688255.205486.31812.nullmailer@users.sourceforge.jp> Revision: 899 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=899 Author: tach Date: 2008-12-19 21:04:14 +0900 (Fri, 19 Dec 2008) Log Message: ----------- Fix to change firehose default tab name Modified Paths: -------------- slashjp/trunk/debian/changelog slashjp/trunk/plugins/FireHose/FireHose.pm -------------- next part -------------- Modified: slashjp/trunk/debian/changelog =================================================================== --- slashjp/trunk/debian/changelog 2008-12-19 10:38:33 UTC (rev 898) +++ slashjp/trunk/debian/changelog 2008-12-19 12:04:14 UTC (rev 899) @@ -3,8 +3,9 @@ * New upstream git tag * Add selectable d2 default using constants "d2_default" * Disable "getAd()" + * Fix to change firehose default tab name - -- Taku YASUI Mon, 15 Dec 2008 09:14:51 +0000 + -- Taku YASUI Fri, 19 Dec 2008 12:03:52 +0000 slash (2.5.0.231-1) unstable; urgency=low Modified: slashjp/trunk/plugins/FireHose/FireHose.pm =================================================================== --- slashjp/trunk/plugins/FireHose/FireHose.pm 2008-12-19 10:38:33 UTC (rev 898) +++ slashjp/trunk/plugins/FireHose/FireHose.pm 2008-12-19 12:04:14 UTC (rev 899) @@ -2063,7 +2063,7 @@ my $defaults = { pause => 1, - mode => 'full', + mode => 'fulltitle', orderdir => 'DESC', orderby => 'createtime', mixedmode => 0, @@ -2300,7 +2300,7 @@ # Jump to default view as necessary if (!$tab && !defined $options->{fhfilter} && !$opts->{view} && !$form->{view}) { - $opts->{view} = "stories"; + $opts->{view} = $constants->{firehose_default_tab} || "stories"; } my $view; From svnnotify @ sourceforge.jp Mon Dec 22 13:44:51 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 22 Dec 2008 13:44:51 +0900 Subject: [Slashdotjp-dev 1369] [900] fix pagination right margin Message-ID: <1229921091.761657.15656.nullmailer@users.sourceforge.jp> Revision: 900 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=900 Author: tach Date: 2008-12-22 13:44:51 +0900 (Mon, 22 Dec 2008) Log Message: ----------- fix pagination right margin Modified Paths: -------------- test/images/css/firehose.css test/images/css/firehose.css.jp -------------- next part -------------- Modified: test/images/css/firehose.css =================================================================== --- test/images/css/firehose.css 2008-12-19 12:04:14 UTC (rev 899) +++ test/images/css/firehose.css 2008-12-22 04:44:51 UTC (rev 900) @@ -709,4 +709,9 @@ display: none; } +/* fix pagination margin */ +.paginate { + margin-right: 0; +} + /* vim: set ft=css: */ Modified: test/images/css/firehose.css.jp =================================================================== --- test/images/css/firehose.css.jp 2008-12-19 12:04:14 UTC (rev 899) +++ test/images/css/firehose.css.jp 2008-12-22 04:44:51 UTC (rev 900) @@ -125,4 +125,9 @@ display: none; } +/* fix pagination margin */ +.paginate { + margin-right: 0; +} + /* vim: set ft=css: */ From svnnotify @ sourceforge.jp Mon Dec 22 16:10:32 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 22 Dec 2008 16:10:32 +0900 Subject: [Slashdotjp-dev 1370] [901] more js translation Message-ID: <1229929832.003180.23788.nullmailer@users.sourceforge.jp> Revision: 901 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=901 Author: tach Date: 2008-12-22 16:10:31 +0900 (Mon, 22 Dec 2008) Log Message: ----------- more js translation Modified Paths: -------------- test/images/Makefile test/images/all-minified.js -------------- next part -------------- Modified: test/images/Makefile =================================================================== --- test/images/Makefile 2008-12-22 04:44:51 UTC (rev 900) +++ test/images/Makefile 2008-12-22 07:10:31 UTC (rev 901) @@ -47,6 +47,11 @@ $(patsubst %, %.js, $(jses)): %: %.orig cat $@.orig | \ sed -e 's/ Firehose / アレたま /' | \ + sed -e 's/"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"/"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"/' | \ + sed -e 's/"Sun","Mon","Tue","Wed","Thu","Fri","Sat"/"日","月","火","水","木","金","土"/' | \ + sed -e 's/"S","M","T","W","T","F","S"/"日","月","火","水","木","金","土"/' | \ + sed -e 's/"January","February","March","April","May","June","July","August","September","October","November","December"/"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"/' | \ + sed -e 's/"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"/"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"/' | \ sed -e "s/html('Paused')/html('停止中')/" | \ sed -e "s/html('Updated')/html('更新中')/" | \ sed -e 's/sitename="Slashdot";/sitename="スラッシュドット ジャパン";/' | \ Modified: test/images/all-minified.js =================================================================== --- test/images/all-minified.js 2008-12-22 04:44:51 UTC (rev 900) +++ test/images/all-minified.js 2008-12-22 07:10:31 UTC (rev 901) @@ -1033,7 +1033,7 @@ return overlaps;},isMonthOverlapWeek:function(weekBeginDate){var overlaps=false;var nextWeek=this.add(weekBeginDate,this.DAY,6);if(nextWeek.getMonth()!=weekBeginDate.getMonth()){overlaps=true;} return overlaps;},findMonthStart:function(date){var start=this.getDate(date.getFullYear(),date.getMonth(),1);return start;},findMonthEnd:function(date){var start=this.findMonthStart(date);var nextMonth=this.add(start,this.MONTH,1);var end=this.subtract(nextMonth,this.DAY,1);return end;},clearTime:function(date){date.setHours(12,0,0,0);return date;},getDate:function(y,m,d){var dt=null;if(YAHOO.lang.isUndefined(d)){d=1;} if(y>=100){dt=new Date(y,m,d);}else{dt=new Date();dt.setFullYear(y);dt.setMonth(m);dt.setDate(d);dt.setHours(0,0,0,0);} -return dt;}};YAHOO.widget.Calendar=function(id,containerId,config){this.init.apply(this,arguments);};YAHOO.widget.Calendar.IMG_ROOT=null;YAHOO.widget.Calendar.DATE="D";YAHOO.widget.Calendar.MONTH_DAY="MD";YAHOO.widget.Calendar.WEEKDAY="WD";YAHOO.widget.Calendar.RANGE="R";YAHOO.widget.Calendar.MONTH="M";YAHOO.widget.Calendar.DISPLAY_DAYS=42;YAHOO.widget.Calendar.STOP_RENDER="S";YAHOO.widget.Calendar.SHORT="short";YAHOO.widget.Calendar.LONG="long";YAHOO.widget.Calendar.MEDIUM="medium";YAHOO.widget.Calendar.ONE_CHAR="1char";YAHOO.widget.Calendar._DEFAULT_CONFIG={PAGEDATE:{key:"pagedate",value:null},SELECTED:{key:"selected",value:null},TITLE:{key:"title",value:""},CLOSE:{key:"close",value:false},IFRAME:{key:"iframe",value:(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6)?true:false},MINDATE:{key:"mindate",value:null},MAXDATE:{key:"maxdate",value:null},MULTI_SELECT:{key:"multi_select",value:false},START_WEEKDAY:{key:"start_weekday",value:0},SHOW_WEEKDAYS:{key:"show_weekdays",value:true},SHOW_WEEK_HEADER:{key:"show_week_header",value:false},SHOW_WEEK_FOOTER:{key:"show_week_footer",value:false},HIDE_BLANK_WEEKS:{key:"hide_blank_weeks",value:false},NAV_ARROW_LEFT:{key:"nav_arrow_left",value:null},NAV_ARROW_RIGHT:{key:"nav_arrow_right",value:null},MONTHS_SHORT:{key:"months_short",value:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},MONTHS_LONG:{key:"months_long",value:["January","February","March","April","May","June","July","August","September","October","November","December"]},WEEKDAYS_1CHAR:{key:"weekdays_1char",value:["S","M","T","W","T","F","S"]},WEEKDAYS_SHORT:{key:"weekdays_short",value:["Su","Mo","Tu","We","Th","Fr","Sa"]},WEEKDAYS_MEDIUM:{key:"weekdays_medium",value:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},WEEKDAYS_LONG:{key:"weekdays_long",value:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},LOCALE_MONTHS:{key:"locale_months",value:"long"},LOCALE_WEEKDAYS:{key:"locale_weekdays",value:"short"},DATE_DELIMITER:{key:"date_delimiter",value:","},DATE_FIELD_DELIMITER:{key:"date_field_delimiter",value:"/"},DATE_RANGE_DELIMITER:{key:"date_range_delimiter",value:"-"},MY_MONTH_POSITION:{key:"my_month_position",value:1},MY_YEAR_POSITION:{key:"my_year_position",value:2},MD_MONTH_POSITION:{key:"md_month_position",value:1},MD_DAY_POSITION:{key:"md_day_position",value:2},MDY_MONTH_POSITION:{key:"mdy_month_position",value:1},MDY_DAY_POSITION:{key:"mdy_day_position",value:2},MDY_YEAR_POSITION:{key:"mdy_year_position",value:3},MY_LABEL_MONTH_POSITION:{key:"my_label_month_position",value:1},MY_LABEL_YEAR_POSITION:{key:"my_label_year_position",value:2},MY_LABEL_MONTH_SUFFIX:{key:"my_label_month_suffix",value:" "},MY_LABEL_YEAR_SUFFIX:{key:"my_label_year_suffix",value:""},NAV:{key:"navigator",value:null}};YAHOO.widget.Calendar._EVENT_TYPES={BEFORE_SELECT:"beforeSelect",SELECT:"select",BEFORE_DESELECT:"beforeDeselect",DESELECT:"deselect",CHANGE_PAGE:"changePage",BEFORE_RENDER:"beforeRender",RENDER:"render",RESET:"reset",CLEAR:"clear",BEFORE_HIDE:"beforeHide",HIDE:"hide",BEFORE_SHOW:"beforeShow",SHOW:"show",BEFORE_HIDE_NAV:"beforeHideNav",HIDE_NAV:"hideNav",BEFORE_SHOW_NAV:"beforeShowNav",SHOW_NAV:"showNav",BEFORE_RENDER_NAV:"beforeRenderNav",RENDER_NAV:"renderNav"};YAHOO.widget.Calendar._STYLES={CSS_ROW_HEADER:"calrowhead",CSS_ROW_FOOTER:"calrowfoot",CSS_CELL:"calcell",CSS_CELL_SELECTOR:"selector",CSS_CELL_SELECTED:"selected",CSS_CELL_SELECTABLE:"selectable",CSS_CELL_RESTRICTED:"restricted",CSS_CELL_TODAY:"today",CSS_CELL_OOM:"oom",CSS_CELL_OOB:"previous",CSS_HEADER:"calheader",CSS_HEADER_TEXT:"calhead",CSS_BODY:"calbody",CSS_WEEKDAY_CELL:"calweekdaycell",CSS_WEEKDAY_ROW:"calweekdayrow",CSS_FOOTER:"calfoot",CSS_CALENDAR:"yui-calendar",CSS_SINGLE:"single",CSS_CONTAINER:"yui-calcontainer",CSS_NAV_LEFT:"calnavleft",CSS_NAV_RIGHT:"calnavright",CSS_NAV:"calnav",CSS_CLOSE:"calclose",CSS_CELL_TOP:"calcelltop",CSS_CELL_LEFT:"calcellleft",CSS_CELL_RIGHT:"calcellright",CSS_CELL_BOTTOM:"calcellbottom",CSS_CELL_HOVER:"calcellhover",CSS_CELL_HIGHLIGHT1:"highlight1",CSS_CELL_HIGHLIGHT2:"highlight2",CSS_CELL_HIGHLIGHT3:"highlight3",CSS_CELL_HIGHLIGHT4:"highlight4"};YAHOO.widget.Calendar.prototype={Config:null,parent:null,index:-1,cells:null,cellDates:null,id:null,containerId:null,oDomContainer:null,today:null,renderStack:null,_renderStack:null,oNavigator:null,_selectedDates:null,domEventMap:null,_parseArgs:function(args){var nArgs={id:null,container:null,config:null};if(args&&args.length&&args.length>0){switch(args.length){case 1:nArgs.id=null;nArgs.container=args[0];nArgs.config=null;break;case 2:if(YAHOO.lang.isObject(args[1])&&!args[1].tagName&&!(args[1]instanceof String)){nArgs.id=null;nArgs.container=args[0];nArgs.config=args[1];}else{nArgs.id=args[0];nArgs.container=args[1];nArgs.config=null;} +return dt;}};YAHOO.widget.Calendar=function(id,containerId,config){this.init.apply(this,arguments);};YAHOO.widget.Calendar.IMG_ROOT=null;YAHOO.widget.Calendar.DATE="D";YAHOO.widget.Calendar.MONTH_DAY="MD";YAHOO.widget.Calendar.WEEKDAY="WD";YAHOO.widget.Calendar.RANGE="R";YAHOO.widget.Calendar.MONTH="M";YAHOO.widget.Calendar.DISPLAY_DAYS=42;YAHOO.widget.Calendar.STOP_RENDER="S";YAHOO.widget.Calendar.SHORT="short";YAHOO.widget.Calendar.LONG="long";YAHOO.widget.Calendar.MEDIUM="medium";YAHOO.widget.Calendar.ONE_CHAR="1char";YAHOO.widget.Calendar._DEFAULT_CONFIG={PAGEDATE:{key:"pagedate",value:null},SELECTED:{key:"selected",value:null},TITLE:{key:"title",value:""},CLOSE:{key:"close",value:false},IFRAME:{key:"iframe",value:(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6)?true:false},MINDATE:{key:"mindate",value:null},MAXDATE:{key:"maxdate",value:null},MULTI_SELECT:{key:"multi_select",value:false},START_WEEKDAY:{key:"start_weekday",value:0},SHOW_WEEKDAYS:{key:"show_weekdays",value:true},SHOW_WEEK_HEADER:{key:"show_week_header",value:false},SHOW_WEEK_FOOTER:{key:"show_week_footer",value:false},HIDE_BLANK_WEEKS:{key:"hide_blank_weeks",value:false},NAV_ARROW_LEFT:{key:"nav_arrow_left",value:null},NAV_ARROW_RIGHT:{key:"nav_arrow_right",value:null},MONTHS_SHORT:{key:"months_short",value:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},MONTHS_LONG:{key:"months_long",value:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},WEEKDAYS_1CHAR:{key:"weekdays_1char",value:["日","月","火","水","木","金","土"]},WEEKDAYS_SHORT:{key:"weekdays_short",value:["Su","Mo","Tu","We","Th","Fr","Sa"]},WEEKDAYS_MEDIUM:{key:"weekdays_medium",value:["日","月","火","水","木","金","土"]},WEEKDAYS_LONG:{key:"weekdays_long",value:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},LOCALE_MONTHS:{key:"locale_months",value:"long"},LOCALE_WEEKDAYS:{key:"locale_weekdays",value:"short"},DATE_DELIMITER:{key:"date_delimiter",value:","},DATE_FIELD_DELIMITER:{key:"date_field_delimiter",value:"/"},DATE_RANGE_DELIMITER:{key:"date_range_delimiter",value:"-"},MY_MONTH_POSITION:{key:"my_month_position",value:1},MY_YEAR_POSITION:{key:"my_year_position",value:2},MD_MONTH_POSITION:{key:"md_month_position",value:1},MD_DAY_POSITION:{key:"md_day_position",value:2},MDY_MONTH_POSITION:{key:"mdy_month_position",value:1},MDY_DAY_POSITION:{key:"mdy_day_position",value:2},MDY_YEAR_POSITION:{key:"mdy_year_position",value:3},MY_LABEL_MONTH_POSITION:{key:"my_label_month_position",value:1},MY_LABEL_YEAR_POSITION:{key:"my_label_year_position",value:2},MY_LABEL_MONTH_SUFFIX:{key:"my_label_month_suffix",value:" "},MY_LABEL_YEAR_SUFFIX:{key:"my_label_year_suffix",value:""},NAV:{key:"navigator",value:null}};YAHOO.widget.Calendar._EVENT_TYPES={BEFORE_SELECT:"beforeSelect",SELECT:"select",BEFORE_DESELECT:"beforeDeselect",DESELECT:"deselect",CHANGE_PAGE:"changePage",BEFORE_RENDER:"beforeRender",RENDER:"render",RESET:"reset",CLEAR:"clear",BEFORE_HIDE:"beforeHide",HIDE:"hide",BEFORE_SHOW:"beforeShow",SHOW:"show",BEFORE_HIDE_NAV:"beforeHideNav",HIDE_NAV:"hideNav",BEFORE_SHOW_NAV:"beforeShowNav",SHOW_NAV:"showNav",BEFORE_RENDER_NAV:"beforeRenderNav",RENDER_NAV:"renderNav"};YAHOO.widget.Calendar._STYLES={CSS_ROW_HEADER:"calrowhead",CSS_ROW_FOOTER:"calrowfoot",CSS_CELL:"calcell",CSS_CELL_SELECTOR:"selector",CSS_CELL_SELECTED:"selected",CSS_CELL_SELECTABLE:"selectable",CSS_CELL_RESTRICTED:"restricted",CSS_CELL_TODAY:"today",CSS_CELL_OOM:"oom",CSS_CELL_OOB:"previous",CSS_HEADER:"calheader",CSS_HEADER_TEXT:"calhead",CSS_BODY:"calbody",CSS_WEEKDAY_CELL:"calweekdaycell",CSS_WEEKDAY_ROW:"calweekdayrow",CSS_FOOTER:"calfoot",CSS_CALENDAR:"yui-calendar",CSS_SINGLE:"single",CSS_CONTAINER:"yui-calcontainer",CSS_NAV_LEFT:"calnavleft",CSS_NAV_RIGHT:"calnavright",CSS_NAV:"calnav",CSS_CLOSE:"calclose",CSS_CELL_TOP:"calcelltop",CSS_CELL_LEFT:"calcellleft",CSS_CELL_RIGHT:"calcellright",CSS_CELL_BOTTOM:"calcellbottom",CSS_CELL_HOVER:"calcellhover",CSS_CELL_HIGHLIGHT1:"highlight1",CSS_CELL_HIGHLIGHT2:"highlight2",CSS_CELL_HIGHLIGHT3:"highlight3",CSS_CELL_HIGHLIGHT4:"highlight4"};YAHOO.widget.Calendar.prototype={Config:null,parent:null,index:-1,cells:null,cellDates:null,id:null,containerId:null,oDomContainer:null,today:null,renderStack:null,_renderStack:null,oNavigator:null,_selectedDates:null,domEventMap:null,_parseArgs:function(args){var nArgs={id:null,container:null,config:null};if(args&&args.length&&args.length>0){switch(args.length){case 1:nArgs.id=null;nArgs.container=args[0];nArgs.config=null;break;case 2:if(YAHOO.lang.isObject(args[1])&&!args[1].tagName&&!(args[1]instanceof String)){nArgs.id=null;nArgs.container=args[0];nArgs.config=args[1];}else{nArgs.id=args[0];nArgs.container=args[1];nArgs.config=null;} break;default:nArgs.id=args[0];nArgs.container=args[1];nArgs.config=args[2];break;}}else{} return nArgs;},init:function(id,container,config){var nArgs=this._parseArgs(arguments);id=nArgs.id;container=nArgs.container;config=nArgs.config;this.oDomContainer=YAHOO.util.Dom.get(container);if(!this.oDomContainer.id){this.oDomContainer.id=YAHOO.util.Dom.generateId();} if(!id){id=this.oDomContainer.id+"_t";} @@ -1174,8 +1174,8 @@ return date1;else if(date2===undefined) return[date1];else return[date1,date2];} -function datesToHumanReadable(date1,date2){var day_name=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function day_ordinal(d){switch(d){case 1:case 21:case 31:return d+"st";case 2:case 22:return d+"nd";case 3:case 23:return d+"rd";default:return d+"th";}} -var month_name=["January","February","March","April","May","June","July","August","September","October","November","December"];function minimalHumanReadable(y,m,d,wd){var now=new Date();if(now.getFullYear()==y){if(now.getMonth()+1==m){}}} +function datesToHumanReadable(date1,date2){var day_name=["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"];function day_ordinal(d){switch(d){case 1:case 21:case 31:return d+"st";case 2:case 22:return d+"nd";case 3:case 23:return d+"rd";default:return d+"th";}} +var month_name=["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"];function minimalHumanReadable(y,m,d,wd){var now=new Date();if(now.getFullYear()==y){if(now.getMonth()+1==m){}}} return _datesToSelector(function(y,m,d){return""+d+" "+month_name[m-1]+" "+y;},_bundleDates(date1,date2));} function datesToYUISelector(date1,date2){return _datesToSelector(function(y,m,d){return""+m+"/"+d+"/"+y;},_bundleDates(date1,date2));} function datesToKinoSelector(date1,date2){function formatter(y,m,d){if(m<10)m="0"+m;if(d<10)d="0"+d;return""+y+m+d;} From svnnotify @ sourceforge.jp Wed Dec 24 23:37:18 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 24 Dec 2008 23:37:18 +0900 Subject: [Slashdotjp-dev 1371] [902] expand/collapse login link Message-ID: <1230129438.269222.23663.nullmailer@users.sourceforge.jp> Revision: 902 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=902 Author: tach Date: 2008-12-24 23:37:18 +0900 (Wed, 24 Dec 2008) Log Message: ----------- expand/collapse login link Modified Paths: -------------- test/images/all-minified.js test/images/all-minified.js.jp -------------- next part -------------- Modified: test/images/all-minified.js =================================================================== --- test/images/all-minified.js 2008-12-22 07:10:31 UTC (rev 901) +++ test/images/all-minified.js 2008-12-24 14:37:18 UTC (rev 902) @@ -1645,3 +1645,15 @@ function appendToMedia(text){var obj=$dom('admin-media');if(obj){obj.className="show";obj.value=obj.value+text;}} $(function(){if($.browser.safari||$.browser.opera){$('.edit a').css('margin-top','0pt');}}); /* append for slashdot.jp */ +function toggle_loginform() { + obj = document.getElementById("loginform"); + visible = (obj.style.height == "" || obj.style.height == "0pt") ? false : true; + if (visible) { + obj.style.height = "0pt"; + document.getElementById("loginlink").className = 'collapsed'; + } else { + obj.style.height = '39px'; + document.getElementById("loginlink").className = 'expanded'; + } +} + Modified: test/images/all-minified.js.jp =================================================================== --- test/images/all-minified.js.jp 2008-12-22 07:10:31 UTC (rev 901) +++ test/images/all-minified.js.jp 2008-12-24 14:37:18 UTC (rev 902) @@ -1 +1,13 @@ /* append for slashdot.jp */ +function toggle_loginform() { + obj = document.getElementById("loginform"); + visible = (obj.style.height == "" || obj.style.height == "0pt") ? false : true; + if (visible) { + obj.style.height = "0pt"; + document.getElementById("loginlink").className = 'collapsed'; + } else { + obj.style.height = '39px'; + document.getElementById("loginlink").className = 'expanded'; + } +} + From svnnotify @ sourceforge.jp Thu Dec 25 02:06:16 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 25 Dec 2008 02:06:16 +0900 Subject: [Slashdotjp-dev 1372] [903] add editcomm settings format Message-ID: <1230138376.713492.5624.nullmailer@users.sourceforge.jp> Revision: 903 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=903 Author: tach Date: 2008-12-25 02:06:16 +0900 (Thu, 25 Dec 2008) Log Message: ----------- add editcomm settings format Modified Paths: -------------- test/images/css/slashdotjp.css -------------- next part -------------- Modified: test/images/css/slashdotjp.css =================================================================== --- test/images/css/slashdotjp.css 2008-12-24 14:37:18 UTC (rev 902) +++ test/images/css/slashdotjp.css 2008-12-24 17:06:16 UTC (rev 903) @@ -236,6 +236,39 @@ text-decoration: none; } +/* users settings format */ +form#editcomm fieldset { + border: 1px solid; + padding: 0.8em; + margin-bottom: 1em; +} + +form#editcomm fieldset legend { + display: block; + margin: 0 0.5em; + padding: 0 0.5em; + font-weight: bold; +} + +form#editcomm fieldset legend em { + font-weight: normal; + font-style: normal; +} + +form#editcomm fieldset div { + margin-bottom: 0.8em; +} + +form#editcomm fieldset label { + display: inline; + font-weight: normal; + padding: 0; +} + +form#editcomm fieldset td.foaf-select select { + margin-right: 5em; +} + /* Override moderation summary box for AdSense */ #mod_summary { margin-left: 0; From svnnotify @ sourceforge.jp Thu Dec 25 17:22:09 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 25 Dec 2008 17:22:09 +0900 Subject: [Slashdotjp-dev 1373] [904] restore willing to moderate Message-ID: <1230193329.522566.5429.nullmailer@users.sourceforge.jp> Revision: 904 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=904 Author: tach Date: 2008-12-25 17:22:09 +0900 (Thu, 25 Dec 2008) Log Message: ----------- restore willing to moderate Modified Paths: -------------- slashjp/trunk/themes/slashcode/htdocs/users.pl -------------- next part -------------- Modified: slashjp/trunk/themes/slashcode/htdocs/users.pl =================================================================== --- slashjp/trunk/themes/slashcode/htdocs/users.pl 2008-12-24 17:06:16 UTC (rev 903) +++ slashjp/trunk/themes/slashcode/htdocs/users.pl 2008-12-25 08:22:09 UTC (rev 904) @@ -3120,6 +3120,7 @@ maxstories => $gSkin->{artcount_max} || 30, tzcode => $constants->{default_tzcode} || "EST", dfid => $constants->{default_dfid} || 0, + willing => 1, # XXX shouldn't this reset ALL the defaults, # not just these two? }); From svnnotify @ sourceforge.jp Thu Dec 25 21:58:31 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 25 Dec 2008 21:58:31 +0900 Subject: [Slashdotjp-dev 1374] [905] fix d2 buttons design Message-ID: <1230209911.514537.1388.nullmailer@users.sourceforge.jp> Revision: 905 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=905 Author: tach Date: 2008-12-25 21:58:30 +0900 (Thu, 25 Dec 2008) Log Message: ----------- fix d2 buttons design Modified Paths: -------------- test/images/css/comments.css test/images/css/comments.css.jp -------------- next part -------------- Modified: test/images/css/comments.css =================================================================== --- test/images/css/comments.css 2008-12-25 08:22:09 UTC (rev 904) +++ test/images/css/comments.css 2008-12-25 12:58:30 UTC (rev 905) @@ -405,4 +405,11 @@ left: 13px !important; } +/* fix d2 buttons design */ +.inline_comment .replyto_buttons { + margin: 0; + padding: 1em; + background: #FFF; +} + /* vim: ts=4:ft=css: Modified: test/images/css/comments.css.jp =================================================================== --- test/images/css/comments.css.jp 2008-12-25 08:22:09 UTC (rev 904) +++ test/images/css/comments.css.jp 2008-12-25 12:58:30 UTC (rev 905) @@ -11,4 +11,11 @@ left: 13px !important; } +/* fix d2 buttons design */ +.inline_comment .replyto_buttons { + margin: 0; + padding: 1em; + background: #FFF; +} + /* vim: ts=4:ft=css: From svnnotify @ sourceforge.jp Fri Dec 26 14:30:35 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 26 Dec 2008 14:30:35 +0900 Subject: [Slashdotjp-dev 1375] [906] fix comment message design for d2 Message-ID: <1230269435.435703.20396.nullmailer@users.sourceforge.jp> Revision: 906 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=906 Author: tach Date: 2008-12-26 14:30:35 +0900 (Fri, 26 Dec 2008) Log Message: ----------- fix comment message design for d2 Modified Paths: -------------- test/images/css/comments.css test/images/css/comments.css.jp -------------- next part -------------- Modified: test/images/css/comments.css =================================================================== --- test/images/css/comments.css 2008-12-25 12:58:30 UTC (rev 905) +++ test/images/css/comments.css 2008-12-26 05:30:35 UTC (rev 906) @@ -412,4 +412,10 @@ background: #FFF; } +/* fix d2 error message design */ +.inline_comment .replyto_msg { + background: transparent; + border: none; +} + /* vim: ts=4:ft=css: Modified: test/images/css/comments.css.jp =================================================================== --- test/images/css/comments.css.jp 2008-12-25 12:58:30 UTC (rev 905) +++ test/images/css/comments.css.jp 2008-12-26 05:30:35 UTC (rev 906) @@ -18,4 +18,10 @@ background: #FFF; } +/* fix d2 error message design */ +.inline_comment .replyto_msg { + background: transparent; + border: none; +} + /* vim: ts=4:ft=css: From svnnotify @ sourceforge.jp Fri Dec 26 14:50:42 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 26 Dec 2008 14:50:42 +0900 Subject: [Slashdotjp-dev 1376] [907] fix d2 comment background Message-ID: <1230270642.240030.6770.nullmailer@users.sourceforge.jp> Revision: 907 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=907 Author: tach Date: 2008-12-26 14:50:42 +0900 (Fri, 26 Dec 2008) Log Message: ----------- fix d2 comment background Modified Paths: -------------- test/images/css/comments.css test/images/css/comments.css.jp -------------- next part -------------- Modified: test/images/css/comments.css =================================================================== --- test/images/css/comments.css 2008-12-26 05:30:35 UTC (rev 906) +++ test/images/css/comments.css 2008-12-26 05:50:42 UTC (rev 907) @@ -418,4 +418,9 @@ border: none; } +/* fix d2 comment background */ +.inline_comment { + background: #FFF; +} + /* vim: ts=4:ft=css: Modified: test/images/css/comments.css.jp =================================================================== --- test/images/css/comments.css.jp 2008-12-26 05:30:35 UTC (rev 906) +++ test/images/css/comments.css.jp 2008-12-26 05:50:42 UTC (rev 907) @@ -24,4 +24,9 @@ border: none; } +/* fix d2 comment background */ +.inline_comment { + background: #FFF; +} + /* vim: ts=4:ft=css: From svnnotify @ sourceforge.jp Fri Dec 26 14:55:08 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 26 Dec 2008 14:55:08 +0900 Subject: [Slashdotjp-dev 1377] [908] fix comment error message is showing twice Message-ID: <1230270908.634596.12496.nullmailer@users.sourceforge.jp> Revision: 908 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=908 Author: tach Date: 2008-12-26 14:55:08 +0900 (Fri, 26 Dec 2008) Log Message: ----------- fix comment error message is showing twice Modified Paths: -------------- slashjp/trunk/themes/slashcode/htdocs/comments.pl -------------- next part -------------- Modified: slashjp/trunk/themes/slashcode/htdocs/comments.pl =================================================================== --- slashjp/trunk/themes/slashcode/htdocs/comments.pl 2008-12-26 05:50:42 UTC (rev 907) +++ slashjp/trunk/themes/slashcode/htdocs/comments.pl 2008-12-26 05:55:08 UTC (rev 908) @@ -526,7 +526,7 @@ my $constants = getCurrentStatic(); my $comment = preProcessComment($form, $user, $discussion, $error_message) or return; - return $$error_message if $comment eq '-1'; + return '' if $comment eq '-1'; my $preview = postProcessComment({ %$user, %$form, %$comment }, 0, $discussion); if ($constants->{plugin}{Subscribe}) { From svnnotify @ sourceforge.jp Fri Dec 26 18:18:30 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 26 Dec 2008 18:18:30 +0900 Subject: [Slashdotjp-dev 1378] [909] fix edit comment label Message-ID: <1230283110.317929.21455.nullmailer@users.sourceforge.jp> Revision: 909 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=909 Author: tach Date: 2008-12-26 18:18:30 +0900 (Fri, 26 Dec 2008) Log Message: ----------- fix edit comment label Modified Paths: -------------- test/images/css/comments.css test/images/css/comments.css.jp -------------- next part -------------- Modified: test/images/css/comments.css =================================================================== --- test/images/css/comments.css 2008-12-26 05:55:08 UTC (rev 908) +++ test/images/css/comments.css 2008-12-26 09:18:30 UTC (rev 909) @@ -423,4 +423,11 @@ background: #FFF; } +/* fix d2 comment anon checkbox */ +.generaltitle h3 label { + display: inline; + font-weight: normal; + font-size: 85%; +} + /* vim: ts=4:ft=css: Modified: test/images/css/comments.css.jp =================================================================== --- test/images/css/comments.css.jp 2008-12-26 05:55:08 UTC (rev 908) +++ test/images/css/comments.css.jp 2008-12-26 09:18:30 UTC (rev 909) @@ -29,4 +29,11 @@ background: #FFF; } +/* fix d2 comment anon checkbox */ +.generaltitle h3 label { + display: inline; + font-weight: normal; + font-size: 85%; +} + /* vim: ts=4:ft=css: From svnnotify @ sourceforge.jp Sat Dec 27 20:04:46 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 27 Dec 2008 20:04:46 +0900 Subject: [Slashdotjp-dev 1379] [910] Fix to use getData() for moderation message using ajax.pl Message-ID: <1230375886.283562.32484.nullmailer@users.sourceforge.jp> Revision: 910 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=910 Author: tach Date: 2008-12-27 20:04:45 +0900 (Sat, 27 Dec 2008) Log Message: ----------- Fix to use getData() for moderation message using ajax.pl Modified Paths: -------------- slashjp/trunk/debian/changelog slashjp/trunk/plugins/Ajax/templates/data;ajax;default slashjp/trunk/plugins/Moderation/Moderation.pm -------------- next part -------------- Modified: slashjp/trunk/debian/changelog =================================================================== --- slashjp/trunk/debian/changelog 2008-12-26 09:18:30 UTC (rev 909) +++ slashjp/trunk/debian/changelog 2008-12-27 11:04:45 UTC (rev 910) @@ -4,8 +4,9 @@ * Add selectable d2 default using constants "d2_default" * Disable "getAd()" * Fix to change firehose default tab name + * Fix to use getData() for moderation message using ajax.pl - -- Taku YASUI Fri, 19 Dec 2008 12:03:52 +0000 + -- Taku YASUI Sat, 27 Dec 2008 11:04:05 +0000 slash (2.5.0.231-1) unstable; urgency=low Modified: slashjp/trunk/plugins/Ajax/templates/data;ajax;default =================================================================== --- slashjp/trunk/plugins/Ajax/templates/data;ajax;default 2008-12-26 09:18:30 UTC (rev 909) +++ slashjp/trunk/plugins/Ajax/templates/data;ajax;default 2008-12-27 11:04:45 UTC (rev 910) @@ -22,6 +22,18 @@ [% CASE 'no modcommentlog' %]

    No comment history available.

    +[% CASE 'moderate score' %] + Score: [% score %] + +[% CASE 'moderate moderated' %] + Moderated '[% reason.name %]'. [% points; points == 1 ? "point" : "points" %] left. + +[% CASE 'moderate no_moderation_performed' %] + Error: No moderation performed. + +[% CASE 'moderate moderation_points_left' %] + Error: [% points %] moderation points left. + [% END %] __seclev__ 1000 Modified: slashjp/trunk/plugins/Moderation/Moderation.pm =================================================================== --- slashjp/trunk/plugins/Moderation/Moderation.pm 2008-12-26 09:18:30 UTC (rev 909) +++ slashjp/trunk/plugins/Moderation/Moderation.pm 2008-12-27 11:04:45 UTC (rev 910) @@ -6,6 +6,7 @@ use strict; use Date::Format qw(time2str); +use Slash; use Slash::Utility; use Slash::Display; @@ -84,22 +85,21 @@ $self->countUsers({ max => 1 }), $self->getReasons ); - $html->{$score} = "Score:$points"; + $html->{$score} = getData("moderate score", { score => $points }); $html->{$score} = qq[$html->{$score}] if $constants->{modal_prefs_active} && !$user->{is_anon}; $html->{$score} .= ", $reasons->{$comment->{reason}}{name}" if $comment->{reason} && $reasons->{$comment->{reason}}; $html->{$score} = "($html->{$score})"; - my $ptstr = $user->{points} == 1 ? 'point' : 'points'; - $html->{$select} = "Moderated '$reasons->{$reason}{name}.' $user->{points} $ptstr left."; + $html->{$select} = getData("moderate moderated", { reason => $reasons->{$reason}, points => $user->{points} }); $self->setStory($sid, { writestatus => 'dirty' }); } elsif (!$ret_val) { - $html->{$select} = "Error: No moderation performed."; + $html->{$select} = getData("moderate no_moderation_performed"); } elsif ($ret_val == -1 || $ret_val == -2) { - $html->{$select} = "Error: $user->{points} moderation points left."; + $html->{$select} = getData("moderate moderation_points_left", { points => $user->{points} }); } } From svnnotify @ sourceforge.jp Mon Dec 29 23:52:09 2008 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 29 Dec 2008 23:52:09 +0900 Subject: [Slashdotjp-dev 1380] [911] bypass reskey check on insertFireHose() at Journal.pm Message-ID: <1230562329.852955.31175.nullmailer@users.sourceforge.jp> Revision: 911 http://svn.sourceforge.jp/view?root=slashdotjp&view=rev&rev=911 Author: tach Date: 2008-12-29 23:52:09 +0900 (Mon, 29 Dec 2008) Log Message: ----------- bypass reskey check on insertFireHose() at Journal.pm Modified Paths: -------------- slashjp/trunk/debian/changelog slashjp/trunk/plugins/Journal/Journal.pm -------------- next part -------------- Modified: slashjp/trunk/debian/changelog =================================================================== --- slashjp/trunk/debian/changelog 2008-12-27 11:04:45 UTC (rev 910) +++ slashjp/trunk/debian/changelog 2008-12-29 14:52:09 UTC (rev 911) @@ -5,8 +5,9 @@ * Disable "getAd()" * Fix to change firehose default tab name * Fix to use getData() for moderation message using ajax.pl + * bypass reskey check on insertFireHose() at Journal.pm - -- Taku YASUI Sat, 27 Dec 2008 11:04:05 +0000 + -- Taku YASUI Mon, 29 Dec 2008 14:51:26 +0000 slash (2.5.0.231-1) unstable; urgency=low Modified: slashjp/trunk/plugins/Journal/Journal.pm =================================================================== --- slashjp/trunk/plugins/Journal/Journal.pm 2008-12-27 11:04:45 UTC (rev 910) +++ slashjp/trunk/plugins/Journal/Journal.pm 2008-12-29 14:52:09 UTC (rev 911) @@ -50,7 +50,8 @@ return unless getCurrentStatic()->{plugin}{FireHose}; - if ($promotetype ne 'post') { + # bypass reskey check (slashdot.jp, 2008-12-29) + if (0 && $promotetype ne 'post') { my $reskey = getObject('Slash::ResKey'); my $rkey = $reskey->key('submit', { nostate => 1 }); if (!$rkey || !$rkey->createuse) {
    UserSubject[% IF admin_flag %] / Moderator[% END %]