Diff for /loncom/interface/lonindexer.pm between versions 1.121 and 1.125

version 1.121, 2004/07/26 22:38:16 version 1.125, 2004/10/20 10:51:50
Line 73  my @Only = (); Line 73  my @Only = ();
 my @Omit = ();  my @Omit = ();
   
   
   
   #
   #    Escapes strings that may have embedded 's that will be put into
   #    javascript strings as 'strings'.
   #    The assumptions are:
   #       There has been no effort to escape ' with \'
   #       Any \'s in the string are intended to be there as part of the URL
   #        and must also be escaped.
   # Parameters:
   #     input     - The string to escape.
   # Returns:
   #     The escaped string (' replaced by \' and \ replaced by \\).
   #
   sub javascript_escape {
       my ($input) = @_;
   
       #  I imagine a regexp wizard could combine the two expressions below.
       #  If you do you might want to comment the result.
   
       $input =~ s/\\/\\\\/g; # Escape the /'s..(must be first)>
       $input =~ s/\'/\\\'/g; # Esacpe the 's....
   
       return $input;
   }
   
   
   
 # ----------------------------- Handling routine called via Apache and mod_perl  # ----------------------------- Handling routine called via Apache and mod_perl
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 147  sub handler { Line 174  sub handler {
  <html>   <html>
  <script type="text/javascript">   <script type="text/javascript">
  function load() {   function load() {
  window.opener.document.forms["$ENV{'form.form'}"].elements["$ENV{'form.element'}"].value='$ENV{'form.acts'}';   window.opener.document.forms["$ENV{'form.form'}"]
       .elements["$ENV{'form.element'}"]
       .value='$ENV{'form.acts'}';
  $extra   $extra
  window.close();   window.close();
  }   }
Line 179  END Line 208  END
  ' border="0" /></td>';   ' border="0" /></td>';
     $colspan=" colspan='2' ";      $colspan=" colspan='2' ";
     my $cl=&mt('Close');      my $cl=&mt('Close');
             my $gi=&mt('Group Import');              my $gi=&mt('Import');
             $closebutton=<<END;              $closebutton=<<END;
 <input type="button" name="close" value='$cl' onClick="self.close()">  <input type="button" name="close" value='$cl' onClick="self.close()">
 END  END
Line 445  $r->print(&Apache::loncommon::bodytag('B Line 474  $r->print(&Apache::loncommon::bodytag('B
  $r->print(<<END);   $r->print(<<END);
 <form method="post" name="fileattr" action="$uri"  <form method="post" name="fileattr" action="$uri"
  enctype="application/x-www-form-urlencoded">   enctype="application/x-www-form-urlencoded">
 <input type="checkbox" name="attr9" value="1" $attrchk[9] onClick="this.form.submit();" /> $lt{'av'}  <label><input type="checkbox" name="attr9" value="1" $attrchk[9] onClick="this.form.submit();" /> $lt{'av'}</label>
 <table border="0">  <table border="0">
 <tr>  <tr>
 <td><input type="checkbox" name="attr0" value="1" $attrchk[0] onClick="this.form.submit();" /> $lt{'ti'}</td>  <td><label><input type="checkbox" name="attr0" value="1" $attrchk[0] onClick="this.form.submit();" /> $lt{'ti'}</label></td>
 <td><input type="checkbox" name="attr4" value="1" $attrchk[4] onClick="this.form.submit();" /> $lt{'au'}</td>  <td><label><input type="checkbox" name="attr4" value="1" $attrchk[4] onClick="this.form.submit();" /> $lt{'au'}</label></td>
 <td><input type="checkbox" name="attr5" value="1" $attrchk[5] onClick="this.form.submit();" /> $lt{'kw'}</td>  <td><label><input type="checkbox" name="attr5" value="1" $attrchk[5] onClick="this.form.submit();" /> $lt{'kw'}</label></td>
 <td><input type="checkbox" name="attr6" value="1" $attrchk[6] onClick="this.form.submit();" /> $lt{'ln'}</td>  <td><label><input type="checkbox" name="attr6" value="1" $attrchk[6] onClick="this.form.submit();" /> $lt{'ln'}</label></td>
 </tr>  </tr>
 <tr>  <tr>
 <td><input type="checkbox" name="attr1" value="1" $attrchk[1] onClick="this.form.submit();" /> $lt{'si'}</td>  <td><label><input type="checkbox" name="attr1" value="1" $attrchk[1] onClick="this.form.submit();" /> $lt{'si'}</label></td>
 <td><input type="checkbox" name="attr2" value="1" $attrchk[2] onClick="this.form.submit();" /> $lt{'la'}</td>  <td><label><input type="checkbox" name="attr2" value="1" $attrchk[2] onClick="this.form.submit();" /> $lt{'la'}</label></td>
 <td><input type="checkbox" name="attr3" value="1" $attrchk[3] onClick="this.form.submit();" /> $lt{'lm'}</td>  <td><label><input type="checkbox" name="attr3" value="1" $attrchk[3] onClick="this.form.submit();" /> $lt{'lm'}</label></td>
 <td><input type="checkbox" name="attr10" value="1" $attrchk[10] onClick="this.form.submit();" /> $lt{'sa'}</td>  <td><label><input type="checkbox" name="attr10" value="1" $attrchk[10] onClick="this.form.submit();" /> $lt{'sa'}</label></td>
 </tr>  </tr>
 <tr>  <tr>
 <td><input type="checkbox" name="attr8" value="1" $attrchk[8] onClick="this.form.submit();" /> $lt{'st'}</td>  <td><label><input type="checkbox" name="attr8" value="1" $attrchk[8] onClick="this.form.submit();" /> $lt{'st'}</label></td>
 <td><input type="checkbox" name="attr11" value="1" $attrchk[11] onClick="this.form.submit();" /> $lt{'li'}</td>  <td><label><input type="checkbox" name="attr11" value="1" $attrchk[11] onClick="this.form.submit();" /> $lt{'li'}</label></td>
 <td><input type="checkbox" name="attr7" value="1" $attrchk[7] onClick="this.form.submit();" /> $lt{'sr'}</td>  <td><label><input type="checkbox" name="attr7" value="1" $attrchk[7] onClick="this.form.submit();" /> $lt{'sr'}</label></td>
 <td>&nbsp;</td>  <td>&nbsp;</td>
 </tr>  </tr>
 </table>  </table>
Line 668  sub get_list { Line 697  sub get_list {
   
     if (defined($hash{'dirlist_files_'.$luri}) &&      if (defined($hash{'dirlist_files_'.$luri}) &&
  $hash{'dirlist_timestamp_files_'.$luri}+600 > (time)) {   $hash{'dirlist_timestamp_files_'.$luri}+600 > (time)) {
  &Apache::lonnet::logthis("using old n:".time." s:".$hash{'dirlist_timestamp_files_'.$luri});  
  @list = split(/\n/,$hash{'dirlist_files_'.$luri});   @list = split(/\n/,$hash{'dirlist_files_'.$luri});
     } elsif ($uri=~/\.(page|sequence)\/$/) {      } elsif ($uri=~/\.(page|sequence)\/$/) {
 # is a page or a sequence  # is a page or a sequence
Line 682  sub get_list { Line 710  sub get_list {
  $hash{'dirlist_files_'.$luri} = join("\n",@list);   $hash{'dirlist_files_'.$luri} = join("\n",@list);
     } else {      } else {
 # is really a directory  # is really a directory
  &Apache::lonnet::logthis("getting fresh n:".time." s:".$hash{'dirlist_timestamp_files_'.$luri});  
  @list = &Apache::lonnet::dirlist($uri);   @list = &Apache::lonnet::dirlist($uri);
  $hash{'dirlist_files_'.$luri} = join("\n",@list);   $hash{'dirlist_files_'.$luri} = join("\n",@list);
  $hash{'dirlist_timestamp_files_'.$luri} = time;   $hash{'dirlist_timestamp_files_'.$luri} = time;
Line 844  sub display_line { Line 871  sub display_line {
    $diropen.'.gif"');      $diropen.'.gif"'); 
  $r->print (' name="'.$msg.'" height="22" type="image" border="0">'.   $r->print (' name="'.$msg.'" height="22" type="image" border="0">'.
    "\n");     "\n");
  $r->print ('<a href="javascript:gothere(\''.$filecom[0].   my $quotable_filecom = &javascript_escape($filecom[0]);
    $r->print ('<a href="javascript:gothere(\''.$quotable_filecom.
    '\')"><img src="'.$iconpath.'server.gif"');     '\')"><img src="'.$iconpath.'server.gif"');
  $r->print (' border="0" /></a>'."\n");   $r->print (' border="0" /></a>'."\n");
  $r->print (&mt("Domain")." - $listname ");   $r->print (&mt("Domain")." - $listname ");
Line 871  sub display_line { Line 899  sub display_line {
    '.gif"');      '.gif"'); 
  $r->print (' name="'.$msg.'" height="22" type="image" border="0">'.   $r->print (' name="'.$msg.'" height="22" type="image" border="0">'.
    "\n");     "\n");
  $r->print ('<a href="javascript:gothere(\''.$curdir.'\')"><img src='.   my $quotable_curdir = &javascript_escape($curdir);
    $r->print ('<a href="javascript:gothere(\''.$quotable_curdir
      .'\')"><img src='.
    $iconpath.'quill.gif border="0" name="'.$msg.     $iconpath.'quill.gif border="0" name="'.$msg.
    '" height="22" /></a>');     '" height="22" /></a>');
  my $domain=(split(m|/|,$startdir))[2];   my $domain=(split(m|/|,$startdir))[2];
Line 900  sub display_line { Line 930  sub display_line {
  $r->print("<tr valign='$valign' bgcolor=$fileclr><td nowrap='1' align='top'>");   $r->print("<tr valign='$valign' bgcolor=$fileclr><td nowrap='1' align='top'>");
   
         if ($ENV{'form.catalogmode'} eq 'interactive') {          if ($ENV{'form.catalogmode'} eq 'interactive') {
       my $quotable_filelink = &javascript_escape($filelink);
             $r->print("<a href=\"javascript:select_data(\'",              $r->print("<a href=\"javascript:select_data(\'",
                       $filelink,"')\">");                        $quotable_filelink,"')\">");
     $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>");
Line 960  sub display_line { Line 991  sub display_line {
  if ($filelink=~/\.(page|sequence)$/) {   if ($filelink=~/\.(page|sequence)$/) {
     $r->print('</form>');      $r->print('</form>');
  }   }
  $r->print (" <a href=\"javascript:openWindow('".$filelink.   my $quotable_filelink = &javascript_escape($filelink);
   
   
    $r->print (" <a href=\"javascript:openWindow('".$quotable_filelink.
    "', 'previewfile', '450', '500', 'no', 'yes','yes')\";".     "', 'previewfile', '450', '500', 'no', 'yes','yes')\";".
    " TARGET=_self>$listname</a> ");     " TARGET=_self>$listname</a> ");
   
  $r->print (" (<a href=\"javascript:openWindow('".$filelink.   $r->print (" (<a href=\"javascript:openWindow('".$quotable_filelink.
    ".meta', 'metadatafile', '500', '550', 'no', 'yes','no')\"; ".     ".meta', 'metadatafile', '500', '550', 'no', 'yes','no')\"; ".
    "TARGET=_self>metadata</a>) ");     "TARGET=_self>metadata</a>) ");
  $r->print("</td>\n");   $r->print("</td>\n");
Line 1024  sub display_line { Line 1058  sub display_line {
     my $source = &Apache::lonnet::metadata($filelink,'sourceavail');      my $source = &Apache::lonnet::metadata($filelink,'sourceavail');
     if($source eq 'open') {      if($source eq 'open') {
  my $sourcelink = &Apache::lonsource::make_link($filelink,$listname);   my $sourcelink = &Apache::lonsource::make_link($filelink,$listname);
  $r->print('<td>'."<a href=\"javascript:openWindow('".$sourcelink.   my $quotable_sourcelink = &javascript_escape($sourcelink);
    $r->print('<td>'."<a href=\"javascript:openWindow('"
     .$quotable_sourcelink.
   "', 'previewsource', '700', '700', 'no', 'yes','yes')\";".    "', 'previewsource', '700', '700', 'no', 'yes','yes')\";".
   " TARGET=_self>Yes</a> "."</td>\n");    " TARGET=_self>Yes</a> "."</td>\n");
     } else { #A cuddled else. :P      } else { #A cuddled else. :P
Line 1101  sub display_line { Line 1137  sub display_line {
    'folder_pointer_'.$diropen.'.gif"');     'folder_pointer_'.$diropen.'.gif"');
  $r->print (' name="'.$msg.'" height="22" type="image" border="0">'.   $r->print (' name="'.$msg.'" height="22" type="image" border="0">'.
    "\n");     "\n");
  $r->print ('<a href="javascript:gothere(\''.$curdir.'\')"><img src="'.   my $quotable_curdir = &javascript_escape($curdir);
    $r->print ('<a href="javascript:gothere(\''
      .$quotable_curdir.'\')"><img src="'.
    $iconpath.'folder_'.$diropen.'.gif" border="0" /></a>'.     $iconpath.'folder_'.$diropen.'.gif" border="0" /></a>'.
    "\n");     "\n");
  $r->print ("$listname</td>\n");   $r->print ("$listname</td>\n");

Removed from v.1.121  
changed lines
  Added in v.1.125


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