Diff for /loncom/interface/lonchatfetch.pm between versions 1.36 and 1.40

version 1.36, 2009/10/23 10:21:00 version 1.40, 2021/11/30 15:55:37
Line 63  sub handler { Line 63  sub handler {
  '<b>'.&unescape($group_info{description}).   '<b>'.&unescape($group_info{description}).
  '</b><br />';   '</b><br />';
         }          }
     } elsif (! &Apache::lonnet::allowed('pch',$env{'request.course.id'}.      } elsif (! &Apache::lonnet::allowed('plc',$env{'request.course.id'}.
              ($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))               ($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))
         ) {          ) {
         return HTTP_NOT_ACCEPTABLE;          return HTTP_NOT_ACCEPTABLE;
     }      }
   
     my $loaderror=&Apache::lonnet::overloaderror($r);  
     if ($loaderror) { return $loaderror; }  
     $loaderror=  
        &Apache::lonnet::overloaderror($r,  
          $env{'course.'.$env{'request.course.id'}.'.home'});  
     if ($loaderror) { return $loaderror; }  
   
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
Line 184  sub handler { Line 177  sub handler {
         $refresh_cmd .= "&amp;group=$group";          $refresh_cmd .= "&amp;group=$group";
     }      }
     my $headarg;      my $headarg;
     my ($blocked,$blocktext) = blockstatus();      my $clientip = &Apache::lonnet::get_requestor_ip($r);
       my ($blocked,$blocktext) = &blockstatus($clientip);
     if ($blocked) {      if ($blocked) {
         $newstuff = $blocktext;          $newstuff = $blocktext;
         $headarg =  {'only_body' => 1,};          $headarg =  {'only_body' => 1,};
Line 229  sub get_seeid_status { Line 223  sub get_seeid_status {
 }  }
   
 sub blockstatus {  sub blockstatus {
       my ($clientip) = @_;
     my ($blocked,$output);      my ($blocked,$output);
     my %setters;      my %setters;
     my ($startblock,$endblock) = &Apache::loncommon::blockcheck(\%setters,'chat');      my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) =
           &Apache::loncommon::blockcheck(\%setters,'chat',$clientip);
     if ($startblock && $endblock) {      if ($startblock && $endblock) {
         $blocked = 1;          $blocked = 1;
         my $endblocktime = &Apache::lonlocal::locallocaltime($endblock);          my $endblocktime = &Apache::lonlocal::locallocaltime($endblock);
Line 244  sub blockstatus { Line 240  sub blockstatus {
                 my ($openblock,$closeblock) = @{$setters{$course}{times}[$i]};                  my ($openblock,$closeblock) = @{$setters{$course}{times}[$i]};
                 $openblock = &Apache::lonlocal::locallocaltime($openblock);                  $openblock = &Apache::lonlocal::locallocaltime($openblock);
                 $closeblock= &Apache::lonlocal::locallocaltime($closeblock);                  $closeblock= &Apache::lonlocal::locallocaltime($closeblock);
                 $output .= &mt('Block for [_1] starts: [_2], ends [_3], set by: [_4]<br />',$courseinfo{'description'},$openblock,$closeblock,$fullname);                  $output .= &mt('Block for [_1] starts: [_2], ends [_3], set by: [_4]',$courseinfo{'description'},$openblock,$closeblock,$fullname).'<br />';
             }              }
         }          }
       } elsif ($by_ip) {
           $blocked = 1;
           my $showdom = &Apache::lonnet::domain($blockdom);
           if ($showdom eq '') {
               $showdom = $blockdom;
           }
           $output = &mt('Chat Room is unavailable from your current IP address: [_1], '
                        .'because communication is blocked for certain IP address(es).'
                        ,$clientip).
                     '<br />'.
                     &mt('This restriction was set by an administrator in the [_1] LON-CAPA domain.'
                        ,$showdom);
     }      }
     return ($blocked,$output);      return ($blocked,$output);
 }  }

Removed from v.1.36  
changed lines
  Added in v.1.40


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