Diff for /loncom/interface/lonindexer.pm between versions 1.90 and 1.95

version 1.90, 2004/02/05 03:42:52 version 1.95, 2004/03/28 21:01:06
Line 47  use strict; Line 47  use strict;
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
   use Apache::lonsequence();
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::lonmeta;  use Apache::lonmeta;
 use Apache::File;  use Apache::File;
Line 164  END Line 165  END
  #       selection is made.   #       selection is made.
  # $element is the name of the element in $formname which receives   # $element is the name of the element in $formname which receives
  #       the URL.   #       the URL.
  &Apache::lonxml::debug('Checking mode, form, element');   #&Apache::lonxml::debug('Checking mode, form, element');
  &setvalues(\%hash,'form.mode'        ,\%ENV,'form.mode'   );   &setvalues(\%hash,'form.mode'        ,\%ENV,'form.mode'   );
  &setvalues(\%hash,'form.form'        ,\%ENV,'form.form'   );   &setvalues(\%hash,'form.form'        ,\%ENV,'form.form'   );
  &setvalues(\%hash,'form.element'     ,\%ENV,'form.element');   &setvalues(\%hash,'form.element'     ,\%ENV,'form.element');
Line 568  sub scanDir { Line 569  sub scanDir {
     foreach my $line (@list) {      foreach my $line (@list) {
         return if ($c->aborted());          return if ($c->aborted());
  #This is a kludge, sorry aboot this   #This is a kludge, sorry aboot this
  my ($strip,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs)=split(/\&/,$line,15);    my ($strip,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); 
  next if($strip =~ /.*\.meta$/ | $obs eq '1');   next if($strip =~ /.*\.meta$/ | $obs eq '1');
  my (@fileparts) = split(/\./,$strip);   my (@fileparts) = split(/\./,$strip);
  if ($hash{'display_attrs_9'} != 1) {   if ($hash{'display_attrs_9'} != 1) {
   # if not all versions to be shown
     if (scalar(@fileparts) >= 3) {      if (scalar(@fileparts) >= 3) {
  my $fext = pop @fileparts;   my $fext = pop @fileparts;
  my $ov = pop @fileparts;   my $ov = pop @fileparts;
Line 590  sub scanDir { Line 592  sub scanDir {
     $curdir = $startdir;      $curdir = $startdir;
  }   }
  my $diropen = 'closed';   my $diropen = 'closed';
  if (($dirptr&$testdir) or ($dom =~ /^(domain|user)$/)) {   if (($dirptr&$testdir) or ($dom =~ /^(domain|user)$/) || ($compuri=~/\.(sequence|page)$/)) {
     while (my ($key,$val)= each %dupdirs) {      while (my ($key,$val)= each %dupdirs) {
  if ($key eq $compuri and $val eq "open") {   if ($key eq $compuri and $val eq "open") {
     $diropen = "opened";      $diropen = "opened";
Line 618  sub get_list { Line 620  sub get_list {
   
     if ($hash{'dirlist_files_'.$luri}) {      if ($hash{'dirlist_files_'.$luri}) {
  @list = split(/\n/,$hash{'dirlist_files_'.$luri});   @list = split(/\n/,$hash{'dirlist_files_'.$luri});
       } elsif ($uri=~/\.(page|sequence)$/) {
   # is a page or a sequence
    @list= &Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$uri)); 
    $hash{'dirlist_files_'.$luri} = join("\n",@list);
     } else {      } else {
   # is really a directory
  @list = &Apache::lonnet::dirlist($uri);   @list = &Apache::lonnet::dirlist($uri);
  $hash{'dirlist_files_'.$luri} = join("\n",@list);   $hash{'dirlist_files_'.$luri} = join("\n",@list);
     }      }
     @list=&match_ext($r,@list);      return @list=&match_ext($r,@list);
     return @list;  
 }  }
   
 sub initdebug {  sub initdebug {
Line 722  sub display_line { Line 728  sub display_line {
  $r->print(&mt("Up")." $tabtag</tr></form>\n");   $r->print(&mt("Up")." $tabtag</tr></form>\n");
  return OK;   return OK;
     }      }
 # Do we have permission to look at this?  # Do we have permission to look at this? 
       if($filecom[15] ne '1') { return OK if (!&Apache::lonnet::allowed('bre',$startdir.$filecom[0])); }
     return OK if (!&Apache::lonnet::allowed('bre',$startdir.$filecom[0]));  
   
 # display domain  # display domain
     if ($filecom[1] eq 'domain') {      if ($filecom[1] eq 'domain') {
Line 809  sub display_line { Line 814  sub display_line {
     $r->print("<img src='",$iconpath,"select.gif' border='0' /></a>".      $r->print("<img src='",$iconpath,"select.gif' border='0' /></a>".
       "\n");        "\n");
     $r->print("</td><td nowrap>");      $r->print("</td><td nowrap>");
  }   } elsif ($ENV{'form.catalogmode'} eq 'groupimport') {
         elsif ($ENV{'form.catalogmode'} eq 'groupimport') {  
     $title=$listname;      $title=$listname;
     #$title = &Apache::lonnet::metadata($filelink,'title')      #$title = &Apache::lonnet::metadata($filelink,'title')
  #if ($metafile == 1);   #if ($metafile == 1);
Line 832  sub display_line { Line 836  sub display_line {
     $hash{"pre_${fnum}_title"}=$titleesc;      $hash{"pre_${fnum}_title"}=$titleesc;
      $fnum++;       $fnum++;
  }   }
   # Form to open or close sequences
    if ($filelink=~/\.(page|sequence)$/) {
       my $curdir = $startdir.$filecom[0].'/';
       my $anchor = $curdir;
       $anchor =~ s/\///g;
       &begin_form($r,$curdir);
       $indent--;
    }
   # General indentation
  if ($indent > 0 and $indent < 11) {   if ($indent > 0 and $indent < 11) {
     $r->print("<img src=",$iconpath,"whitespace",$indent,      $r->print("<img src=",$iconpath,"whitespace",$indent,
       ".gif border='0' />\n");        ".gif border='0' />\n");
Line 848  sub display_line { Line 860  sub display_line {
     $r->print("<img src=",$iconpath,"whitespace",$rem,      $r->print("<img src=",$iconpath,"whitespace",$rem,
       ".gif border='0' />\n") if $rem > 0;        ".gif border='0' />\n") if $rem > 0;
  }   }
   # Sequence open/close icon
    if ($filelink=~/\.(page|sequence)$/) {
       my $curdir = $startdir.$filecom[0].'/';
       my $anchor = $curdir;
       $anchor =~ s/\///g;
       $r->print ('<input type="hidden" name="acts" value="">');
       $r->print ('<a name="'.$anchor.'"><input src="'.$iconpath.
          'folder_pointer_'.$diropen.'.gif"');
       $r->print (' name="'.$msg.'" height="22" type="image" border="0">'.
          "\n");
    }
   # Filetype icons
  $r->print("<img src='$iconname' border='0' />\n");   $r->print("<img src='$iconname' border='0' />\n");
   # Close form to open/close sequence
    if ($filelink=~/\.(page|sequence)$/) {
       $r->print('</form>');
    }
  $r->print (" <a href=\"javascript:openWindow('".$filelink.   $r->print (" <a href=\"javascript:openWindow('".$filelink.
    "', 'previewfile', '450', '500', 'no', 'yes','yes')\";".     "', 'previewfile', '450', '500', 'no', 'yes','yes')\";".
    " TARGET=_self>$listname</a> ");     " TARGET=_self>$listname</a> ");

Removed from v.1.90  
changed lines
  Added in v.1.95


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