Diff for /loncom/interface/lonfeedback.pm between versions 1.321 and 1.322

version 1.321, 2012/01/04 23:31:36 version 1.322, 2012/01/05 21:18:49
Line 763  sub discussion_link { Line 763  sub discussion_link {
    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 ($flag) { $link .= '&previous='.$prev; }
    if ($adds) { $link .= $adds; }     if ($adds) { $link .= $adds; }
    return &Apache::loncommon::modal_link($link,$linktext,600,600);     my $width=600;
      my $height=600;
      if (($cmd eq 'hide') || ($cmd eq 'unhide') || ($cmd eq 'like') || ($cmd eq 'unlike')) {
          $width=300;
          $height=200;
      }
      return &Apache::loncommon::modal_link($link,$linktext,$width,$height);
 }  }
   
   
Line 928  sub build_posting_display { Line 934  sub build_posting_display {
     my %contrib=&Apache::lonnet::restore($symb,$env{'request.course.id'},      my %contrib=&Apache::lonnet::restore($symb,$env{'request.course.id'},
   $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'});
       my %likes=&Apache::lonnet::dump('disclikes',
                             $env{'course.'.$env{'request.course.id'}.'.domain'},
                             $env{'course.'.$env{'request.course.id'}.'.num'},
                             '^'.$symb.':');
       my $thisuser=$env{'user.name'}.':'.$env{'user.domain'};
   
     my $see_anonymous =       my $see_anonymous = 
  &Apache::lonnet::allowed('rin',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''));   &Apache::lonnet::allowed('rin',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''));
Line 1090  sub build_posting_display { Line 1101  sub build_posting_display {
                                 @{$$namesort{$lastname}{$firstname}} = ("$idx");                                  @{$$namesort{$lastname}{$firstname}} = ("$idx");
                             }                              }
                             if ($outputtarget ne 'tex') {                              if ($outputtarget ne 'tex') {
                                   unless ($likes{$symb.':'.$idx.':likers'}=~/\,\Q$thisuser\E\,/) {
                                       $sender.=' '.&discussion_link($symb,&mt('Like'),'like',$idx,$$newpostsflag,$prevread,&group_args($group));
                                   }
                                   unless ($likes{$symb.':'.$idx.':unlikers'}=~/\,\Q$thisuser\E\,/) {
                                       $sender.=' '.&discussion_link($symb,&mt('Unlike'),'unlike',$idx,$$newpostsflag,$prevread,&group_args($group));
                                   }
                                 if (&editing_allowed($escsymb.':::'.$idx,$group)) {                                  if (&editing_allowed($escsymb.':::'.$idx,$group)) {
                                     if (($env{'user.domain'} eq $contrib{$idx.':senderdomain'}) && ($env{'user.name'} eq $contrib{$idx.':sendername'})) {                                      if (($env{'user.domain'} eq $contrib{$idx.':senderdomain'}) && ($env{'user.name'} eq $contrib{$idx.':sendername'})) {
                                         $sender.=' '.                                          $sender.=' '.
Line 3554  sub handler { Line 3571  sub handler {
 # --------------------------- Get query string for limited number of parameters  # --------------------------- Get query string for limited number of parameters
   
   &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},    &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
          ['modal','hide','unhide','deldisc','postdata','preview','replydisc','editdisc','cmd','symb','onlyunread','allposts','onlyunmark','previous','markread','markonread','markondisp','toggoff','toggon','modifydisp','changes','navtime','navmaps','navurl','sortposts','applysort','rolefilter','statusfilter','sectionpick','groupick','posterlist','userpick','attach','origpage','currnewattach','deloldattach','keepold','allversions','export','sendmessageonly','group','ref']);           ['like','unlike','modal','hide','unhide','deldisc','postdata','preview','replydisc','editdisc','cmd','symb','onlyunread','allposts','onlyunmark','previous','markread','markonread','markondisp','toggoff','toggon','modifydisp','changes','navtime','navmaps','navurl','sortposts','applysort','rolefilter','statusfilter','sectionpick','groupick','posterlist','userpick','attach','origpage','currnewattach','deloldattach','keepold','allversions','export','sendmessageonly','group','ref']);
   my $group = $env{'form.group'};    my $group = $env{'form.group'};
   my %attachmax = (    my %attachmax = (
                     text => &mt('(128 KB max size)'),                      text => &mt('(128 KB max size)'),
Line 3834  ENDREDIR Line 3851  ENDREDIR
       my $entry=$env{'form.like'}?$env{'form.like'}:$env{'form.unlike'};        my $entry=$env{'form.like'}?$env{'form.like'}:$env{'form.unlike'};
       my ($symb,$idx)=split(/\:\:\:/,$entry);        my ($symb,$idx)=split(/\:\:\:/,$entry);
       ($symb,my $feedurl)=&get_feedurl_and_clean_symb($symb);        ($symb,my $feedurl)=&get_feedurl_and_clean_symb($symb);
       my %contrib=&Apache::lonnet::restore($symb,$env{'request.course.id'},        my $prefix=$symb.':'.$idx.':';
                           $env{'course.'.$env{'request.course.id'}.'.domain'},        my %contrib=&Apache::lonnet::dump('disclikes',
                           $env{'course.'.$env{'request.course.id'}.'.num'});                                          $env{'course.'.$env{'request.course.id'}.'.domain'},
                                           $env{'course.'.$env{'request.course.id'}.'.num'},
                                           '^'.$prefix);
 # Get all who like or unlike this  # Get all who like or unlike this
       my $currentlikers=$contrib{$idx.':likers'};        my $currentlikers=$contrib{$prefix.'likers'};
       my $currentunlikers=$contrib{$idx.':unlikers'};        my $currentunlikers=$contrib{$prefix.'unlikers'};
       my $likes=$contrib{$idx.':likes'};        my $likes=$contrib{$prefix.'likes'};
 # Find out if they already voted  # Find out if they already voted
       my $alreadyflag=0;        my $alreadyflag=0;
       my $thisuser=$env{'user.name'}.':'.$env{'user.domain'};        my $thisuser=$env{'user.name'}.':'.$env{'user.domain'};
       if ($env{'form.like'}) {        if ($env{'form.like'}) {
           if ($currentlikers=~/\.\Q$thisuser\E\./) {            if ($currentlikers=~/\,\Q$thisuser\E\,/) {
               $alreadyflag=1;                $alreadyflag=1;
           } else {            } else {
               $currentunlikers=~s/\.\Q$thisuser\E\.//;                if ($currentunlikers=~/\,\Q$thisuser\E\,/) {
               $currentlikers.='.'.$thisuser.'.';                    $currentunlikers=~s/\,\Q$thisuser\E\,//;
                 } else {
                     $currentlikers.=','.$thisuser.',';
                 }
               $likes++;                $likes++;
           }             } 
       } else {        } else {
           if ($currentunlikers=~/\.\Q$thisuser\E\./) {            if ($currentunlikers=~/\,\Q$thisuser\E\,/) {
               $alreadyflag=1;                $alreadyflag=1;
           } else {            } else {
               $currentlikers=~s/\.\Q$thisuser\E\.//;                if ($currentlikers=~/\,\Q$thisuser\E\,/) {
               $currentunlikers.='.'.$thisuser.'.';                    $currentlikers=~s/\,\Q$thisuser\E\,//;
                 } else {
                     $currentunlikers.=','.$thisuser.',';
                 }
               $likes--;                $likes--;
           }             } 
       }        }
       my $result;        my $result;
       unless ($alreadyflag) {        unless ($alreadyflag) {
           my %newhash=($idx.':likes'    => $likes,            my %newhash=($prefix.'likes'    => $likes,
                        $idx.':likers'   => $currentlikers,                         $prefix.'likers'   => $currentlikers,
                        $idx.':unlikers' => $currentunlikers);                         $prefix.'unlikers' => $currentunlikers);
           if (&Apache::lonnet::store(\%newhash,$symb,$env{'request.course.id'},            if (&Apache::lonnet::put('disclikes',
                            $env{'course.'.$env{'request.course.id'}.'.domain'},                                     \%newhash,
                            $env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') {                                     $env{'course.'.$env{'request.course.id'}.'.domain'},
                                      $env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') {
               if ($env{'form.like'}) {                if ($env{'form.like'}) {
                   &storediscussionlikes(1,$contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'});                    &storediscussionlikes(1,$contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'});
                   $result=&mt("Registered 'Like'");                    $result=&mt("Registered 'Like'");

Removed from v.1.321  
changed lines
  Added in v.1.322


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