Diff for /loncom/interface/groupsort.pm between versions 1.68 and 1.68.6.4

version 1.68, 2011/07/04 09:24:58 version 1.68.6.4, 2013/01/08 03:51:06
Line 37  use GDBM_File; Line 37  use GDBM_File;
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonnet;  use Apache::lonnet;
 use LONCAPA;  use LONCAPA qw(:DEFAULT :match);
   
 my $iconpath; # variable to be accessible to multiple subroutines  my $iconpath; # variable to be accessible to multiple subroutines
 my %hash; # variable to tie to user specific database  my %hash; # variable to tie to user specific database
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;          my ($token,$donechk,%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)$/) {
                               unless ($donechk) {
                                   $donechk = &get_allmaps(\%allmaps);
                               }
                               if ($allmaps{$token->[2]->{'src'}}) { next; }
                           }
     } else {      } else {
  if ($token->[2]->{'type'} eq 'zombie') { next; }   if ($token->[2]->{'type'} eq 'zombie') { next; }
     }      }
Line 181  sub readfromfile { Line 187  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 {
Line 411  END Line 445  END
     $r->print("<td>");      $r->print("<td>");
     $r->print("<img src='$iconname' />");      $r->print("<img src='$iconname' />");
     $r->print("</td><td>");      $r->print("</td><td>");
     $r->print($resource->{'title'}.$resource->{'notes'}."</td><td>\n");              if (($env{'form.recover'}) &&
                   ($resource->{'url'} =~ m{/uploaded/$match_domain/$match_courseid/supplemental/})) {
                   my $title = &Apache::loncommon::parse_supplemental_title($resource->{'title'});
                   $r->print($title);
               } else {
                   $r->print($resource->{'title'});
               }
       $r->print($resource->{'notes'}."</td><td>\n");
     $r->print($resource->{'url'}."</td>"      $r->print($resource->{'url'}."</td>"
                      .&Apache::loncommon::end_data_table_row()                       .&Apache::loncommon::end_data_table_row()
                      ."\n");                       ."\n");

Removed from v.1.68  
changed lines
  Added in v.1.68.6.4


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