--- loncom/interface/lonfeedback.pm 2012/04/29 22:55:20 1.353
+++ loncom/interface/lonfeedback.pm 2012/12/19 05:18:31 1.361
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Feedback
#
-# $Id: lonfeedback.pm,v 1.353 2012/04/29 22:55:20 raeburn Exp $
+# $Id: lonfeedback.pm,v 1.361 2012/12/19 05:18:31 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -821,7 +821,7 @@ sub can_see_hidden {
sub discussion_link {
my ($ressymb,$linktext,$cmd,$item,$flag,$prev,$adds,$title)=@_;
- my $link='/adm/feedback?inhibitmenu=yes&modal=yes&'.$cmd.'='.&escape($ressymb).':::'.$item;
+ my $link='/adm/feedback?inhibitmenu=yes&modal=yes&'.$cmd.'='.&escape($ressymb).':::'.$item;
if ($flag) { $link .= '&previous='.$prev; }
if ($adds) { $link .= $adds; }
my $width=600;
@@ -1056,6 +1056,7 @@ sub build_posting_display {
&filter_regexp($rolefilter,$sectionpick,$statusfilter);
$rolematch = $roleregexp.':'.$secregexp.':'.$statusregexp;
}
+ my %votestyle;
if ($seeid || $canvote) {
# We need to go through this twice, first to get the likes/dislikes, then to actually build the display
for (my $id=1;$id<=$contrib{'version'};$id++) {
@@ -1063,8 +1064,8 @@ sub build_posting_display {
next if ($contrib{$idx.':deleted'});
next if ($contrib{$idx.':hidden'});
unless ((($hiddens{$idx}) && (!$seehidden)) || ($deletions{$idx}) || (!$contrib{$idx.':message'})) {
+ push(@theselikes,$likes{$symb.':'.$idx.':likes'});
if ($likes{$symb.':'.$idx.':likes'} ne '') {
- push(@theselikes,$likes{$symb.':'.$idx.':likes'});
if (ref($likes{$symb.':'.$idx.':likers'}) eq 'HASH') {
if (exists($likes{$symb.':'.$idx.':likers'}{$thisuser})) {
$userlikes{$idx} = 1;
@@ -1101,6 +1102,29 @@ sub build_posting_display {
$twoplus=$ave+2.*$stddev;
$oneminus=$ave-$stddev;
$twominus=$ave-2.*$stddev;
+ if ($#theselikes>1) {
+ foreach my $class ('twoplus','oneplus','zero','oneminus','twominus') {
+ my $fontstyle = $env{'course.'.$env{'request.course.id'}.'.discussion_post_fonts_'.$class};
+ if ($fontstyle ne '') {
+ my ($size,$weight,$style,$other) = split(/,/,$fontstyle);
+ if ($size ne '') {
+ $votestyle{$class} .= 'font-size: '.$size.';';
+ }
+ if ($weight ne '') {
+ $votestyle{$class} .= 'font-weight: '.$weight.';';
+ }
+ if ($style ne '') {
+ $votestyle{$class} .= 'font-style: '.$style.';';
+ }
+ if ($other ne '') {
+ $votestyle{$class} .= $other;
+ }
+ if ($votestyle{$class} ne '') {
+ $votestyle{$class} = 'style="'.$votestyle{$class}.'"';
+ }
+ }
+ }
+ }
}
#
# This is now the real loop. Go through all entries, pick up what we need
@@ -1436,24 +1460,26 @@ sub build_posting_display {
$$discussionitems[$idx].=' '.$ctlink;
}
my $thislikes=$likes{$symb.':'.$idx.':likes'};
- my $likesize="100";
+ my $likestyle;
if ($seeid || $canvote) {
# Figure out size based on likes
+ my $class = 'zero';
my $thislikes=$likes{$symb.':'.$idx.':likes'};
if ($thislikes>$twoplus) {
- $likesize="200";
+ $class = 'twoplus';
} elsif ($thislikes>$oneplus) {
- $likesize="150";
+ $class = 'oneplus';
}
if ($thislikes<$twominus) {
- $likesize="50";
+ $class = 'twominus';
} elsif ($thislikes<$oneminus) {
- $likesize="75";
+ $class = 'oneminus';
}
+ $likestyle = $votestyle{$class};
}
# Actually glue in the message itself
$$discussionitems[$idx].= '
'. - "". + "". $message. ''; if ($canvote) { @@ -1935,7 +1961,11 @@ END unless (&contains_block_html($quote)) { &newline_to_br(\$quote); } - $quote=''.&Apache::lontexconvert::msgtexconverted($quote).''; + $quote=&Apache::lonhtmlcommon::start_pick_box(). + &Apache::lonhtmlcommon::row_title(&mt('Quote')). + &Apache::lontexconvert::msgtexconverted($quote). + &Apache::lonhtmlcommon::row_closure(1). + &Apache::lonhtmlcommon::end_pick_box(); } my $header=''; unless ($env{'form.modal'}) { @@ -1963,24 +1993,27 @@ END } $r->print(<+END +$r->print(&Apache::lonhtmlcommon::start_pick_box()); +$r->print(< $textareaheader -
$latexHelp
END - $r->print(&Apache::lonhtmlcommon::start_pick_box()); + $r->print(&Apache::lonhtmlcommon::row_title(&mt('Subject'))); $r->print('
'); $r->print(&Apache::lonhtmlcommon::row_closure()); $r->print(&Apache::lonhtmlcommon::row_title(&mt('Message'))); - $r->print('