[Slashdotjp-dev 1065] [592] merged from upstream T_2_5_0_202

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
2008年 4月 22日 (火) 16:40:51 JST


Revision: 592
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=slashdotjp&view=rev&rev=592
Author:   tach
Date:     2008-04-22 16:40:51 +0900 (Tue, 22 Apr 2008)

Log Message:
-----------
merged from upstream T_2_5_0_202

Modified Paths:
--------------
    slashjp/branches/upstream/current/Slash/DB/MySQL/MySQL.pm
    slashjp/branches/upstream/current/Slash/DB/Static/MySQL/MySQL.pm
    slashjp/branches/upstream/current/Slash/Slash.pm
    slashjp/branches/upstream/current/Slash/Utility/Comments/Comments.pm
    slashjp/branches/upstream/current/Slash/XML/Atom/Atom.pm
    slashjp/branches/upstream/current/Slash/XML/RSS/RSS.pm
    slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js
    slashjp/branches/upstream/current/plugins/Ajax/templates/edit_comment;ajax;default
    slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm
    slashjp/branches/upstream/current/plugins/FireHose/firehose.css
    slashjp/branches/upstream/current/plugins/FireHose/templates/data;firehose;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/Metamod/templates/dispTheComments;metamod;default
    slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/Duration.pm
    slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/HumanConf.pm
    slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/ProxyScan.pm
    slashjp/branches/upstream/current/plugins/ResKey/mysql_dump.sql
    slashjp/branches/upstream/current/plugins/Stats/Stats.pm
    slashjp/branches/upstream/current/plugins/Stats/adminmail.pl
    slashjp/branches/upstream/current/plugins/Stats/templates/display;adminmail;default
    slashjp/branches/upstream/current/plugins/Submit/templates/displayForm;submit;default
    slashjp/branches/upstream/current/sql/mysql/defaults.sql
    slashjp/branches/upstream/current/sql/mysql/upgrades
    slashjp/branches/upstream/current/themes/slashcode/THEME
    slashjp/branches/upstream/current/themes/slashcode/htdocs/images/comments.js
    slashjp/branches/upstream/current/themes/slashcode/templates/edit_comment;comments;default
    slashjp/branches/upstream/current/themes/slashcode/templates/preview_comm;comments;default
    slashjp/branches/upstream/current/themes/slashcode/templates/printCommComments;misc;default
    slashjp/branches/upstream/current/themes/slashcode/templates/printCommentsLinks;misc;default
    slashjp/branches/upstream/current/themes/slashcode/templates/printCommentsMain;misc;default
    slashjp/branches/upstream/current/themes/slashcode/templates/userInfo2;users;default

Added Paths:
-----------
    slashjp/branches/upstream/current/themes/slashcode/htdocs/images/spinner_grey.gif


-------------- next part --------------
Modified: slashjp/branches/upstream/current/Slash/DB/MySQL/MySQL.pm
===================================================================
--- slashjp/branches/upstream/current/Slash/DB/MySQL/MySQL.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/Slash/DB/MySQL/MySQL.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: MySQL.pm,v 1.1013 2008/04/09 22:01:06 jamiemccarthy Exp $
+# $Id: MySQL.pm,v 1.1015 2008/04/18 00:51:28 jamiemccarthy Exp $
 
 package Slash::DB::MySQL;
 use strict;
@@ -20,7 +20,7 @@
 use base 'Slash::DB::Utility';
 use Slash::Constants ':messages';
 
-($VERSION) = ' $Revision: 1.1013 $ ' =~ /\$Revision:\s+([^\s]+)/;
+($VERSION) = ' $Revision: 1.1015 $ ' =~ /\$Revision:\s+([^\s]+)/;
 
 # Fry: How can I live my life if I can't tell good from evil?
 
@@ -1333,6 +1333,11 @@
 		$dat ||= $uri;
 	}
 
+	return if $op eq 'slashdot-it'
+		&& !$constants->{slashdotit_accesslog}
+			|| ( $constants->{slashdotit_accesslog} < 1
+				&& rand() > $constants->{slashdotit_accesslog} );
+
 	my $uid = $user->{uid} || $constants->{anonymous_coward_uid};
 	my $skin_name = getCurrentSkin('name');
 	# XXXSKIN - i think these are no longer special cases ...

Modified: slashjp/branches/upstream/current/Slash/DB/Static/MySQL/MySQL.pm
===================================================================
--- slashjp/branches/upstream/current/Slash/DB/Static/MySQL/MySQL.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/Slash/DB/Static/MySQL/MySQL.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: MySQL.pm,v 1.264 2008/02/12 16:48:41 jamiemccarthy Exp $
+# $Id: MySQL.pm,v 1.265 2008/04/16 00:15:17 scc Exp $
 
 package Slash::DB::Static::MySQL;
 
@@ -20,7 +20,7 @@
 use vars qw($VERSION);
 use base 'Slash::DB::MySQL';
 
-($VERSION) = ' $Revision: 1.264 $ ' =~ /\$Revision:\s+([^\s]+)/;
+($VERSION) = ' $Revision: 1.265 $ ' =~ /\$Revision:\s+([^\s]+)/;
 
 # FRY: Hey, thinking hurts 'em! Maybe I can think of a way to use that.
 
@@ -1824,12 +1824,12 @@
 		my $lookback_id = $max_id - $rowsback;
 		$lookback_id = 1 if $lookback_id < 1;
 		# We don't count images, and we only count rss hits if
