Diff for /loncom/interface/groupsort.pm between versions 1.70 and 1.71

version 1.70, 2013/01/08 03:46:07 version 1.71, 2013/01/09 03:56:28
Line 152  sub readfromfile { Line 152  sub readfromfile {
   &Apache::lonnet::filelocation('',$env{'form.readfile'}));    &Apache::lonnet::filelocation('',$env{'form.readfile'}));
     } else {      } else {
         my $parser = HTML::TokeParser->new(\$cont);          my $parser = HTML::TokeParser->new(\$cont);
         my ($token,$donechk,%allmaps);          my ($token,$donechk,$allmaps);
           $allmaps = {};
         while ($token = $parser->get_token) {          while ($token = $parser->get_token) {
     if ($token->[0] eq 'S') {      if ($token->[0] eq 'S') {
                 if ($token->[1] eq 'resource') {                  if ($token->[1] eq 'resource') {
     if ($env{'form.recover'}) {      if ($env{'form.recover'}) {
  if ($token->[2]->{'type'} ne 'zombie') { next; }   if ($token->[2]->{'type'} ne 'zombie') { next; }
                         if ($token->[2]->{'src'} =~ /\.(page|sequence)$/) {                          if ($token->[2]->{'src'} =~ /\.(page|sequence)$/) {
                             unless ($donechk) {                              if (($env{'request.course.id'}) &&
                                 $donechk = &get_allmaps(\%allmaps);                                  ($env{'form.readfile'} =~ m{/default(|_\d+)\.(page|sequence)$})) {
                                   unless ($donechk) {
                                       $allmaps = &Apache::loncommon::allmaps_incourse();
                                       $donechk = 1;
                                   }
                             }                              }
                             if ($allmaps{$token->[2]->{'src'}}) { next; }                              if ($allmaps->{$token->[2]->{'src'}}) { next; }
                         }                          }
     } else {      } else {
  if ($token->[2]->{'type'} eq 'zombie') { next; }   if ($token->[2]->{'type'} eq 'zombie') { next; }
Line 187  sub readfromfile { Line 192  sub readfromfile {
     }      }
 }  }
   
 sub get_allmaps {  
     my ($allmaps) = @_;  
     return unless (ref($allmaps) eq 'HASH');  
     if (($env{'form.recover'}) &&  
         ($env{'request.course.id'}) &&  
         ($env{'form.readfile'} =~ m{/default(|_\d+)\.(page|sequence)$})) {  
         my $cid = $env{'request.course.id'};  
         my $cdom = $env{'course.'.$cid.'.domain'};  
         my $cnum = $env{'course.'.$cid.'.num'};  
         my $chome = $env{'course.'.$cid.'.home'};  
         my $lastchange =  
             &Apache::lonnet::get_coursechange($cdom,$cnum);  
         if ($lastchange > $env{'request.course.tied'}) {  
             my ($furl,$ferr) = &Apache::lonuserstate::readmap("$cdom/$cnum");  
             unless ($ferr) {  
                 &Apache::loncommon::update_content_constraints($cdom,$cnum,  
                                                                $chome,$cid);  
             }  
         }  
         my $navmap = Apache::lonnavmaps::navmap->new();  
         if (defined($navmap)) {  
             foreach my $res ($navmap->retrieveResources(undef,sub { $_[0]->is_map() },1,0,1)) {  
                 $allmaps->{$res->src()} = 1;  
             }  
         }  
     }  
     return 1;  
 }  
   
 # ---------------------------------------------------------------- Main Handler  # ---------------------------------------------------------------- Main Handler
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;

Removed from v.1.70  
changed lines
  Added in v.1.71


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