Diff for /loncom/interface/lonfeedback.pm between versions 1.349 and 1.352

version 1.349, 2012/03/17 04:02:28 version 1.352, 2012/04/29 22:02:02
Line 513  imscp_v1p1.xsd http://www.imsglobal.org/ Line 513  imscp_v1p1.xsd http://www.imsglobal.org/
         my $currdepth = 0;          my $currdepth = 0;
         my $firstidx = $alldiscussion{$showposts[0]};          my $firstidx = $alldiscussion{$showposts[0]};
         foreach my $post (@showposts) {          foreach my $post (@showposts) {
             unless (($sortposts eq 'thread') || (($sortposts eq '') && ($env{'environment.threadeddiscussion'})) || ($outputtarget eq 'export')) {              unless (($sortposts eq 'thread') || 
                       (($sortposts eq '') && (!$env{'environment.unthreadeddiscussion'})) || 
                       ($outputtarget eq 'export')) {
                 $alldiscussion{$post} = $post;                  $alldiscussion{$post} = $post;
             }              }
             unless ( ($notshown{$alldiscussion{$post}} eq '1') || ($shown{$alldiscussion{$post}} == 0) ) {              unless ( ($notshown{$alldiscussion{$post}} eq '1') || ($shown{$alldiscussion{$post}} == 0) ) {
Line 1117  sub build_posting_display { Line 1119  sub build_posting_display {
     my $origindex='0.';      my $origindex='0.';
             my $numoldver=0;              my $numoldver=0;
     if ($contrib{$idx.':replyto'}) {      if ($contrib{$idx.':replyto'}) {
                 if ( (($env{'environment.threadeddiscussion'}) && ($sortposts eq '')) || ($sortposts eq 'thread') || ($outputtarget eq 'export')) {                  if ( ((!$env{'environment.unthreadeddiscussion'}) && ($sortposts eq '')) || 
                        ($sortposts eq 'thread') || ($outputtarget eq 'export')) {
 # this is a follow-up message  # this is a follow-up message
     $original[$idx]=$original[$contrib{$idx.':replyto'}];      $original[$idx]=$original[$contrib{$idx.':replyto'}];
     $$depth[$idx]=$$depth[$contrib{$idx.':replyto'}]+1;      $$depth[$idx]=$$depth[$contrib{$idx.':replyto'}]+1;
Line 1330  sub build_posting_display { Line 1333  sub build_posting_display {
                 }                  }
                 if ($outputtarget eq 'export' || $message) {                  if ($outputtarget eq 'export' || $message) {
     my $thisindex=$idx;      my $thisindex=$idx;
     if ( (($env{'environment.threadeddiscussion'}) && ($sortposts eq '')) || ($sortposts eq 'thread') || ($outputtarget eq 'export')) {      if ( ((!$env{'environment.unthreadeddiscussion'}) && ($sortposts eq '')) || 
                            ($sortposts eq 'thread') || ($outputtarget eq 'export')) {
  $thisindex=$origindex.substr('00'.$$replies[$$depth[$idx]],-2,2);   $thisindex=$origindex.substr('00'.$$replies[$$depth[$idx]],-2,2);
     }      }
     $$alldiscussion{$thisindex}=$idx;      $$alldiscussion{$thisindex}=$idx;
Line 1453  sub build_posting_display { Line 1457  sub build_posting_display {
                                     $message.                                      $message.
                                     '</div></blockquote>';                                      '</div></blockquote>';
                             if ($canvote) {                              if ($canvote) {
                                   my $ownpost;
                                   if (($uname eq $env{'user.name'}) &&
                                       ($udom eq $env{'user.domain'})) {
                                       $ownpost = 1;
                                   }   
 # Put in the like and unlike buttons  # Put in the like and unlike buttons
                                 if (($uname eq $env{'user.name'}) && ($udom eq $env{'user.domain'})) {                                  if ($ownpost || (($hiddens{$idx}) && ($seehidden))) { 
                                     my $novote = &mt('No voting for your own posts');                                      my $novote;
                                       if ($ownpost) { 
                                           $novote = &mt('No voting for your own posts.');
                                       } else {
                                           $novote = &mt('No voting for hidden posts.');
                                       }
                                     $$discussionitems[$idx].=                                      $$discussionitems[$idx].=
                                         '<a href="javascript:alert('."'$novote'".');" style="text-decoration: none;">'.                                          '<a href="javascript:alert('."'$novote'".');" style="text-decoration: none;">'.
                                         '<img border="0" src="/res/adm/pages/thumbsup_novote.png" alt="'.$novote.'" />&nbsp;'.                                          '<img border="0" src="/res/adm/pages/thumbsup_novote.png" alt="'.$novote.'" />&nbsp;'.
                                         '<img border="0" src="/res/adm/pages/thumbsdown_novote.png" alt="'.$novote.'" /></a>';                                           '<img border="0" src="/res/adm/pages/thumbsdown_novote.png" alt="'.$novote.'" /></a>'; 
   
                                 } else {                                  } else {
                                     if ($userlikes{$idx}) {                                      if ($userlikes{$idx}) {
                                         $$discussionitems[$idx].='<img border="0" src="/res/adm/pages/thumbsup_gray.png" alt="'.&mt('You like this posting').'" />';                                          $$discussionitems[$idx].='<img border="0" src="/res/adm/pages/thumbsup_gray.png" alt="'.&mt('You like this posting').'" />';
Line 1792  END Line 1807  END
    $env{'course.'.$env{'request.course.id'}.'.domain'},     $env{'course.'.$env{'request.course.id'}.'.domain'},
    $env{'course.'.$env{'request.course.id'}.'.num'});     $env{'course.'.$env{'request.course.id'}.'.num'});
       unless (($contrib{'hidden'}=~/\.$idx\./) || ($contrib{'deleted'}=~/\.$idx\./)) {        unless (($contrib{'hidden'}=~/\.$idx\./) || ($contrib{'deleted'}=~/\.$idx\./)) {
             my $numoldver = 0;
           if ($contrib{$idx.':history'}) {            if ($contrib{$idx.':history'}) {
               if ($contrib{$idx.':history'} =~ /:/) {                if ($contrib{$idx.':history'} =~ /:/) {
                   my @oldversions = split(/:/,$contrib{$idx.':history'});                    my @oldversions = split(/:/,$contrib{$idx.':history'});
Line 1800  END Line 1816  END
                   $numoldver = 1;                    $numoldver = 1;
               }                }
           }            }
           if ($env{'form.replydisc'}) {            if ($idx > 0) {
               if ($contrib{$idx.':history'}) {                my (%msgversions,%subversions,$htmldecode);
                   if ($contrib{$idx.':history'} =~ /:/) {                $htmldecode = 0;
                       my @oldversions = split(/:/,$contrib{$idx.':history'});                if ($env{'form.replydisc'}) {
                       $numoldver = @oldversions;                    $htmldecode = 1;
                   } else {  
                       $numoldver = 1;  
                   }  
               }                }
               if ($idx > 0) {                &get_post_versions(\%msgversions,$contrib{$idx.':message'},0,$numoldver);
                   my %msgversions = ();                &get_post_versions(\%subversions,$contrib{$idx.':subject'},$htmldecode,
                   &get_post_versions(\%msgversions,$contrib{$idx.':message'},0,$numoldver);                                   $numoldver);
                 $subject = $subversions{$numoldver};
                 if ($env{'form.replydisc'}) {
                   $quote = $msgversions{$numoldver};                    $quote = $msgversions{$numoldver};
               }                    $subject = &HTML::Entities::encode(&mt('Re: ').$subject,'<>&"');
               if ($idx > 0) {                } else {
                   my %subversions = ();  
                   &get_post_versions(\%subversions,$contrib{$idx.':subject'},1,$numoldver);  
                   $subject = &mt('Re: ').$subversions{$numoldver};  
               }  
               $subject = &HTML::Entities::encode($subject,'<>&"');  
           } else {  
               $attachmenturls = $contrib{$idx.':attachmenturl'};  
               if ($idx > 0) {  
                   my %msgversions = ();  
                   &get_post_versions(\%msgversions,$contrib{$idx.':message'},0,$numoldver);  
                   $comment = $msgversions{$numoldver};                    $comment = $msgversions{$numoldver};
                   my %subversions = ();  
                   &get_post_versions(\%subversions,$contrib{$idx.':subject'},0,$numoldver);  
                   $subject = $subversions{$numoldver};   
               }                }
             }
             if ($env{'form.editdisc'}) {
                 $attachmenturls = $contrib{$idx.':attachmenturl'};
               if (defined($contrib{$idx.':replyto'})) {                if (defined($contrib{$idx.':replyto'})) {
                   $parentmsg = $contrib{$idx.':replyto'};                    $parentmsg = $contrib{$idx.':replyto'};
               }                }
Line 4123  ENDREDIR Line 4128  ENDREDIR
           if (&discussion_vote_available($status,$realsymb)) {            if (&discussion_vote_available($status,$realsymb)) {
               my %contrib=&Apache::lonnet::restore($symb,$env{'request.course.id'},                my %contrib=&Apache::lonnet::restore($symb,$env{'request.course.id'},
                                                    $cdom,$cnum);                                                     $cdom,$cnum);
                 my $ownpost;
               if (($contrib{$idx.':sendername'} eq $env{'user.name'}) &&                 if (($contrib{$idx.':sendername'} eq $env{'user.name'}) && 
                   ($contrib{$idx.':senderdomain'} eq $env{'user.domain'})) {                    ($contrib{$idx.':senderdomain'} eq $env{'user.domain'})) {
                   $result = &mt("Vote not registered. No voting for your own posts.");                    $ownpost = 1;
                 }
                 if ($ownpost || $contrib{$idx.':hidden'} || $contrib{$idx.':deleted'}) {
                     $result = &mt('Vote not registered.').' ';
                 }
                 if ($ownpost) {
                     $result .= &mt('No voting for your own posts.');
                 } elsif ($contrib{$idx.':hidden'}) {
                     $result .= &mt('No voting for hidden posts.');
                 } elsif ($contrib{$idx.':deleted'}) {
                     $result .= &mt('No voting for deleted posts.');
               } else {                } else {
   
 #  #
 # Likes and unlikes are in db-file "disclikes" of the course  # Likes and unlikes are in db-file "disclikes" of the course
 # The prefix is the $symb to identify the resource discussion,  # The prefix is the $symb to identify the resource discussion,
Line 4248  ENDREDIR Line 4263  ENDREDIR
       return OK;        return OK;
   } elsif ($env{'form.cmd'}=~/^(threadedoff|threadedon)$/) {    } elsif ($env{'form.cmd'}=~/^(threadedoff|threadedon)$/) {
       my ($symb,$feedurl)=&get_feedurl_and_clean_symb($env{'form.symb'});        my ($symb,$feedurl)=&get_feedurl_and_clean_symb($env{'form.symb'});
       if ($env{'form.cmd'} eq 'threadedon') {        if ($env{'form.cmd'} eq 'threadedoff') {
     &Apache::lonnet::put('environment',{'unthreadeddiscussion' => 'on'});
     &Apache::lonnet::appenv({'environment.unthreadeddiscussion' => 'on'});
     &Apache::lonnet::del('environment',['threadeddiscussion']);
     &Apache::lonnet::delenv('environment.threadeddiscussion');
         } else {
   &Apache::lonnet::put('environment',{'threadeddiscussion' => 'on'});    &Apache::lonnet::put('environment',{'threadeddiscussion' => 'on'});
   &Apache::lonnet::appenv({'environment.threadeddiscussion' => 'on'});    &Apache::lonnet::appenv({'environment.threadeddiscussion' => 'on'});
       } else {    &Apache::lonnet::del('environment',['unthreadeddiscussion']);
    &Apache::lonnet::del('environment',['threadeddiscussion']);    &Apache::lonnet::delenv('environment.unthreadeddiscussion');
   &Apache::lonnet::delenv('environment.threadeddiscussion');  
       }        }
       &redirect_back($r,$feedurl,&mt('Changed discussion view mode').'<br />',        &redirect_back($r,$feedurl,&mt('Changed discussion view mode').'<br />',
      '0','0','','',$env{'form.previous'},undef,undef,undef,       '0','0','','',$env{'form.previous'},undef,undef,undef,

Removed from v.1.349  
changed lines
  Added in v.1.352


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>