-		# they are dynamic.
+		# they are dynamic.  We don't count badge hits at all.
 		my($count, $time) = $self->sqlSelect(
 			"COUNT(*), UNIX_TIMESTAMP(MAX(ts)) - UNIX_TIMESTAMP(MIN(ts))",
 			"accesslog",
 			"id >= $lookback_id
-			 AND op != 'image'
+			 AND op NOT IN ('image', 'slashdot-it')
 			 AND (op != 'rss' OR static = 'no')");
 		if (!$count || $count < 10) {
 			# Very small count;  site is almost unused.

Modified: slashjp/branches/upstream/current/Slash/Slash.pm
===================================================================
--- slashjp/branches/upstream/current/Slash/Slash.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/Slash/Slash.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: Slash.pm,v 1.349 2008/03/18 20:40:15 tvroom Exp $
+# $Id: Slash.pm,v 1.350 2008/04/16 17:51:52 scc Exp $
 
 package Slash;
 
@@ -458,6 +458,8 @@
 	
 	for ($start..$end) {
 		my $the_day = $slashdb->getDayFromDay($day, $_, $options);
+		next if $the_day == $today && $options->{skip_add_today};
+
 		if (($the_day < $today) || $options->{show_future_days}) {
 			push @$days, $the_day; 
 		}

Modified: slashjp/branches/upstream/current/Slash/Utility/Comments/Comments.pm
===================================================================
--- slashjp/branches/upstream/current/Slash/Utility/Comments/Comments.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/Slash/Utility/Comments/Comments.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: Comments.pm,v 1.20 2008/04/10 05:22:29 pudge Exp $
+# $Id: Comments.pm,v 1.22 2008/04/17 20:01:07 pudge Exp $
 
 package Slash::Utility::Comments;
 
@@ -34,7 +34,7 @@
 use base 'Exporter';
 use vars qw($VERSION @EXPORT);
 
-($VERSION) = ' $Revision: 1.20 $ ' =~ /\$Revision:\s+([^\s]+)/;
+($VERSION) = ' $Revision: 1.22 $ ' =~ /\$Revision:\s+([^\s]+)/;
 @EXPORT		= qw(
 	constrain_score dispComment displayThread printComments
 	jsSelectComments commentCountThreshold commentThresholds discussion2
@@ -448,6 +448,7 @@
 	$user->{is_anon}       ||= 0;
 	$user->{is_admin}      ||= 0;
 	$user->{is_subscriber} ||= 0;
+	$user->{state}{d2asp}  ||= 0;
 	my $root_comment = $user->{state}{selectComments}{cidorpid} || 0;
 
 	my $extra = '';
@@ -490,6 +491,7 @@
 user_is_subscriber = $user->{is_subscriber};
 user_threshold = $threshold;
 user_highlightthresh = $highlightthresh;
+user_d2asp = $user->{state}{d2asp};
 
 discussion_id = $id;
 
@@ -614,8 +616,7 @@
 	my $points = $hr->{score_start} || 0;
 
 	# User can setup to give points based on size.
-#	my $len = length($C->{comment});
-	my $len = $C->{len};
+	my $len = $C->{len} || length($C->{comment});
 	if ($len) {
 		# comments.len should always be > 0, because Slash doesn't
 		# accept zero-length comments.  If it is = 0, something is
@@ -2552,4 +2553,4 @@
 
 =head1 VERSION
 
-$Id: Comments.pm,v 1.20 2008/04/10 05:22:29 pudge Exp $
+$Id: Comments.pm,v 1.22 2008/04/17 20:01:07 pudge Exp $

Modified: slashjp/branches/upstream/current/Slash/XML/Atom/Atom.pm
===================================================================
--- slashjp/branches/upstream/current/Slash/XML/Atom/Atom.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/Slash/XML/Atom/Atom.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: Atom.pm,v 1.6 2007/07/12 04:16:31 pudge Exp $
+# $Id: Atom.pm,v 1.7 2008/04/15 00:09:37 pudge Exp $
 
 package Slash::XML::Atom;
 
@@ -33,7 +33,7 @@
 use base 'Slash::XML::RSS';
 use vars qw($VERSION);
 
-($VERSION) = ' $Revision: 1.6 $ ' =~ /\$Revision:\s+([^\s]+)/;
+($VERSION) = ' $Revision: 1.7 $ ' =~ /\$Revision:\s+([^\s]+)/;
 
 my %syn_ok_fields = (
 	'updateBase' => '',
@@ -153,7 +153,8 @@
 
 	my $atom = {%$rss};
 	bless $atom, __PACKAGE__;
-	return as_atom_1_0($atom);
+	my $data = as_atom_1_0($atom);
+	return $data;
 }
 
 # copied from as_rss_1_0 in XML::RSS ... kinda ugly, but oh well
@@ -352,4 +353,4 @@
 
 =head1 VERSION
 
-$Id: Atom.pm,v 1.6 2007/07/12 04:16:31 pudge Exp $
+$Id: Atom.pm,v 1.7 2008/04/15 00:09:37 pudge Exp $

Modified: slashjp/branches/upstream/current/Slash/XML/RSS/RSS.pm
===================================================================
--- slashjp/branches/upstream/current/Slash/XML/RSS/RSS.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/Slash/XML/RSS/RSS.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: RSS.pm,v 1.41 2008/04/10 17:01:52 scc Exp $
+# $Id: RSS.pm,v 1.42 2008/04/14 18:49:06 pudge Exp $
 
 package Slash::XML::RSS;
 
@@ -32,7 +32,7 @@
 use base 'Slash::XML';
 use vars qw($VERSION);
 
-($VERSION) = ' $Revision: 1.41 $ ' =~ /\$Revision:\s+([^\s]+)/;
+($VERSION) = ' $Revision: 1.42 $ ' =~ /\$Revision:\s+([^\s]+)/;
 
 
 #========================================================================
@@ -433,10 +433,15 @@
 		my $desc = $self->rss_item_description($item->{description} || $story->{introtext});
 		if ($desc) {
 			$encoded_item->{description} = $desc;
-			$encoded_item->{description} .= qq{<p><a href="$action"><img src="$channel->{'link'}slashdot-it.pl?from=rss&amp;op=image&amp;style=h0&amp;sid=$story->{sid}"></a></p>};
-			$encoded_item->{description} .= "<p><a href=\"$action\">Read more of this story</a> at $constants->{sitename}.</p>" if $action;
+
+			my $extra = '';
+			$extra .= qq{<p><a href="$action"><img src="$channel->{'link'}slashdot-it.pl?from=rss&amp;op=image&amp;style=h0&amp;sid=$story->{sid}"></a></p>}
+				if $constants->{rdfbadge};
+			$extra .= "<p><a href=\"$action\">Read more of this story</a> at $constants->{sitename}.</p>"
+				if $action;
 			# add poll if any
-			$encoded_item->{description} .= pollbooth($story->{qid},1, 0, 1) if $story->{qid};
+			$extra .= pollbooth($story->{qid},1, 0, 1) if $story->{qid};
+			$encoded_item->{description} .= $self->encode($extra) if $extra;
 		}
 	}
 
@@ -576,4 +581,4 @@
 
 =head1 VERSION
 
-$Id: RSS.pm,v 1.41 2008/04/10 17:01:52 scc Exp $
+$Id: RSS.pm,v 1.42 2008/04/14 18:49:06 pudge Exp $

Modified: slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js
===================================================================
--- slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/Ajax/htdocs/images/common.js	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,5 +1,5 @@
 // _*_ Mode: JavaScript; tab-width: 8; indent-tabs-mode: true _*_
-// $Id: common.js,v 1.195 2008/04/08 17:52:30 scc Exp $
+// $Id: common.js,v 1.199 2008/04/16 18:35:17 scc Exp $
 
 function $dom( id ) {
 	return document.getElementById(id);
@@ -66,6 +66,7 @@
   firehose_removed_first = '0';
   firehose_removals = null;
   firehose_future = null;
+  firehose_more_increment = 10;
 
   var firehose_cur = 0;
 
@@ -457,6 +458,7 @@
 }
 
 function firehose_set_options(name, value) {
+	
 	var pairs = [
 		// name		value		curid		newid		newvalue 	title 
 		["orderby", 	"createtime", 	"popularity",	"time",		"popularity"	],
@@ -467,6 +469,7 @@
 		["mode", 	"fulltitle", 	"full",		"abbrev",	"full"]
 	];
 	var params = {};
+	params['setting_name'] = name;
 	params['op'] = 'firehose_set_options';
 	params['reskey'] = reskey_static;
 	var theForm = document.forms["firehoseform"];
@@ -592,6 +595,10 @@
 		params['tabtype'] = value;
 	}
 
+	if (name == 'more_num') {
+		params['ask_more'] = 1;
+	}
+
 	params['section'] = firehose_settings.section;
 	for (i in firehose_settings) {
 		params[i] = firehose_settings[i];
@@ -875,7 +882,7 @@
 
 
 function firehose_get_updates_handler(transport) {
-	$('#busy').setClass('hide');
+	$('.busy').hide();
 	var response = eval_response(transport);
 	var processed = 0;
 	firehose_removals = response.update_data.removals;
@@ -936,7 +943,7 @@
 		params[i] = firehose_settings[i];
 	}
 
-	$('#busy').removeClass();
+	$('.busy').show();
 	ajax_update(params, '', { onComplete: firehose_get_updates_handler });
 }
 
@@ -1467,10 +1474,9 @@
 }
 
 function firehose_more() {
-	var increment_by = 10;
-	firehose_settings.more_num = firehose_settings.more_num + increment_by;
+	firehose_settings.more_num = firehose_settings.more_num + firehose_more_increment;
 	
-	if (((firehose_item_count + increment_by) >= 200) && !fh_is_admin) {
+	if (((firehose_item_count + firehose_more_increment) >= 200) && !fh_is_admin) {
 		$('#firehose_more').hide();
 	}
 	firehose_set_options('more_num', firehose_settings.more_num);

Modified: slashjp/branches/upstream/current/plugins/Ajax/templates/edit_comment;ajax;default
===================================================================
--- slashjp/branches/upstream/current/plugins/Ajax/templates/edit_comment;ajax;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/Ajax/templates/edit_comment;ajax;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -22,12 +22,12 @@
 [% IF user.is_anon %]
 <div class="warning">
 	[% IF constants.allow_anonymous %]
-You are not logged in.  You can <a href=\"${gSkin.rootdir}/login.pl\">log
-in now</a>, or <a href="[% gSkin.rootdir %]/users.pl">Create an Account</a>.
-	[% ELSE %]
-You are not logged in.  You can <a href=\"${gSkin.rootdir}/login.pl\">log
+You are not logged in.  You can <a href="[% gSkin.rootdir %]/login.pl">log
 in now</a>, <a href="[% gSkin.rootdir %]/users.pl">Create an Account</a>,
 or post as <b>[% user.nickname | strip_literal %]</b>.
+	[% ELSE %]
+You are not logged in.  You can <a href="[% gSkin.rootdir %]/login.pl">log
+in now</a>, or <a href="[% gSkin.rootdir %]/users.pl">Create an Account</a>.
 	[% END %]
 </div>
 [% END %]
@@ -83,4 +83,4 @@
 __seclev__
 1000
 __version__
-$Id: edit_comment;ajax;default,v 1.13 2008/04/10 18:43:44 pudge Exp $
+$Id: edit_comment;ajax;default,v 1.14 2008/04/15 00:26:16 pudge Exp $

Modified: slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm
===================================================================
--- slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/FireHose/FireHose.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: FireHose.pm,v 1.233 2008/04/10 05:22:29 pudge Exp $
+# $Id: FireHose.pm,v 1.235 2008/04/16 17:52:28 scc Exp $
 
 package Slash::FireHose;
 
@@ -42,7 +42,7 @@
 use base 'Slash::DB::MySQL';
 use vars qw($VERSION);
 
-($VERSION) = ' $Revision: 1.233 $ ' =~ /\$Revision:\s+([^\s]+)/;
+($VERSION) = ' $Revision: 1.235 $ ' =~ /\$Revision:\s+([^\s]+)/;
 sub createFireHose {
 	my($self, $data) = @_;
 	$data->{dept} ||= "";
@@ -533,10 +533,16 @@
 		my $st_q  = $self->sqlQuote(timeCalc($options->{startdate}, '%Y-%m-%d %T', -$user->{off_set}));
 
 		if ($options->{startdate}) {
-			push @where, "createtime >= $st_q";
 
 			if ($options->{duration} && $options->{duration} >= 0 ) {
+				push @where, "createtime >= $st_q";
 				push @where, "createtime <= DATE_ADD($st_q, INTERVAL $dur_q DAY)";
+			} elsif ($options->{duration} == -1) {
+				if ($options->{orderdir} eq "ASC") {
+					push @where, "createtime >= $st_q";
+				} else {
+					my $end_q = $self->sqlQuote(timeCalc("$options->{startdate} 23:59:59", '%Y-%m-%d %T', -$user->{off_set}));				   push @where, "createtime <= $end_q";
+				}
 			}
 		} elsif (defined $options->{duration} && $options->{duration} >= 0) {
 			push @where, "createtime >= DATE_SUB(NOW(), INTERVAL $dur_q DAY)";
@@ -2743,6 +2749,9 @@
 sub createSettingLog {
 	my($self, $data) = @_;
 	return if !getCurrentStatic("firehose_logging");
+	return if !$data->{name};
+
+	$data->{value} ||= "";
 	$data->{uid} ||= getCurrentUser('uid');
 	$self->sqlInsert("firehose_setting_log", $data);
 }
@@ -2757,4 +2766,4 @@
 
 =head1 VERSION
 
-$Id: FireHose.pm,v 1.233 2008/04/10 05:22:29 pudge Exp $
+$Id: FireHose.pm,v 1.235 2008/04/16 17:52:28 scc Exp $

Modified: slashjp/branches/upstream/current/plugins/FireHose/firehose.css
===================================================================
--- slashjp/branches/upstream/current/plugins/FireHose/firehose.css	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/FireHose/firehose.css	2008-04-22 07:40:51 UTC (rev 592)
@@ -470,3 +470,5 @@
 .briefarticle .storylinks .comments.nocomment, .briefarticle .storylinks .comments span  {display: none}
 
 .embed .paginate, .embed .firemenu, .embed a.skin, .copyright.embed { display: none; }
+#fhtablist li:before { content: "";}
+#fhtablist li { padding-left: 0.5em }

Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/data;firehose;default
===================================================================
--- slashjp/branches/upstream/current/plugins/FireHose/templates/data;firehose;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/FireHose/templates/data;firehose;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -100,7 +100,10 @@
 		[% END %]
 		[% label = "Get more &raquo;" %]
 		[% IF day_label && day_count && options.duration != -1;
-			label = day_count _ " more &raquo;";
+			IF need_day_label;
+				label = $day_label _ " ";
+			END;
+			label = label _ day_count _ " more &raquo;";
 		   ELSIF future_count > 0 ;
 		   	IF options.duration == -1;
 			        label = future_count _ " more &raquo;";
@@ -108,8 +111,8 @@
 			        label = future_count _ " more &raquo;";
 			END;
 		   ELSIF future_count <= 0 ;
-		   	IF !options.startdate && options.duration != -1 && options.orderby == "createtime";
-			   	label = "Get more...";
+			IF options.duration != -1 && options.orderby == "createtime";
+				label = "Get more &raquo;";
 				extra_onclick = 'firehose_set_options(\'duration\', -1); ';
 			ELSIF options.orderby != "createtime";
 				fh = Slash.getObject("Slash::FireHose") 
@@ -129,6 +132,7 @@
 		[% ELSE %]
 			<a href="#" onclick="[% extra_onclick %] firehose_more(); return false;">[% label %]</a>
 		[% END %]
+		<span class="busy" style="display:none"><img src="[% constants.imagedir %]/spinner_grey.gif"></span>
 		[% IF !contentsonly %]
 		</span>
 		[% END %]
@@ -137,4 +141,4 @@
 [% END %]
 
 __version__
-$Id: data;firehose;default,v 1.28 2008/04/10 16:56:50 tvroom Exp $
+$Id: data;firehose;default,v 1.30 2008/04/16 19:01:12 scc Exp $

Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/list;firehose;default
===================================================================
--- slashjp/branches/upstream/current/plugins/FireHose/templates/list;firehose;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/FireHose/templates/list;firehose;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -83,7 +83,7 @@
 [% theupdatetime = Slash.timeCalc(Slash.db.getTime(), "%H:%M"); %]
 [% refresh_text = "";
    IF !user.is_anon;
-   	refresh_text = '<span style="font-size:60%">(<span id="pauseorplay">Paused</span> <span id="local_last_update_time">' _ theupdatetime _ '</span><span id="gmt_update_time"></span>)</span><span id="busy" class="hide"><img src="' _ constants.imagedir _ '/spinner.gif" alt="*"></span>';
+	refresh_text = '<span style="font-size:60%">(<span id="pauseorplay">Paused</span> <span id="local_last_update_time">' _ theupdatetime _ '</span><span id="gmt_update_time"></span>)</span><span class="busy" style="display:none"><img src="' _ constants.imagedir _ '/spinner.gif" alt="*"></span>';
    END;
 %]
 [% PROCESS titlebar title="$constants.sitename Firehose $refresh_text" %]
@@ -171,6 +171,9 @@
 	[% END %]
 
 	var firehose_action_time = 0;
+	[% IF options.pagesize == "large" %]
+	firehose_more_increment = 15;
+	[% END %]
 	[% options_color = (options.color || user.firehose_color || "indigo") %]
 	var fh_color = [% firehose.js_anon_dump(options_color) %];
 	fh_colors = [% firehose.js_anon_dump(colors) %];
@@ -204,4 +207,4 @@
 </script>
 
 __version__
-$Id: list;firehose;default,v 1.114 2008/04/09 19:23:18 tvroom Exp $
+$Id: list;firehose;default,v 1.116 2008/04/16 19:00:54 scc Exp $

Modified: slashjp/branches/upstream/current/plugins/FireHose/templates/paginate;firehose;default
===================================================================
--- slashjp/branches/upstream/current/plugins/FireHose/templates/paginate;firehose;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/FireHose/templates/paginate;firehose;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -31,7 +31,6 @@
 <div class="paginate" [% IF divid %]id="[% divid %]"[% END %]>
 <div class="menu" [% IF ulid %]id="[% ulid %]"[% END %]>
 [% END %]
-
 [% IF options.duration == 7 && !options.startdate %]
 	[% day = Slash.db.getDay(0) %]
 	<span class="inactive">
@@ -39,24 +38,21 @@
 	</span>
 	[% IF options.orderby == "createtime";
 		 max_days_ahead = options.smalldevices ? 1 : 2;
-		days = Slash.getOlderDaysFromDay(last_day, -1, max_days_ahead, { "show_future_days" => 1, skip_add_today => 1 }); 
+		days = Slash.getOlderDaysFromDay(last_day, -1, max_days_ahead, { skip_add_today => 1, skip_future => 1 }); 
 	   ELSE;
 		max_days_ahead = options.smalldevices ? 2 : 3;
-		days = Slash.getOlderDaysFromDay(day, 1, max_days_ahead, { "show_future_days" => 1, skip_add_today => 1 }); 
+		days = Slash.getOlderDaysFromDay(day, 1, max_days_ahead, {  skip_add_today => 1, skip_future => 1 });
 	   END;
 	%]
 		[%
 		got_more_link = 0;
 		FOREACH cur_day = days;
 		%]
-		<span class="[% IF cur_day.0 != last_day %]in[% END %]active">
+		<span class="[% IF (cur_day.0 != last_day || options.orderby != "createtime") || firehose_more_data.future_count <= 0 %]in[% END %]active">
 			<a onclick="firehose_set_options('issue','[% cur_day.0 %]'); return false;" href="[% gSkin.rootdir %]/[% day_page %]?[% f = fh.genFireHoseParams(options, { startdate => cur_day.0, duration => 1}); f; %][% index_extra %]">[% cur_day.1 | strip_literal %]</a>
-				[% IF firehose_more_data.day_num == cur_day.0 %]
+				[% IF firehose_more_data.day_num == cur_day.0 && firehose_more_data.future_count >=0 %]
 					[% Slash.getData('firehose_more_link', firehose_more_data, 'firehose'); %]
 					[% got_more_link = 1; %]
-				[% ELSIF firehose_more_data.future_count <= 0 && cur_day.0 == last_day %]
-					[% Slash.getData('firehose_more_link', firehose_more_data, 'firehose'); %]
-					[% got_more_link = 1; %]
 				[% END %]
 		</span>
 		[% END %]
@@ -64,6 +60,10 @@
 		<span class="active">
 			[% IF options.orderby != "createtime" %]
 				<a href="#" onclick="firehose_slider_set_color('[% options.color %]'); return false">[% options.color.ucfirst %]</a>
+			[% ELSIF firehose_more_data.future_count <=0  %]
+				<a href="#">Archive</a>
+			[% ELSE %]
+				[% firehose_more_data.need_day_label = 1 %]
 			[% END %]
 			[% Slash.getData('firehose_more_link', firehose_more_data, 'firehose'); %]
 		</span>
@@ -79,7 +79,7 @@
 	[% FOREACH cur_day = days;
 		IF day == cur_day.0; %]
 			<span class="active">
-				<a onclick="firehose_set_options('issue','[% cur_day.0 %]'); return false;" href="[% gSkin.rootdir %]/[% day_page %]?[% f = fh.genFireHoseParams(options, { startdate => cur_day.0, duration => 1}); f; %][% index_extra %]">[% cur_day.1 | strip_literal %]</a>
+				<a onclick="firehose_set_options('issue','[% cur_day.0 %]'); return false;" href="[% gSkin.rootdir %]/[% day_page %]?[% f = fh.genFireHoseParams(options, { startdate => cur_day.0, duration => 1}); f; %][% index_extra %]">[% cur_day.1 | strip_literal %]</a> [% Slash.getData('firehose_more_link', firehose_more_data, 'firehose'); %]
 			</span>
 		[% ELSE %]
 			<span class="inactive">
@@ -112,7 +112,7 @@
 	END;
 	idle_submit_plug;
 %]
-[% ELSIF options.duration == -1 && !options.startdate %]
+[% ELSIF options.duration == -1  %]
 	<span class="inactive">
 		<a href="[% gSkin.rootdir %]/[% day_page %]?[% f = fh.genFireHoseParams(options, { startdate => '', duration => 7}); f; %][% IF form.index %]index=1[% END %]">Today</a>
 	<span class="active">
@@ -145,4 +145,4 @@
 </div>
 [% END %]
 __version__
-$Id: paginate;firehose;default,v 1.33 2008/04/10 16:52:49 tvroom Exp $
+$Id: paginate;firehose;default,v 1.34 2008/04/16 19:02:09 scc Exp $

Modified: slashjp/branches/upstream/current/plugins/Metamod/templates/dispTheComments;metamod;default
===================================================================
--- slashjp/branches/upstream/current/plugins/Metamod/templates/dispTheComments;metamod;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/Metamod/templates/dispTheComments;metamod;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -52,7 +52,7 @@
 
 <form action="[% gSkin.rootdir %]/metamod.pl" method="post">
 [% IF comments.size %]
-<ul id="commentlisting">
+<ul id="commentlisting" class="[% Slash.discussion2() ? 'd2' : 'd1' %]">
 [% END %]
 [% FOR C = comments %]
 [%
@@ -86,4 +86,4 @@
 __seclev__
 1000
 __version__
-$Id: dispTheComments;metamod;default,v 1.2 2007/11/01 20:32:02 jamiemccarthy Exp $
+$Id: dispTheComments;metamod;default,v 1.3 2008/04/15 00:27:37 pudge Exp $

Modified: slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/Duration.pm
===================================================================
--- slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/Duration.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/Duration.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: Duration.pm,v 1.15 2008/04/11 01:12:38 pudge Exp $
+# $Id: Duration.pm,v 1.16 2008/04/15 00:25:47 pudge Exp $
 
 package Slash::ResKey::Checks::Duration;
 
@@ -13,7 +13,7 @@
 
 use base 'Slash::ResKey::Key';
 
-our($VERSION) = ' $Revision: 1.15 $ ' =~ /\$Revision:\s+([^\s]+)/;
+our($VERSION) = ' $Revision: 1.16 $ ' =~ /\$Revision:\s+([^\s]+)/;
 
 
 sub doCheckCreate {
@@ -80,13 +80,17 @@
 	# as not to increase the chance of giving users a rather spurious error
 
 	@return = minDurationBetweenUses($self, $reskey_obj);
-	setMaxDuration($self) if @return;
-	return @return if @return;
+	if (@return) {
+		setMaxDuration($self);
+		return @return;
+	}
 
 	if ($self->origtype ne 'createuse') {
 		@return = minDurationBetweenCreateAndUse($self, $reskey_obj);
-		setMaxDuration($self) if @return;
-		return @return if @return;
+		if (@return) {
+			setMaxDuration($self);
+			return @return;
+		}
 	}
 
 	return RESKEY_SUCCESS;
@@ -286,15 +290,18 @@
 	my($self) = @_;
 	my $check_vars = $self->getCheckVars;
 
-	if ($check_vars->{max_duration}) {
-		my @durations;
-		push @durations, (duration($self, 'minDurationBetweenUses', 1))[0];
-		push @durations, (duration($self, 'minDurationBetweenCreateAndUse', 1))[0];
+	(my $caller = lc((caller(1))[3])) =~ s/^.*:docheck(\w+)$/$1/;
+	$caller ||= '';
+	return unless ($check_vars->{max_duration} ||
+		($caller && $check_vars->{"max_duration_$caller"})
+	);
 
-		my($max_duration) = sort { $b <=> $a } @durations;
-		$self->max_duration($max_duration);
-	}
+	my @durations;
+	push @durations, (duration($self, 'minDurationBetweenUses', 1))[0];
+	push @durations, (duration($self, 'minDurationBetweenCreateAndUse', 1))[0];
 
+	my($max_duration) = sort { $b <=> $a } @durations;
+	$self->max_duration($max_duration);
 }
 
 1;

Modified: slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/HumanConf.pm
===================================================================
--- slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/HumanConf.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/HumanConf.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: HumanConf.pm,v 1.3 2008/04/02 15:15:45 pudge Exp $
+# $Id: HumanConf.pm,v 1.4 2008/04/11 22:29:16 pudge Exp $
 
 package Slash::ResKey::Checks::HumanConf;
 
@@ -13,7 +13,7 @@
 
 use base 'Slash::ResKey::Key';
 
-our($VERSION) = ' $Revision: 1.3 $ ' =~ /\$Revision:\s+([^\s]+)/;
+our($VERSION) = ' $Revision: 1.4 $ ' =~ /\$Revision:\s+([^\s]+)/;
 
 sub updateResKey {
 	my($self) = @_;
@@ -30,7 +30,6 @@
 
 sub doCheckCreate {
 	my($self) = @_;
-
 	return RESKEY_SUCCESS unless useHumanConf($self);
 
 	my $hc = getObject('Slash::HumanConf');
@@ -89,14 +88,20 @@
 			   $constants->{hc_sw_comments} == 0
 				# ...or it's turned off for logged-in users
 				# and this user is logged-in...
-			|| $constants->{hc_sw_comments} == 1
-			   && !$user->{is_anon}
+			|| ($constants->{hc_sw_comments} == 1
+			   && !$user->{is_anon})
 				# ...or it's turned off for logged-in users
 				# with high enough karma, and this user
 				# qualifies.
-			|| $constants->{hc_sw_comments} == 2
+			|| ($constants->{hc_sw_comments} == 2
 			   && !$user->{is_anon}
-		   	&&  $user->{karma} > $constants->{hc_maxkarma};
+		   	   &&  $user->{karma} > $constants->{hc_maxkarma});
+
+	# default
+	} else {
+		return 0 if $user->{is_admin}
+			 || (!$user->{is_anon}
+		   	 &&  $user->{karma} > $constants->{hc_maxkarma});
 	}
 
 	return 1;

Modified: slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/ProxyScan.pm
===================================================================
--- slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/ProxyScan.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/ResKey/ResKey/Checks/ProxyScan.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: ProxyScan.pm,v 1.5 2005/10/21 17:27:22 jamiemccarthy Exp $
+# $Id: ProxyScan.pm,v 1.6 2008/04/11 22:29:16 pudge Exp $
 
 package Slash::ResKey::Checks::ProxyScan;
 
@@ -13,7 +13,7 @@
 
 use base 'Slash::ResKey::Key';
 
-our($VERSION) = ' $Revision: 1.5 $ ' =~ /\$Revision:\s+([^\s]+)/;
+our($VERSION) = ' $Revision: 1.6 $ ' =~ /\$Revision:\s+([^\s]+)/;
 
 sub doCheck {
 	my($self) = @_;
@@ -30,7 +30,7 @@
 		return RESKEY_SUCCESS;
 	}
 
-	if (!$reader->getAL2($user->{srcids}, 'trusted')) {
+	unless ($reader->checkAL2($user->{srcids}, 'trusted')) {
 		my $is_proxy = $reader->checkForOpenProxy($user->{srcids}{ip});
 		if ($is_proxy) {
 			return(RESKEY_DEATH, ['open proxy', {

Modified: slashjp/branches/upstream/current/plugins/ResKey/mysql_dump.sql
===================================================================
--- slashjp/branches/upstream/current/plugins/ResKey/mysql_dump.sql	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/ResKey/mysql_dump.sql	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,5 +1,5 @@
 #
-# $Id: mysql_dump.sql,v 1.23 2008/04/10 05:22:29 pudge Exp $
+# $Id: mysql_dump.sql,v 1.25 2008/04/15 00:27:12 pudge Exp $
 #
 
 ### NOTE: reserved reskey IDs:
@@ -73,7 +73,7 @@
 INSERT INTO reskey_vars VALUES (1, 'duration_uses-anon-trolla', 3600, 'duration_uses for anon + trolla AL2');
 INSERT INTO reskey_vars VALUES (1, 'duration_uses-trolla',       300, 'duration_uses for tolla AL2');
 INSERT INTO reskey_vars VALUES (1, 'duration_uses-anon-mult',    1.5, 'multiply by this amount for each comment previously posted in the past 24 hours');
-INSERT INTO reskey_vars VALUES (1, 'max_duration', 1, 'boolean for whether to store max duration in reskey object on creation');
+INSERT INTO reskey_vars VALUES (1, 'max_duration_touch', 1, 'boolean for whether to store max duration in reskey object on touch');
 
 
 
@@ -191,6 +191,8 @@
 INSERT INTO reskey_resource_checks VALUES (NULL, 6, 'all', 'Slash::ResKey::Checks::AL2::Spammer',        531);
 INSERT INTO reskey_resource_checks VALUES (NULL, 6, 'all', 'Slash::ResKey::Checks::AL2::NoSubmit',       551);
 INSERT INTO reskey_resource_checks VALUES (NULL, 6, 'all', 'Slash::ResKey::Checks::Duration',            601);
+INSERT INTO reskey_resource_checks VALUES (NULL, 6, 'all', 'Slash::ResKey::Checks::HumanConf',           701);
+INSERT INTO reskey_resource_checks VALUES (NULL, 6, 'all', 'Slash::ResKey::Checks::ProxyScan',           801);
 
 ### vars
 INSERT INTO reskey_vars VALUES (6, 'adminbypass', 1, 'If admin, bypass checks for duration, proxy, and user');

Modified: slashjp/branches/upstream/current/plugins/Stats/Stats.pm
===================================================================
--- slashjp/branches/upstream/current/plugins/Stats/Stats.pm	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/Stats/Stats.pm	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,7 +1,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: Stats.pm,v 1.195 2008/04/09 21:15:23 jamiemccarthy Exp $
+# $Id: Stats.pm,v 1.197 2008/04/17 00:30:39 pudge Exp $
 
 package Slash::Stats;
 
@@ -22,7 +22,7 @@
 use base 'Slash::DB::Utility';
 use base 'Slash::DB::MySQL';
 
-($VERSION) = ' $Revision: 1.195 $ ' =~ /\$Revision:\s+([^\s]+)/;
+($VERSION) = ' $Revision: 1.197 $ ' =~ /\$Revision:\s+([^\s]+)/;
 
 sub new {
 	my($class, $user, $options) = @_;
@@ -1337,20 +1337,29 @@
 
 
 ########################################################
-sub countDailyStoriesAccess {
+sub countDailyStoriesAccessArticle {
 	my($self) = @_;
-	my $qlid = $self->_querylog_start('SELECT', 'accesslog_temp');
-	my $c = $self->sqlSelectMany("dat, COUNT(*), op", "accesslog_temp",
-		"op='article'",
-		"GROUP BY dat");
+	return $self->sqlSelectAllKeyValue('dat, COUNT(*)',
+		'accesslog_temp', "op='article'", 'GROUP BY dat');
+}
 
-	my %articles; 
-	while (my($sid, $cnt) = $c->fetchrow) {
-		$articles{$sid} = $cnt;
+########################################################
+sub countDailyStoriesAccessRSS {
+	my($self) = @_;
+	my $qs_hr = $self->sqlSelectAllKeyValue(
+		'query_string, COUNT(*)',
+		'accesslog_temp',
+		"op='slashdot-it' AND query_string LIKE '%from=rssbadge'",
+		'GROUP BY query_string');
+	my $sid_hr = { };
+	my $regex_sid = regexSid();
+	for my $qs (keys %$qs_hr) {
+		my($sid) = $qs =~ m{sid=\b([\d/]+)\b};
+		next unless $sid =~ $regex_sid;
+		$sid_hr->{$sid} ||= 0;
+		$sid_hr->{$sid} += $qs_hr->{$qs};
 	}
-	$c->finish;
-	$self->_querylog_finish($qlid);
-	return \%articles;
+	return $sid_hr;
 }
 
 ########################################################
@@ -2218,4 +2227,4 @@
 
 =head1 VERSION
 
-$Id: Stats.pm,v 1.195 2008/04/09 21:15:23 jamiemccarthy Exp $
+$Id: Stats.pm,v 1.197 2008/04/17 00:30:39 pudge Exp $

Modified: slashjp/branches/upstream/current/plugins/Stats/adminmail.pl
===================================================================
--- slashjp/branches/upstream/current/plugins/Stats/adminmail.pl	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/Stats/adminmail.pl	2008-04-22 07:40:51 UTC (rev 592)
@@ -2,7 +2,7 @@
 # This code is a part of Slash, and is released under the GPL.
 # Copyright 1997-2005 by Open Source Technology Group. See README
 # and COPYING for more information, or see http://slashcode.com/.
-# $Id: adminmail.pl,v 1.219 2008/02/07 17:55:29 jamiemccarthy Exp $
+# $Id: adminmail.pl,v 1.220 2008/04/16 00:15:35 scc Exp $
 
 use strict;
 use Slash::Constants qw( :messages :slashd );
@@ -106,8 +106,6 @@
 	}
 	slashdLog("Counting Error Pages End");
 
-	my $articles = $logdb->countDailyStoriesAccess();
-
 	my $admin_clearpass_warning = '';
 	if ($constants->{admin_check_clearpass}) {
 		my $clear_admins = $stats->getAdminsClearpass();
@@ -793,31 +791,53 @@
 	$data{day} = $yesterday ;
 	$data{distinct_comment_posters_uids} = sprintf("%8u", $distinct_comment_posters_uids);
 
+	my $stories_article = $logdb->countDailyStoriesAccessArticle();
 	my @top_articles =
-		grep { $articles->{$_} >= 100 }
-		sort { ($articles->{$b} || 0) <=> ($articles->{$a} || 0) }
-		keys %$articles;
+		grep { $stories_article->{$_} >= 100 }
+		sort { ($stories_article->{$b} || 0) <=> ($stories_article->{$a} || 0) }
+		keys %$stories_article;
 	$#top_articles = 24 if $#top_articles > 24; # only list top 25 stories
-	my @lazy = ( );
+	my @lazy_article = ( );
 	my %nick = ( );
 	for my $sid (@top_articles) {
-		my $hitcount = $articles->{$sid};
+		my $hitcount = $stories_article->{$sid};
  		my $story = $reader->getStory($sid, [qw( title uid )]);
 		next unless $story->{title} && $story->{uid};
 		$nick{$story->{uid}} ||= $reader->getUser($story->{uid}, 'nickname')
 			|| $story->{uid};
 
-		push @lazy, sprintf( "%6d %-16s %-10s %-30s",
+		push @lazy_article, sprintf( "%6d %-16s %-10s %-30s",
 			$hitcount, $sid, $nick{$story->{uid}},
 			substr($story->{title}, 0, 30),
 		);
 	}
+	$data{lazy_article} = \@lazy_article; 
 
+	my $stories_rss = $logdb->countDailyStoriesAccessRSS;
+	my @top_rsses =
+		grep { $stories_rss->{$_} >= 100 }
+		sort { ($stories_rss->{$b} || 0) <=> ($stories_rss->{$a} || 0) }
+		keys %$stories_rss;
+	$#top_rsses = 24 if $#top_rsses > 24; # only list top 25 stories
+	my @lazy_rss = ( );
+	for my $sid (@top_rsses) {
+		my $hitcount = $stories_rss->{$sid};
+ 		my $story = $reader->getStory($sid, [qw( title uid )]);
+		next unless $story->{title} && $story->{uid};
+		$nick{$story->{uid}} ||= $reader->getUser($story->{uid}, 'nickname')
+			|| $story->{uid};
+
+		push @lazy_rss, sprintf( "%6d %-16s %-10s %-30s",
+			$hitcount, $sid, $nick{$story->{uid}},
+			substr($story->{title}, 0, 30),
+		);
+	}
+	$data{lazy_rss} = \@lazy_rss; 
+
 	$mod_data{data} = \%mod_data;
 	$mod_data{admin_mods_text} = $admin_mods_text;
 	
 	$data{data} = \%data;
-	$data{lazy} = \@lazy; 
 	$data{admin_clearpass_warning} = $admin_clearpass_warning;
 	$data{tailslash} = $logdb->getTailslash();
 

Modified: slashjp/branches/upstream/current/plugins/Stats/templates/display;adminmail;default
===================================================================
--- slashjp/branches/upstream/current/plugins/Stats/templates/display;adminmail;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/Stats/templates/display;adminmail;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -151,10 +151,18 @@
 
 -----------------------
 
-[% FOREACH item = lazy -%]
+Top stories viewed by article.pl:
+[% FOREACH item = lazy_article -%]
 [% item %]
 [% END %]
 
+[% IF lazy_rss.size %]
+Top stories viewed in RSS:
+[% FOREACH item = lazy_rss -%]
+[% item %]
+[% END %]
+
+[% END %]
 [% IF top_referers.size %]
 -----------------------      
 
@@ -231,4 +239,4 @@
 __seclev__
 100
 __version__
-$Id: display;adminmail;default,v 1.86 2008/01/18 01:55:16 jamiemccarthy Exp $
+$Id: display;adminmail;default,v 1.87 2008/04/16 00:15:35 scc Exp $

Modified: slashjp/branches/upstream/current/plugins/Submit/templates/displayForm;submit;default
===================================================================
--- slashjp/branches/upstream/current/plugins/Submit/templates/displayForm;submit;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/plugins/Submit/templates/displayForm;submit;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -11,6 +11,7 @@
 * topic = submission topic hashref
 * width = passed to titlebar
 * title = passed to titlebar
+* pending = html of pending submissions
 __title__
 
 __page__
@@ -20,7 +21,8 @@
 __name__
 displayForm
 __template__
-
+<div class="generalbody">
+[% pending %]
 [% # set the variable 'subtext'
    submission.storyonly = 0;
    submission.email = fakeemail;
@@ -51,26 +53,30 @@
 	</div>
 	[% END %]
 [% END %]
+
 	<p>
 	Here is where you can submit a story for the [% constants.sitename %] Editors to peer at it, poke it with a stick, and perhaps post it for all to share and enjoy.  It is <strong>very</strong> important that you write a clear simple subject, and include relevant links in your story.  If you wish to be anonymous, feel free to leave the identifying fields blank.  Anonymity has no effect on whether we will accept or reject the story.
 	</p>
+
+[%# username is the only of from, email, subj that needs to be filtered in %]
+
 	<form action="[% env.script_name %]" method="post">
-        [% IF savestory %]
-                <fieldset>
-                        <legend>
-                                Preview Submission
-                        </legend>
+	[% IF savestory %]
+		<fieldset>
+			<legend>
+				Preview Submission
+			</legend>
 			<div class="article">
-                        	[% PROCESS titlebar width => "100%", title => form.subj %]
+				[% PROCESS titlebar width => "100%", title => form.subj %]
 				<div class="body">
-                        		<div class="topic">
-                                		<img src="[% constants.imagedir %]/topics/[% topic.image %]" alt="[% topic.textname %]" width="[% topic.width %]" height="[% topic.height %]">
-                        		</div>
-                       			[% subtext %]
+					<div class="topic">
+						<img src="[% constants.imagedir %]/topics/[% topic.image %]" alt="[% topic.textname %]" width="[% topic.width %]" height="[% topic.height %]">
+					</div>
+					[% subtext %]
 				</div>
 			</div>
-                </fieldset>
-        [% END %]
+		</fieldset>
+	[% END %]
 		<fieldset>
 			<legend>
 				Story Submission Form
@@ -86,15 +92,18 @@
 			[% PROCESS formNote note => "Where users can contact you" %]
 			[% IF constants.plugin.FireHose %]
 				[% PROCESS formLabel value => "Url"  %]
-				<input type="text" name="url" value="[% form.url | strip_attribute %]" size="50"> Url type [% Slash.createSelect('mediiatype', Slash.db.getDescriptions('mediatypes'), { default => form.mediatype || "none" , return => 1 }) %]
+				<input type="text" name="url" value="[% form.url | strip_attribute %]" size="50"> Url type:
+				[% Slash.createSelect('mediatype', Slash.db.getDescriptions('mediatypes'), { default => form.mediatype || "none" , return => 1 }) %]
 				[% PROCESS formNote note => "Main url of submission (optional but if provided must be unique) " %]
 			[% END %]
+
 			[% PROCESS formLabel value => "Subject"  %]
 			<input type="text" name="subj" value="[% form.subj %]" size="50" maxlength="50">
-			[% PROCESS formNote note => "Be descriptive and concise! For best results, put the most important words first."%]
-			[% PROCESS formNote note => "Bad subjects=&#39;Check This Out!&#39; or &#39;An Article&#39;.  We get many submissions each day, and if yours isn't clear, it will be deleted." %]
+			[% PROCESS formNote note => "Be descriptive and concise!" %]
+			[% PROCESS formNote note => "(Nondescriptive subjects like 'Check this out!' usually just get deleted, because we get many every day. For best results, put the important words early.)" %]
+
 	[% FOR extra = extras %]
-			[% PROCESS formLabel value => extra.0  %]
+		[% PROCESS formLabel value => extra.0, comment => "" %]
 		[% IF extra.2 == 'text' %]
 			<input type="text" name="[% extra.1 %]" value="[% form.${extra.1} | strip_attribute %]" size="50">
 		[% ELSIF extra.2 == 'textarea' %]
@@ -104,6 +113,7 @@
 			[% Slash.createSelect(extra.1, Slash.db.getDescriptions('genericstring',extra.1), form.${extra.1}, 1, 1) %]	
 		[% END %]
 	[% END %]
+
 			[% hide_section_select = 0; hide_topic_select = 0 %]
 			[% primaryskid_val = form.primaryskid.defined ? form.primaryskid : constants.submission_default_skid;
 			IF constants.submission_force_default || (form.primaryskid && form.hss);
@@ -134,16 +144,23 @@
 			[% Slash.createSelect('tid', topic_values, form.tid, 1, 0, 1)%]	
 		[% END %]
 			[% submitToLabel = skins.${constants.mainpage_skid}.title || "the main section" %]
-			[% PROCESS formNote note =>"In general, submit to $submitToLabel" %]
+			[% PROCESS formNote note => "In general, submit to $submitToLabel" %]
+
 			[% PROCESS formLabel value => "The Scoop" %]
 			<textarea wrap="virtual" rows="[% user.textarea_rows || constants.textarea_rows %]" cols="[% user.textarea_cols || constants.textarea_cols %]" name="story">[% form.story | strip_literal %]</textarea><br>
 			[% PROCESS formNote note => "Are you sure you included a URL?  Did you test them for typos?" %]
 			[% PROCESS formNote note => "HTML is fine, but double check those URLs and HTML tags!" %]
-			[% PROCESS formLabel value => "Submission format" %]
+			[% PROCESS formLabel value => "Submission format", comment => "" %]
 			[% def_type = form.sub_type || 'html'; sub_types = { "html" => "HTML Formatted", "plain" => "Plain Old Text" }; Slash.createSelect('sub_type', sub_types, def_type, 1) %]
 			[% IF form.url_id %]
 				<input type="hidden" name="url_id" value="[% form.url_id | strip_attribute %]">
 			[% END %]
+
+			[% IF user.state.hc && !user.state.hcinvalid %]
+			<p>[% user.state.hcquestion; user.state.hchtml %]
+			<input type="text" name="hcanswer" value="[% form.hcanswer | strip_attribute %]" size="8" maxlength="8"></p>
+			[% END %]
+
 			<input type="submit" name="op" value="PreviewStory" class="button">
 		[% IF savestory %]
 			<input type="submit" name="op" value="SubmitStory" class="button">
@@ -152,7 +169,8 @@
 		[% END %]
 		</fieldset>
 	</form>
+</div>
 __seclev__
 10000
 __version__
-$Id: displayForm;submit;default,v 1.40 2007/10/23 20:56:46 tvroom Exp $
+$Id: displayForm;submit;default,v 1.42 2008/04/17 17:59:41 pudge Exp $

Modified: slashjp/branches/upstream/current/sql/mysql/defaults.sql
===================================================================
--- slashjp/branches/upstream/current/sql/mysql/defaults.sql	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/sql/mysql/defaults.sql	2008-04-22 07:40:51 UTC (rev 592)
@@ -3,7 +3,7 @@
 #--------------------------------------------------------
 # Server version	3.23.26-beta-log
 #
-# $Id: defaults.sql,v 1.397 2008/04/10 05:23:53 pudge Exp $
+# $Id: defaults.sql,v 1.398 2008/04/16 22:28:00 pudge Exp $
 #
 
 #
@@ -832,7 +832,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_201','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_202','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-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/sql/mysql/upgrades	2008-04-22 07:40:51 UTC (rev 592)
@@ -10,7 +10,7 @@
 #      after X started at the same time that X was tagged.
 
 #
-# $Id: upgrades,v 1.1343 2008/04/10 05:23:53 pudge Exp $
+# $Id: upgrades,v 1.1348 2008/04/17 17:59:41 pudge Exp $
 #
 
 # BEGIN tf23's additions 
@@ -5191,8 +5191,6 @@
 # 2008-03-19
 UPDATE vars SET value = 'T_2_5_0_198' WHERE name = 'cvs_tag_currentcode';
 
-# PUDGE LAST UPDATED HERE
-
 # for plugins/ResKey
 INSERT INTO reskey_resource_checks VALUES (NULL, 1, 'all', 'Slash::ResKey::Checks::HumanConf', 701);
 INSERT INTO reskey_vars VALUES (1, 'duration_uses-anon',         300, 'duration_uses for anon');
@@ -5247,8 +5245,6 @@
 # 2008-04-03
 UPDATE vars SET value = 'T_2_5_0_200' WHERE name = 'cvs_tag_currentcode';
 
-# SLASHCODE/USEPERL LAST UPDATED HERE
-
 # SLASHDOT LAST UPDATED HERE
 
 # For plugins/FireHose
@@ -5281,3 +5277,23 @@
 
 # 2008-04-09
 UPDATE vars SET value = 'T_2_5_0_201' WHERE name = 'cvs_tag_currentcode';
+
+# for plugins/ResKey (submit)
+INSERT INTO reskey_resource_checks VALUES (NULL, 6, 'all', 'Slash::ResKey::Checks::HumanConf',           701);
+INSERT INTO reskey_resource_checks VALUES (NULL, 6, 'all', 'Slash::ResKey::Checks::ProxyScan',           801);
+
+# for plugins/ResKey (comments)
+DELETE FROM reskey_vars WHERE rkrid = 1 AND name = 'max_duration';
+INSERT INTO reskey_vars VALUES (1, 'max_duration_touch', 1, 'boolean for whether to store max duration in reskey object on touch');
+
+# for plugins/FireHose
+ALTER TABLE firehose_update_log ADD bytes mediumint UNSIGNED DEFAULT 0 NOT NULL;
+ALTER TABLE firehose_setting_log DROP column bytes; 
+
+# 2008-04-16
+UPDATE vars SET value = 'T_2_5_0_202' WHERE name = 'cvs_tag_currentcode';
+
+# PUDGE LAST UPDATED HERE
+
+# SLASHCODE/USEPERL LAST UPDATED HERE
+

Modified: slashjp/branches/upstream/current/themes/slashcode/THEME
===================================================================
--- slashjp/branches/upstream/current/themes/slashcode/THEME	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/themes/slashcode/THEME	2008-04-22 07:40:51 UTC (rev 592)
@@ -1,4 +1,4 @@
-# $Id: THEME,v 1.135 2008/04/10 05:22:29 pudge Exp $
+# $Id: THEME,v 1.136 2008/04/15 22:39:39 tvroom Exp $
 name=slashcode
 description="Slashcode.com theme"
 topic=htdocs/images/topics/topicbug.jpg
@@ -104,6 +104,7 @@
 image=htdocs/images/slc.gif
 image=htdocs/images/slr.gif
 image=htdocs/images/spinner.gif
+image=htdocs/images/spinner_grey.gif
 image=htdocs/images/sr.gif
 image=htdocs/images/srs.gif
 image=htdocs/images/tbl_g.gif

Modified: slashjp/branches/upstream/current/themes/slashcode/htdocs/images/comments.js
===================================================================
(Binary files differ)

Added: slashjp/branches/upstream/current/themes/slashcode/htdocs/images/spinner_grey.gif
===================================================================
(Binary files differ)


Property changes on: slashjp/branches/upstream/current/themes/slashcode/htdocs/images/spinner_grey.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: slashjp/branches/upstream/current/themes/slashcode/templates/edit_comment;comments;default
===================================================================
--- slashjp/branches/upstream/current/themes/slashcode/templates/edit_comment;comments;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/themes/slashcode/templates/edit_comment;comments;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -20,10 +20,11 @@
 edit_comment
 __template__
 <div id="wide">
+[% discussion2 = Slash.discussion2() %]
 [% IF form.pid %]
         [% PROCESS titlebar title="Reply to: $reply.subject" %]
         <div class="generalbody">
-		<ul id="commentlisting">
+		<ul id="commentlisting" class="[% discussion2 ? 'd2' : 'd1' %]">
                 [% Slash.dispComment(reply) %]
 		</li>
 		</ul>
@@ -129,7 +130,7 @@
 		<a href="[% gSkin.rootdir %]/users.pl">Create an Account!</a>
 		[% END %]
 
-[% IF !user.is_anon && user.discussion2 && user.discussion2 == "slashdot";
+[% IF !user.is_anon && discussion2;
         prefslink = "<a href=\"" _ gSkin.rootdir _ "/my/comments\" target=\"_blank\"";
 
         IF constants.modal_prefs_active;
@@ -184,7 +185,7 @@
 	[% IF !user.is_anon || (user.is_anon && preview) %]
 	<input type="submit" name="op" value="Submit" class="button">
 	[% END %]
-	[% IF form.pid && Slash.discussion2() == "slashdot" %]
+	[% IF form.pid && discussion2 %]
 	<script src="[% constants.imagedir %]/comments.js?[% constants.cvs_tag_currentcode %]" type="text/javascript"></script>
 	<script type="text/javascript">
 <!--
@@ -232,4 +233,4 @@
 __seclev__
 1000
 __version__
-$Id: edit_comment;comments;default,v 1.54 2008/02/21 01:01:52 pudge Exp $
+$Id: edit_comment;comments;default,v 1.55 2008/04/15 00:27:37 pudge Exp $

Modified: slashjp/branches/upstream/current/themes/slashcode/templates/preview_comm;comments;default
===================================================================
--- slashjp/branches/upstream/current/themes/slashcode/templates/preview_comm;comments;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/themes/slashcode/templates/preview_comm;comments;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -13,7 +13,7 @@
 __name__
 preview_comm
 __template__
-<ul id="commentlisting">
+<ul id="commentlisting" class="[% Slash.discussion2() ? 'd2' : 'd1' %]">
 [% Slash.dispComment(preview) %]
 </li>
 </ul>
@@ -21,4 +21,4 @@
 __seclev__
 1000
 __version__
-$Id: preview_comm;comments;default,v 1.8 2005/10/11 02:34:10 tvroom Exp $
+$Id: preview_comm;comments;default,v 1.9 2008/04/15 00:27:37 pudge Exp $

Modified: slashjp/branches/upstream/current/themes/slashcode/templates/printCommComments;misc;default
===================================================================
--- slashjp/branches/upstream/current/themes/slashcode/templates/printCommComments;misc;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/themes/slashcode/templates/printCommComments;misc;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -38,11 +38,11 @@
 [% END %]
 
 [% IF discussion2 %]
-	[% IF discussion2 == "slashdot" %]
 	<script src="[% constants.imagedir %]/comments.js?[% constants.cvs_tag_currentcode %]" type="text/javascript"></script>
-	[%- END %]
 	<script type="text/javascript">
 <!--
+[%- IF gSkin.name != 'idle' %]
+	d2_keybindings_disable[191] = 1;[% END # turn off '/' key %]
 	window.onscroll = d2act;
 	boxStatus(1);
 [% Slash.jsSelectComments(Slash.db, constants, user, { sid => sid, cid => cid }, gSkin) %]
@@ -51,7 +51,7 @@
 [% END %]
 
 [% IF cid && !discussion2 %]
-	<ul id="commentlisting" class="[% user.mode %]">
+	<ul id="commentlisting" class="[% user.mode %] d1">
 	[% Slash.dispComment(comment) %]
 	<div class="comment_footer">
 	[% IF previous %]
@@ -95,7 +95,7 @@
 	[% this_pid = discussion2 ? 0 : pid;
 	   thread = Slash.displayThread(sid, this_pid, lvl, comments) %]
 	[% IF thread || discussion2 %]
-		[% IF !cid || discussion2 %]<ul id="commentlisting"[% IF discussion2 %] class="d2"[% END %]>[% END %]
+		[% IF !cid || discussion2 %]<ul id="commentlisting" class="[% discussion2 ? 'd2' : 'd1' %]">[% END %]
 			[% thread || '' %]
 			<li id="roothiddens" class="hide"></li>
 		[% IF !cid || discussion2 %]</ul>[% END %]
@@ -125,6 +125,9 @@
 }) %]</b></p></span>
 [% END %]
 
+[% IF !user.is_anon %]
+<span class="nbutton"><p><b><a href="[% gSkin.rootdir %]/my/comments"[% IF constants.modal_prefs_active %] onclick="getModalPrefs('d2', 'Discussion 2'); return false"[% END %]>Prefs</a></b></p></span>[% END %]
+
 [% IF (can_moderate || user.acl.candelcomments_always) %]
 <span class="nbutton"><p><b><a href="[% gSkin.rootdir %]/moderation.shtml">Moderator Help</a></b></p></span>[% END %]
 
@@ -141,9 +144,9 @@
 	        [%- ELSE %]<input type="submit" value="moderate" class="button">
 	        [% END %]
 	[% END %]
-	</form>
 [% END %]
 </div>
+[% IF moderate_form %]	</form>[% END %]
 
 [% IF discussion2 %]
 	<script type="text/javascript">
@@ -166,4 +169,4 @@
 __seclev__
 10000
 __version__
-$Id: printCommComments;misc;default,v 1.75 2008/04/10 18:43:44 pudge Exp $
+$Id: printCommComments;misc;default,v 1.78 2008/04/16 22:25:45 pudge Exp $

Modified: slashjp/branches/upstream/current/themes/slashcode/templates/printCommentsLinks;misc;default
===================================================================
--- slashjp/branches/upstream/current/themes/slashcode/templates/printCommentsLinks;misc;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/themes/slashcode/templates/printCommentsLinks;misc;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -15,9 +15,7 @@
 __template__
 [% IF discussion2 %]
 	<a href="#" onclick="ajaxFetchComments(0,1); return false"><span id="more_comments_num_[% commentslinks_id %]"></span> More</a> | 
-[% END; IF user.is_anon;
-	PROCESS userlogin_cover
-		return_url = gSkin.rootdir _ '/comments.pl?sid=' _ sid %]
+[% END; IF user.is_anon %]
 	<a href="[% gSkin.rootdir %]/login.pl" onclick="show_login_box(); return false">Login</a>
 [% ELSE %]
 	<a href="[% gSkin.rootdir %]/my/comments"[% IF constants.modal_prefs_active %] onclick="getModalPrefs('d2', 'Discussion 2'); return false"[% END %]>Prefs</a>
@@ -36,4 +34,4 @@
 __seclev__
 10000
 __version__
-$Id: printCommentsLinks;misc;default,v 1.1 2008/04/10 05:22:29 pudge Exp $
+$Id: printCommentsLinks;misc;default,v 1.2 2008/04/15 20:57:46 pudge Exp $

Modified: slashjp/branches/upstream/current/themes/slashcode/templates/printCommentsMain;misc;default
===================================================================
--- slashjp/branches/upstream/current/themes/slashcode/templates/printCommentsMain;misc;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/themes/slashcode/templates/printCommentsMain;misc;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -27,9 +27,10 @@
    	horiz = 1 IF rooted || user.comments_control == 'horizontal';
    ELSE;
    	horiz = 1 IF constants.comments_control_horizontal;
-   END %]
-[% discussion2 = Slash.discussion2() %]
-[% spilltext = "Spill at <b>${user.commentspill}</b>!";
+   END;
+   discussion2 = Slash.discussion2();
+   this_title = title;
+   spilltext = "Spill at <b>${user.commentspill}</b>!";
    fineprint = 'The following comments are owned by whoever posted them.  We are not responsible for them in any way.';
    modpoints = BLOCK %]
 	| <b>[% user.points %]</b>
@@ -40,17 +41,17 @@
 
 <a name="acomments"></a>
 <div class="commentwrap" id="commentwrap">
-[% IF discussion2 %]
+[% IF discussion2; IF !user.state.d2asp %]
 <div class="commentBox" style="font-size: 120%">
 	<div>
-[% IF title %]<span class="escape-link"><a href="[% link | strip_urlattr %]" title="Back to Article - [% title | strip_attribute %]">[% title %]</a></span>[% END %]
+[% IF this_title %]<span class="escape-link"><a href="[% link | strip_urlattr %]" title="Back to Article - [% this_title | strip_attribute %]">[% this_title %]</a></span>[% END %]
 <span class="commentBoxLinks">[% PROCESS printCommentsLinks commentslinks_id => 'd' %]</span>
 	</div>
 </div>
-[% ELSE %]
+[% END; ELSE %]
 <div class="commentBox">
-[% IF title %]
-	<a href="[% link | strip_urlattr %]">[% title %]</a>
+[% IF this_title %]
+	<a href="[% link | strip_urlattr %]">[% this_title %]</a>
 [% ELSE %]
 	[% Slash.linkComment({
 		sid	=> sid,
@@ -134,9 +135,11 @@
 		<div class="block">
 			<div class="title">
 				<h4>
-				[% IF title %]
-					<span class="h-inline"><a href="[% link | strip_urlattr %]" title="Back to Article - [% title | strip_attribute %]">[% title %]</a></span>
-					<span class="titlecount"><a href="[% link | strip_urlattr %]#topcomment" title="Back to Top Comment - [% title | strip_attribute %]"><span id="titlecountnum">[% count %]</span>&nbsp;Comment[% count == 1 ? '' : 's' %]</a></span>
+				[% IF this_title %]
+					<span class="h-inline">[% IF user.state.d2asp -%]
+					<a href="[% constants.rootdir %]/" title="[% constants.sitename | strip_attribute %]">[% constants.sitename %]</a>:[% END %]
+					<a href="[% link | strip_urlattr %]" title="Back to Article - [% this_title | strip_attribute %]">[% this_title %]</a></span>
+					<span class="titlecount"><a href="[% link | strip_urlattr %]#topcomment" title="Back to Top Comment - [% this_title | strip_attribute %]"><span id="titlecountnum">[% count %]</span>&nbsp;Comment[% count == 1 ? '' : 's' %]</a></span>
 				[% ELSE %] 
 					[% Slash.linkComment({
 						sid	=> sid,
@@ -209,7 +212,12 @@
         </div>
       </div>
 		</div>
-		<div class="commentControlFooter">[% PROCESS printCommentsLinks commentslinks_id => 'c' %]</div>
+		<div class="commentControlFooter">[% 
+			PROCESS printCommentsLinks commentslinks_id => 'c';
+			IF user.is_anon;
+			   	PROCESS userlogin_cover return_url = gSkin.rootdir _ '/comments.pl?sid=' _ sid;
+   			END;
+		%]</div>
 		<div id="commentControlBoxStatus" class="hide"><b>Loading... please wait.</b></div>
 	</div>
 </div>
@@ -217,8 +225,12 @@
 	[% END %]
 </div>
 <a name="topcomment"></a>
+[% IF user.state.d2asp %]
+<div style="text-align:center; margin-top: 1.5em; margin-bottom: -1.5em;">
+<iframe src="http://slashdot.org/images/iframe/idle.html" height="110" width="740" frameborder="0" border="0" scrolling="no" marginwidth="0" marginheight="0"></iframe></div>
+[% END %]
 
 __seclev__
 10000
 __version__
-$Id: printCommentsMain;misc;default,v 1.112 2008/04/10 05:22:29 pudge Exp $
+$Id: printCommentsMain;misc;default,v 1.115 2008/04/16 22:25:45 pudge Exp $

Modified: slashjp/branches/upstream/current/themes/slashcode/templates/userInfo2;users;default
===================================================================
--- slashjp/branches/upstream/current/themes/slashcode/templates/userInfo2;users;default	2008-04-21 12:59:20 UTC (rev 591)
+++ slashjp/branches/upstream/current/themes/slashcode/templates/userInfo2;users;default	2008-04-22 07:40:51 UTC (rev 592)
@@ -24,6 +24,15 @@
 
         </div>
 
+        <div id="yui-main">
+                <div class="yui-b">
+                        <br>&nbsp;
+                        <h2>We probably want some kind of header here to describe the contents of the data pane.</h2>
+
+                        [% PROCESS listComments admin_flag=admin_flag commentstruct=commentstruct commentcount=commentcount min_comment=min_comment reasons=reasons cids_to_mods=cids_to_mods type="user" useredit=useredit comment_time=comment_time %]
+                </div>
+        </div>
+
         <div id="slashboxes" class="yui-b">
                 <div class="block">
                         <div class="title">
@@ -256,4 +265,4 @@
 __seclev__
 500
 __version__
-$Id: userInfo2;users;default,v 1.2 2008/04/09 19:53:59 entweichen Exp $
+$Id: userInfo2;users;default,v 1.3 2008/04/15 17:53:13 entweichen Exp $


Slashdotjp-dev メーリングリストの案内
アーカイブの一覧に戻る