Diff for /loncom/interface/lonindexer.pm between versions 1.189 and 1.190

version 1.189, 2009/02/26 16:17:30 version 1.190, 2009/03/17 20:07:45
Line 178  ENDSUBM Line 178  ENDSUBM
 # --------------------- define extra fields and buttons in case of special mode  # --------------------- define extra fields and buttons in case of special mode
  if ($env{'form.catalogmode'} eq 'interactive') {   if ($env{'form.catalogmode'} eq 'interactive') {
 #SB    $extrafield='<td bgcolor="'.$fileclr.'" valign="bottom">'.  #SB    $extrafield='<td bgcolor="'.$fileclr.'" valign="bottom">'.
             $extrafield='<td valign="bottom">'.              $extrafield='<td class="LC_bottom">'.
  '<img alt="" src="'.$iconpath.'whitespace1.gif"'.   '<img alt="" src="'.$iconpath.'whitespace1.gif"'.
  ' class="LC_icon" /></td>';   ' class="LC_icon" /></td>';
     $colspan=" colspan='2' ";      $colspan=" colspan='2' ";
Line 189  END Line 189  END
         }          }
  elsif ($env{'form.catalogmode'} eq 'import') {   elsif ($env{'form.catalogmode'} eq 'import') {
 #SB    $extrafield='<td bgcolor="'.$fileclr.'" valign="bottom">'.  #SB    $extrafield='<td bgcolor="'.$fileclr.'" valign="bottom">'.
             $extrafield='<td valign="bottom">'.              $extrafield='<td class="LC_bottom">'.
  '<img alt="" src="'.$iconpath.'whitespace1.gif"'.   '<img alt="" src="'.$iconpath.'whitespace1.gif"'.
  ' class="LC_icon" /></td>';   ' class="LC_icon" /></td>';
     $colspan=" colspan='2' ";      $colspan=" colspan='2' ";
Line 527  END Line 527  END
 # -------------------------------------------------------- Resource Home Button  # -------------------------------------------------------- Resource Home Button
  my $reshome=$env{'course.'.$env{'request.course.id'}.'.reshome'};   my $reshome=$env{'course.'.$env{'request.course.id'}.'.reshome'};
  if ($reshome) {   if ($reshome) {
     $r->print("<font size='+2'><a href='");      $r->print("<span class=\"LC_fontsize_small\"><a href='");
     if ($env{'form.catalogmode'} eq 'import') {      if ($env{'form.catalogmode'} eq 'import') {
  $r->print('javascript:document.forms.fileattr.action="'.&Apache::loncommon::inhibit_menu_check($reshome).'";document.forms.fileattr.submit();');   $r->print('javascript:document.forms.fileattr.action="'.&Apache::loncommon::inhibit_menu_check($reshome).'";document.forms.fileattr.submit();');
     } else {      } else {
  $r->print($reshome);   $r->print($reshome);
     }      }
     $r->print("'>".&mt('Home').'</a></font>');      $r->print("'>".&mt('Home').'</a></span>');
  }   }
  $r->print('</form>');   $r->print('</form>');
 # ------------------------------------------------------ Remember where we were  # ------------------------------------------------------ Remember where we were
Line 549  END Line 549  END
         #$r->print(&writedebug("Omit:@Omit")) if (@Omit);          #$r->print(&writedebug("Omit:@Omit")) if (@Omit);
         #$r->print(&writedebug("Only:@Only")) if (@Only);          #$r->print(&writedebug("Only:@Only")) if (@Only);
         $r->print('<br /><br />');          $r->print('<br /><br />');
         $r->print(&Apache::loncommon::start_data_table()          $r->print(&Apache::loncommon::start_data_table("LC_tableOfContent")
                  .&Apache::loncommon::start_data_table_header_row());                   .&Apache::loncommon::start_data_table_header_row());
  $r->print("<th $colspan>".&mt('Name')."</th>\n");   $r->print("<th $colspan>".&mt('Name')."</th>\n");
  $r->print("<th>".&mt('Title')."</th>\n")    $r->print("<th>".&mt('Title')."</th>\n") 
     if ($hash{'display_attrs_0'} == 1);      if ($hash{'display_attrs_0'} == 1);
  $r->print('<th align="right">'.&mt("Size")." (".&mt("bytes").") ".   $r->print('<th class="LC_right">'.&mt("Size")." (".&mt("bytes").") ".
   "</th>\n") if ($hash{'display_attrs_1'} == 1);    "</th>\n") if ($hash{'display_attrs_1'} == 1);
  $r->print("<th>".&mt("Last accessed")."</th>\n")    $r->print("<th>".&mt("Last accessed")."</th>\n") 
     if ($hash{'display_attrs_2'} == 1);      if ($hash{'display_attrs_2'} == 1);
Line 846  sub display_line { Line 846  sub display_line {
     my $fnptr = $filecom[3]&$dirptr;      my $fnptr = $filecom[3]&$dirptr;
     my $msg = &mt('View').' '.$filecom[0].' '.&mt('resources');      my $msg = &mt('View').' '.$filecom[0].' '.&mt('resources');
     $msg = &mt('Close').' '.$filecom[0].' '.&mt('directory') if $diropen eq 'opened';      $msg = &mt('Close').' '.$filecom[0].' '.&mt('directory') if $diropen eq 'opened';
       my $nowOpen = ($diropen eq 'opened' ? 1 : 0);
   
     my $tabtag='</td>';      my $tabtag='</td>';
     my $i=0;      my $i=0;
Line 877  sub display_line { Line 878  sub display_line {
  $r->print(&Apache::loncommon::inhibit_menu_check('input'));   $r->print(&Apache::loncommon::inhibit_menu_check('input'));
  $r->print ('<input type=hidden name=openuri value="'.   $r->print ('<input type=hidden name=openuri value="'.
    $startdir.'" />'."\n");     $startdir.'" />'."\n");
  $r->print ('<input type="hidden" name="acts" value="" />'."\n");          $r->print ('<input type="hidden" name="acts" value="" />'."\n");
  $r->print ('<input src="'.$iconpath.'arrow_up.gif"');   $r->print ('<a href="#" onClick="document.dirpathUP.submit()"><img src="'.$iconpath.'arrow.up.gif"');
  $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.   $r->print (' name="'.$msg.'" type="image" class="LC_icon" />'.
    "\n");     "\n");
  $r->print(&mt("Up")."</form>$tabtag");   $r->print(&mt("Up")."</a></form>$tabtag");
         $r->print(&Apache::loncommon::end_data_table_row());          $r->print(&Apache::loncommon::end_data_table_row());
  return OK;   return OK;
     }      }
Line 904  sub display_line { Line 905  sub display_line {
  my $anchor = $filecom[0];   my $anchor = $filecom[0];
  $anchor =~ s/\W//g;   $anchor =~ s/\W//g;
  $r->print ('<a name="'.$anchor.'"></a>');   $r->print ('<a name="'.$anchor.'"></a>');
  $r->print ('<input type="hidden" name="acts" value="" />');  $r->print ('<input type="hidden" name="acts" value="" />');
  $r->print ('<input src="'.$iconpath.'folder_pointer_'.   $r->print ('<a href="#" onClick="document.dirpath'.($dnum-1).'.submit()"><img src="'.$iconpath.'arrow.'.($nowOpen ? "open" : "closed" ).'.gif"'); 
    $diropen.'.gif"');    $r->print (' name="'.$msg.'" type="image" class="LC_icon" /></a>'.
  $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.  
    "\n");     "\n");
  my $quotable_filecom = &Apache::loncommon::escape_single($filecom[0]);   my $quotable_filecom = &Apache::loncommon::escape_single($filecom[0]);
  $r->print ('<a href="javascript:gothere(\''.$quotable_filecom.   $r->print ('<a href="javascript:gothere(\''.$quotable_filecom.
    '\')"><img alt="" src="'.$iconpath.'server.gif"');     '\')"><img alt="" src="'.$iconpath.'server.gif"');
  $r->print (' class="LC_icon" /></a>'."\n");   $r->print (' class="LC_icon" />'."\n");
  $r->print (&mt("Domain")." - $listname ");   $r->print (&mt("Domain")." - $listname </a>");
  if (&Apache::lonnet::domain($listname,'description')) {   if (&Apache::lonnet::domain($listname,'description')) {
     $r->print("(".&Apache::lonnet::domain($listname,'description').      $r->print("(".&Apache::lonnet::domain($listname,'description').
       ")");        ")");
Line 931  sub display_line { Line 931  sub display_line {
  $anchor =~ s/\W//g;   $anchor =~ s/\W//g;
 #SB $r->print("<tr bgcolor=\"$fileclr\">$extrafield<td valign=$valign>");  #SB $r->print("<tr bgcolor=\"$fileclr\">$extrafield<td valign=$valign>");
         $r->print(&Apache::loncommon::start_data_table_row()          $r->print(&Apache::loncommon::start_data_table_row()
                  .$extrafield.'<td valign="'.$valign.'">');                   .$extrafield.'<td class="LC_'.$valign.'">');
  &begin_form ($r,$curdir);   &begin_form ($r,$curdir);
  $r->print ('<a name="'.$anchor.'"></a><img alt="" src="'.$iconpath.   $r->print ('<a name="'.$anchor.'"></a><img alt="" src="'.$iconpath.
    'whitespace1.gif" class="LC_icon" />'."\n");     'whitespace_21.gif" class="LC_icon" />'."\n");
  $r->print ('<input type="hidden" name="acts" value="" />');   $r->print ('<input type="hidden" name="acts" value="" />');
  $r->print ('<input src="'.$iconpath.'folder_pointer_'.$diropen.   $r->print ('<a href="#" onClick="document.dirpath'.($dnum-1).'.submit()">');
    '.gif"');           $r->print ('<img src="'.$iconpath.'arrow.'.($nowOpen ? "open" : "closed" ).
  $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.     '.gif" class="LC_icon"'); 
    $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" /></a>'.
    "\n");     "\n");
  my $quotable_curdir = &Apache::loncommon::escape_single($curdir);   my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
  $r->print ('<a href="javascript:gothere(\''.$quotable_curdir   $r->print ('<a href="javascript:gothere(\''.$quotable_curdir
    .'\')"><img alt="'.$msg.'" src="'.     .'\')"><img alt="'.$msg.'" src="'.
    $iconpath.'quill.gif" class="LC_indexer_icon" /></a>');     $iconpath.'quill.gif" class="LC_indexer_icon" />');
  my $domain=(split(m|/|,$startdir))[2];   my $domain=(split(m|/|,$startdir))[2];
  my $plainname=&Apache::loncommon::plainname($listname,$domain);   my $plainname=&Apache::loncommon::plainname($listname,$domain);
  $r->print ($listname);          $r->print ($listname.'</a>');
  if (defined($plainname) && $plainname) { $r->print(" ($plainname) "); }  
  $r->print('</form>'.$tabtag);          if (defined($plainname) && $plainname) { $r->print(" ($plainname) "); }
           $r->print('</form>'.$tabtag);
         $r->print(&Apache::loncommon::end_data_table_row());          $r->print(&Apache::loncommon::end_data_table_row());
  return OK;          return OK;
     }      }
   
 # display file  # display file
     if (($fnptr == 0 and $filecom[3] ne '') or $absolute) {          if (($fnptr == 0 and $filecom[3] ne '') or $absolute) {
         my $title;              my $title;
  my $filelink = $pathprefix.$filecom[0];              my $filelink = $pathprefix.$filecom[0];
  if ($hash{'display_attrs_0'} == 1) {              if ($hash{'display_attrs_0'} == 1) {
     $title = &Apache::lonnet::gettitle($filelink);                  $title = &Apache::lonnet::gettitle($filelink);
  }              }
  my @file_ext = split (/\./,$listname);              my @file_ext = split (/\./,$listname);
  my $curfext = $file_ext[-1];              my $curfext = $file_ext[-1];
         if (@Omit) {              if (@Omit) {
             foreach (@Omit) { return OK if (lc($curfext) eq $_); }                  foreach (@Omit) { return OK if (lc($curfext) eq $_); }
         }              }
         if (@Only) {              if (@Only) {
             my $skip = 1;                  my $skip = 1;
             foreach (@Only) { $skip = 0 if (lc($curfext) eq $_); }                  foreach (@Only) { $skip = 0 if (lc($curfext) eq $_); }
             return OK if ($skip > 0);                  return OK if ($skip > 0);
         }              }
  # Set the icon for the file              # Set the icon for the file
  my $iconname = &Apache::loncommon::icon($listname);              my $iconname = &Apache::loncommon::icon($listname);
 #SB $r->print("<tr valign='$valign' bgcolor=\"$fileclr\">);  #SB $r->print("<tr valign='$valign' bgcolor=\"$fileclr\">);
  $r->print(&Apache::loncommon::start_data_table_row()); #SB valign="$valign" ?!?          $r->print(&Apache::loncommon::start_data_table_row()); #SB valign="$valign" ?!?
         $r->print('<td valign="top"><span class="LC_nobreak">');          $r->print('<td class="LC_middle LC_nobreak">');
   
         if ($env{'form.catalogmode'} eq 'interactive') {          if ($env{'form.catalogmode'} eq 'interactive') {
     my $quotable_filelink = &Apache::loncommon::escape_single($filelink);      my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
Line 982  sub display_line { Line 984  sub display_line {
                       $quotable_filelink,"')\">");                        $quotable_filelink,"')\">");
     $r->print("<img alt=\"\" src='",$iconpath,"select.gif' class='LC_icon' /></a>".      $r->print("<img alt=\"\" src='",$iconpath,"select.gif' class='LC_icon' /></a>".
       "\n");        "\n");
     $r->print('</span></td><td valign="top"><span class="LC_nobreak">');      $r->print('</td><td class="LC_middle"><span class="LC_nobreak">');
  } elsif ($env{'form.catalogmode'} eq 'import') {   } elsif ($env{'form.catalogmode'} eq 'import') {
     $r->print("<form name='form$fnum' action=''>\n");      $r->print("<form name='form$fnum' action=''>\n");
     $r->print("<input type='checkbox' name='filelink"."' ".      $r->print("<input type='checkbox' name='filelink"."' ".
Line 992  sub display_line { Line 994  sub display_line {
  $r->print("checked");   $r->print("checked");
     }      }
     $r->print(" />\n");      $r->print(" />\n");
     $r->print('</form></span></td><td valign="top"><span class="LC_nobreak">');      $r->print('</form></td><td class="LC_middle"><span class="LC_nobreak">');
     $hash{"pre_${fnum}_link"}=$filelink;      $hash{"pre_${fnum}_link"}=$filelink;
     $hash{"pre_${fnum}_title"}=$title;      $hash{"pre_${fnum}_title"}=$title;
     if (!$hash{"pre_${fnum}_title"}) {      if (!$hash{"pre_${fnum}_title"}) {
Line 1007  sub display_line { Line 1009  sub display_line {
     $indent--;      $indent--;
  }   }
 # General indentation  # General indentation
  if ($indent > 0 and $indent < 14) {  
     $r->print("<img alt=\"\" src='",$iconpath,"whitespace",$indent,  
       ".gif' class='LC_icon' />\n");  
  } elsif ($indent >0) {  
     my $ten = int($indent/10.);  
     my $rem = $indent%10.0;  
     my $count = 0;      my $count = 0;
     while ($count < $ten) {      while ($count < $indent) {
  $r->print("<img alt=\"\" src=".$iconpath.   $r->print("<img alt=\"\" src=".$iconpath.
   "whitespace10.gif class='LC_icon' />\n");    "whitespace_21.gif class='LC_icon' />\n");
     $count++;          $count++;
     }      }
     $r->print("<img alt=\"\" src=",$iconpath,"whitespace",$rem,  
       ".gif class='LC_icon' />\n") if $rem > 0;  
  }  
 # Sequence open/close icon  # Sequence open/close icon
  if ($filelink=~/\.(page|sequence)$/) {   if ($filelink=~/\.(page|sequence)$/) {
     my $curdir = $startdir.$filecom[0].'/';      my $curdir = $startdir.$filecom[0].'/';
Line 1029  sub display_line { Line 1022  sub display_line {
     $anchor =~ s/\W//g;      $anchor =~ s/\W//g;
     $r->print ('<input type="hidden" name="acts" value="" />');      $r->print ('<input type="hidden" name="acts" value="" />');
     $r->print ('<a name="'.$anchor.'"></a><input src="'.$iconpath.      $r->print ('<a name="'.$anchor.'"></a><input src="'.$iconpath.
        'folder_pointer_'.$diropen.'.gif"');         'arrow'.($nowOpen ? "open" : "closed" ).'.gif"');
     $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.      $r->print (' name="'.$msg.'" type="image" class="LC_icon" />'.
        "\n");         "\n");
  }   }
 # Filetype icons  # Filetype icons
Line 1054  sub display_line { Line 1047  sub display_line {
     $r->print('<td> '.($title eq '' ? '&nbsp;' : $title).      $r->print('<td> '.($title eq '' ? '&nbsp;' : $title).
       ' </td>'."\n");        ' </td>'."\n");
  }   }
  $r->print('<td align="right"> ',   $r->print('<td class="LC_right"> ',
   $filecom[8]," </td>\n")     $filecom[8]," </td>\n") 
     if $hash{'display_attrs_1'} == 1;      if $hash{'display_attrs_1'} == 1;
  $r->print('<td> '.   $r->print('<td class="LC_nobreak"> '.
                   (&Apache::lonlocal::locallocaltime($filecom[9]))." </td>\n")                    (&Apache::lonlocal::locallocaltime($filecom[9]))." </td>\n")
     if $hash{'display_attrs_2'} == 1;      if $hash{'display_attrs_2'} == 1;
  $r->print('<td> '.   $r->print('<td class="LC_nobreak"> '.
                   (&Apache::lonlocal::locallocaltime($filecom[10]))." </td>\n")                    (&Apache::lonlocal::locallocaltime($filecom[10]))." </td>\n")
     if $hash{'display_attrs_3'} == 1;      if $hash{'display_attrs_3'} == 1;
   
Line 1167  sub display_line { Line 1160  sub display_line {
 #SB $r->print("<tr bgcolor=\"$fileclr\">$extrafield<td valign=$valign>");  #SB $r->print("<tr bgcolor=\"$fileclr\">$extrafield<td valign=$valign>");
         $r->print(&Apache::loncommon::start_data_table_row()); # SB: bgcolor suggestion: darkgrey ("LC_info_row"?!?)          $r->print(&Apache::loncommon::start_data_table_row()); # SB: bgcolor suggestion: darkgrey ("LC_info_row"?!?)
 # $r->print('<tr class="LC_info_row">');  # $r->print('<tr class="LC_info_row">');
         $r->print($extrafield.'<td valign="'.$valign.'">');          $r->print($extrafield.'<td class="LC_middle LC_nobreak">');
  &begin_form ($r,$curdir);   &begin_form ($r,$curdir);
  my $indentm1 = $indent-1;   my $indentm1 = $indent-1;
  if ($indentm1 < 12 and $indentm1 > 0) {   my $count = 0;
     $r->print("<img alt=\"\" src=",$iconpath,"whitespace",$indentm1,   while ($count < $indentm1) {
       ".gif class='LC_icon' />\n");      $r->print ("<img alt=\"\" src=",$iconpath
  } else {                 ,"whitespace_21.gif class='LC_icon' />\n");
     my $ten = int($indentm1/10.);              $count++;
     my $rem = $indentm1%10.0;  
     my $count = 0;  
     while ($count < $ten) {  
  $r->print ("<img alt=\"\" src=",$iconpath  
    ,"whitespace10.gif class='LC_icon' />\n");  
  $count++;  
     }  
     $r->print ("<img alt=\"\" src=",$iconpath,"whitespace",$rem,  
        ".gif class='LC_icon' />\n") if $rem > 0;  
  }   }
  $r->print ('<input type="hidden" name="acts" value="" />');   $r->print ('<input type="hidden" name="acts" value="" />');
  $r->print ('<a name="'.$anchor.'"></a><input src="'.$iconpath.   $r->print ('<a name="'.$anchor.'"></a>');
    'folder_pointer_'.$diropen.'.gif"');          $r->print ('<a href="#" onClick="document.dirpath'.($dnum-1).'.submit()"><img src="'.$iconpath.
  $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.     'arrow.'.($nowOpen ? "open" : "closed" ).'.gif"');
    $r->print (' name="'.$msg.'" class="LC_icon" /></a>'.
    "\n");     "\n");
  my $quotable_curdir = &Apache::loncommon::escape_single($curdir);   my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
  $r->print ('<a href="javascript:gothere(\''          
    .$quotable_curdir.'\')">'          my $location = &Apache::loncommon::lonhttpdurl("/adm/lonIcons");
    .'<img alt="'.&mt('Open Folder').'"src="'.   my $icon = "navmap.folder.".($nowOpen ? "open":"closed").'.gif';
    $iconpath.'folder_'.$diropen.'.gif" class="LC_icon" /></a>'.          $r->print ('<a href="javascript:gothere(\''
    "\n");     .$quotable_curdir.'\')"">'
  $r->print ("$listname</form></td>\n");     .'<img alt="'.&mt('Open Folder').'" src="'.
                      $location."/".$icon.'" />'.
                      "\n");
    $r->print ("$listname</a></form></td>\n");
 # Attributes  # Attributes
  my $filelink = $startdir.$filecom[0].'/default';   my $filelink = $startdir.$filecom[0].'/default';
   
Line 1205  sub display_line { Line 1193  sub display_line {
     $r->print('<td> '.($title eq '' ? '&nbsp;' : $title).      $r->print('<td> '.($title eq '' ? '&nbsp;' : $title).
       ' </td>'."\n");        ' </td>'."\n");
  }   }
  $r->print('<td align="right"> ',   $r->print('<td class="LC_right"> ',
   $filecom[8]," </td>\n")     $filecom[8]," </td>\n") 
     if $hash{'display_attrs_1'} == 1;      if $hash{'display_attrs_1'} == 1;
  $r->print('<td> '.   $r->print('<td class="LC_break"> '.
                   (&Apache::lonlocal::locallocaltime($filecom[9]))." </td>\n")                    (&Apache::lonlocal::locallocaltime($filecom[9]))." </td>\n")
     if $hash{'display_attrs_2'} == 1;      if $hash{'display_attrs_2'} == 1;
  $r->print('<td> '.   $r->print('<td class="LC_break"> '.
                   (&Apache::lonlocal::locallocaltime($filecom[10]))." </td>\n")                    (&Apache::lonlocal::locallocaltime($filecom[10]))." </td>\n")
     if $hash{'display_attrs_3'} == 1;      if $hash{'display_attrs_3'} == 1;
   
Line 1311  sub showpreview { Line 1299  sub showpreview {
              close(FH);               close(FH);
           }            }
        }         }
        $output='<font size="-2">'.$output.'</font>';         $output='<span class="LC_fontsize_medium">'.$output.'</span>';
     } elsif ($embstyle eq 'img') {      } elsif ($embstyle eq 'img') {
        $output='<img alt="'.&mt('Preview').'" src="'.$filelink.'" />';         $output='<img alt="'.&mt('Preview').'" src="'.$filelink.'" />';
     } elsif ($filelink=~m{^/res/($match_domain)/($match_username)/}) {      } elsif ($filelink=~m{^/res/($match_domain)/($match_username)/}) {

Removed from v.1.189  
changed lines
  Added in v.1.190


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