Diff for /loncom/interface/lonsearchcourse.pm between versions 1.4 and 1.10

version 1.4, 2011/12/25 20:41:53 version 1.10, 2024/02/11 21:41:48
Line 136  sub course_search { Line 136  sub course_search {
         foreach (sort(keys(%hash))) {          foreach (sort(keys(%hash))) {
             if ($c->aborted()) { last; }              if ($c->aborted()) { last; }
             if (($_=~/^src\_(.+)$/)) {              if (($_=~/^src\_(.+)$/)) {
                 if ($hash{'randomout_'.$1} & !$env{'request.role.adv'}) {                  my $rid = $1;
                     next;                  unless ($env{'request.role.adv'}) {
                       next if ($hash{'randomout_'.$rid} || $hash{'deeplinkout_'.$rid});
                       if (!$env{'request.deeplink.login'} && $hash{'deeplinkonly_'.$rid}) {
                           my ($value) = map { &unescape($_); } split(/:/,$hash{'deeplinkonly_'.$rid});
                           my ($state,$others,$listed) = split(/,/,$value);
                           next if (($state eq 'only') &&
                                    (($listed eq 'absent') || ($listed eq 'grades')));
                       }
                 }                  }
                 my $symb=&make_symb($1);                  my $symb=&make_symb($1);
                 &checkonthis($r,$1,$hash{$_},0,&Apache::lonnet::gettitle($symb),                  &checkonthis($r,$1,$hash{$_},0,&Apache::lonnet::gettitle($symb),
Line 261  sub checkonthis { Line 268  sub checkonthis {
        }         }
        my $href=$url;         my $href=$url;
        if ($hash{'encrypted_'.$id} && !$env{'request.role.adv'}) {         if ($hash{'encrypted_'.$id} && !$env{'request.role.adv'}) {
            $href=&Apache::lonenc::encrypted($href)             $href=&Apache::lonenc::encrypted($href);
                .'?symb='.&Apache::lonenc::encrypted($symb);             if ($url =~ /\.sequence$/) {
                  $href .= '?navmap=1';
              } else {
                  $href .= '?symb='.&Apache::lonenc::encrypted($symb);
              }
        } else {         } else {
            $href.='?symb='.&escape($symb);             if ($href =~ /\.sequence$/) {
                  $href .= '?navmap=1';
              } else {
                  $href .= '?symb='.&escape($symb);
              }
        }         }
        $r->print('<a href="'.$href.'" target="cat">'.($title?$title:$url).         $r->print('<a href="'.$href.'" target="cat">'.($title?$title:$url).
                  '</a><br />');                   '</a><br />');
Line 311  sub handler { Line 326  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['phase']);      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['phase']);
     $r->print(&Apache::loncommon::start_page("$crstype Search"));      $r->print(&Apache::loncommon::start_page("$crstype Search"));
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
       if ($env{'request.course.id'} eq '') {
           $r->print(&Apache::lonhtmlcommon::breadcrumbs("$crstype Search"));
           $r->print(&Apache::loncommon::end_page());
           my $requrl = $r->uri;
           $env{'user.error.msg'} = "$requrl:bre:0:0:Course not initialized";
           $env{'user.reinit'} = 1;
           return HTTP_NOT_ACCEPTABLE;
       }
     &Apache::lonhtmlcommon::add_breadcrumb(      &Apache::lonhtmlcommon::add_breadcrumb(
             {   href => '/adm/searchcourse',              {   href => '/adm/searchcourse',
                 text => "$crstype Search"});                  text => "$crstype Search"});
Line 321  sub handler { Line 344  sub handler {
     }      }
     $r->print(&Apache::lonhtmlcommon::breadcrumbs("$crstype Search"));      $r->print(&Apache::lonhtmlcommon::breadcrumbs("$crstype Search"));
     &Apache::lonnavdisplay::startContentScreen($r,'coursesearch');      &Apache::lonnavdisplay::startContentScreen($r,'coursesearch');
     if ($env{'form.phase'} eq 'results') {      my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
        &course_search($r);      my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
       my $clientip = &Apache::lonnet::get_requestor_ip($r);
       my ($blocked,$blocktext) =
           &Apache::loncommon::blocking_status('search',$clientip,$cnum,$cdom);
       if ($blocked) {
           my $checkrole = "cm./$cdom/$cnum";
           if ($env{'request.course.sec'} ne '') {
               $checkrole .= "/$env{'request.course.sec'}";
           }
           if ((&Apache::lonnet::allowed('evb',undef,undef,$checkrole)) &&
               ($env{'request.role'} !~ m{^st\./$cdom/$cnum})) {
               undef($blocked);
           }
       }
       if ($blocked) {
           $r->print($blocktext);
       } elsif ($env{'form.phase'} eq 'results') {
           &course_search($r);
     } else {      } else {
        $r->print(&menu());          $r->print(&menu());
     }      }
     &Apache::lonnavdisplay::endContentScreen($r);      &Apache::lonnavdisplay::endContentScreen($r);
     $r->print(&Apache::loncommon::end_page());      $r->print(&Apache::loncommon::end_page());

Removed from v.1.4  
changed lines
  Added in v.1.10


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