Diff for /loncom/interface/lonindexer.pm between versions 1.197 and 1.215

version 1.197, 2009/04/22 17:19:10 version 1.215, 2012/07/11 12:51:36
Line 120  sub handler { Line 120  sub handler {
     my $colspan='';       my $colspan=''; 
           
     $extrafield='';      $extrafield='';
     my $diropendb =       my $diropendb = LONCAPA::tempdir() .
  "/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_sel_res.db";   "$env{'user.domain'}_$env{'user.name'}_sel_res.db";
     %hash = ();      %hash = ();
     {      {
  my %dbfile;   my %dbfile;
Line 165  sub handler { Line 165  sub handler {
 ENDSUBM  ENDSUBM
        $r->print(&Apache::loncommon::start_page(undef,$js,         $r->print(&Apache::loncommon::start_page(undef,$js,
  {'only_body'   =>1,   {'only_body'   =>1,
                                                    'add_modal' => 1,
                                                    'add_wishlist' => 1,
  'add_entries' =>   'add_entries' =>
      {'onload' => "load();"},}       {'onload' => "load();"},}
  ).   ).
Line 184  ENDSUBM Line 186  ENDSUBM
     $colspan=" colspan='2' ";      $colspan=" colspan='2' ";
             my $cl=&mt('Close');              my $cl=&mt('Close');
             $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
         }          }
  elsif ($env{'form.catalogmode'} eq 'import') {   elsif ($env{'form.catalogmode'} eq 'import') {
Line 196  END Line 198  END
     my $cl=&mt('Close');      my $cl=&mt('Close');
             my $gi=&mt('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
             $groupimportbutton=<<END;              $groupimportbutton=<<END;
 <input type="button" name="groupimport" value='$gi'  <input type="button" name="groupimport" value='$gi'
 onClick="javascript:select_group()" />  onclick="javascript:select_group()" />
 END  END
         }          }
  # Additions made by Matthew to make the browser a little easier to deal   # Additions made by Matthew to make the browser a little easier to deal
Line 321  function select_group() { Line 323  function select_group() {
   
 function changeURL(val) {  function changeURL(val) {
     if (window.opener.document) {      if (window.opener.document) {
         var elementname  = "$element"+"_value";          var elementname  = "$element";
         var checkboxname = "$element"+"_setparmval";  
  window.opener.document.forms["$form"].elements[elementname].value=val;   window.opener.document.forms["$form"].elements[elementname].value=val;
         window.opener.document.forms["$form"].elements[checkboxname].checked=true;  
     } else {      } else {
     alert("The file you selected is: "+val);      alert("The file you selected is: "+val);
     }      }
Line 361  END Line 361  END
                   
  my $js = <<"ENDHEADER";   my $js = <<"ENDHEADER";
 <script type="text/javascript">  <script type="text/javascript">
   // <![CDATA[
 $catalogmodefunctions;  $catalogmodefunctions;
 function update_only(field) {  function update_only(field) {
     alert(field.name);      alert(field.name);
Line 391  function uncheckAll() { Line 392  function uncheckAll() {
         }          }
     }      }
 }  }
   
 function openWindow(url, wdwName, w, h, toolbar,scrollbar,locationbar) {  function openWindow(url, wdwName, w, h, toolbar,scrollbar,locationbar) {
     var xpos = (screen.width-w)/2;      var xpos = (screen.width-w)/2;
     xpos = (xpos < 0) ? '0' : xpos;      xpos = (xpos < 0) ? '0' : xpos;
Line 402  function openWindow(url, wdwName, w, h, Line 404  function openWindow(url, wdwName, w, h,
     var newWin = window.open(url, wdwName, options);      var newWin = window.open(url, wdwName, options);
     newWin.focus();      newWin.focus();
 }  }
   
 function gothere(val) {  function gothere(val) {
     window.location=val+'?acts='+document.forms.fileattr.acts.value$inhibit_menu;      window.location=val+'?acts='+document.forms.fileattr.acts.value$inhibit_menu;
 }  }
   // ]]>
 </script>  </script>
 ENDHEADER  ENDHEADER
   
         my ($headerdom)=($uri=~m{^/res/($match_domain)/});          my ($headerdom)=($uri=~m{^/res/($match_domain)/});
  $r->print(&Apache::loncommon::start_page('Content Library',$js,  
  {'domain' => $headerdom,}));          if ($env{'form.catalogmode'}) {
               # "Popup mode"
               $r->print(&Apache::loncommon::start_page('Browse published resources',$js,
                                                        {'only_body' => 1, 'add_wishlist'=>1, 'add_modal' =>1, 
                                                         'domain' => $headerdom,}));
           } else {
               # Only display page header and breadcrumbs in non-popup mode
               &Apache::lonhtmlcommon::clear_breadcrumbs();
   #
   # FIXME: hard link to fhwfdev?
   #
   #
   
               &Apache::lonhtmlcommon::add_breadcrumb({
                   'text'  => 'Browse published resources',
                   'href'  => '/res/fhwfdev/?launch=1',
               });
               $r->print(&Apache::loncommon::start_page('Browse published resources',$js,
                                                        {'domain' => $headerdom,})
                        .&Apache::lonhtmlcommon::breadcrumbs()
               );
           }
   
 # ---------------------------------- get state of file types to be showing  # ---------------------------------- get state of file types to be showing
  if ($env{'form.only'}) {   if ($env{'form.only'}) {
     $typeselect = $env{'form.only'};      $typeselect = $env{'form.only'};
Line 429  ENDHEADER Line 455  ENDHEADER
     }      }
  } else {   } else {
     for (my $i=0; $i<=16; $i++) {      for (my $i=0; $i<=16; $i++) {
  $attrchk[$i] = 'checked' if $hash{'display_attrs_'.$i} == 1;   $attrchk[$i] = 'checked="checked"' if $hash{'display_attrs_'.$i} == 1;
     }      }
  }   }
   
           my @file_categories = &Apache::loncommon::filecategories();
           my %select_file_categories;
           my @select_form_order = ('');
           $select_file_categories{''} = &mt('All file types');
           foreach my $cat (@file_categories) {
               my $types = join(",",&Apache::loncommon::filecategorytypes($cat));
               $select_file_categories{$types} = &mt($cat);
               push(@select_form_order,$types);
           }
           $select_file_categories{'select_form_order'} = \@select_form_order;
           my $onchange = 'this.form.submit();';
           my $type_element=
               &Apache::loncommon::select_form(
                   $typeselect,
                   'only',
                   \%select_file_categories,$onchange);
           my $type_selector = '<label>'.&mt('File Type Displayed: [_1]',
                                             $type_element).'</label>';
   
 # ------------------------------- output state of file attributes to be showing  # ------------------------------- output state of file attributes to be showing
 #                                 All versions has to the last item  #                                 All versions has to the last item
 #                                 since it does not take an extra col  #                                 since it does not take an extra col
  my %lt=&Apache::lonlocal::texthash(   my %lt=&Apache::lonlocal::texthash(
    'ti' => 'Title',  
    'si' => 'Size',  
    'la' => 'Last access',  
    'lm' => 'Last modified',  
    'st' => 'Statistics',  
    'au' => 'Author',  
    'kw' => 'Keywords',  
    'sb' => 'Subject',  
    'nt' => 'Notes',  
    'ab' => 'Abstract',  
    'ln' => 'Language',  
    'gl' => 'Grade Level',  
    'sd' => 'Standards',  
    'sa' => 'Source Available',  
    'sr' => 'Show resource',  
    'li' => 'Linked/Related Resources',  
    'av' => 'All versions',     'av' => 'All versions',
    'ud' => 'Update Display',     'ud' => 'Update Display',
    'pr' => 'Problems',     'pr' => 'Problems',
Line 460  ENDHEADER Line 489  ENDHEADER
    'at' => 'All types',     'at' => 'All types',
    'hd' => 'Display Options'     'hd' => 'Display Options'
    );     );
  $r->print(<<END);          my @disp_order = ('0','4','5','6','13','1','2','3','10','14','8','11','7','12','15','16');
           my %disp_options = &Apache::lonlocal::texthash (
                                 0  => 'Title',
                                 4  => 'Author',
                                 5  => 'Keywords',
                                 6  => 'Language',
                                 13 => 'Notes',
                                 1  => 'Size',
                                 2  => 'Last access',
                                 3  => 'Last modified',
                                 10 => 'Source Available',
                                 14 => 'Abstract',
                                 8  => 'Statistics',
                                 11 => 'Linked/Related Resources',
                                 7  => 'Show resource',
                                 12 => 'Subject',
                                 15 => 'Grade Level',
                                 16 => 'Standards',
                              );
           my $cell = 0;
           my $numinrow = 4;
    $r->print('
   <form method="post" name="fileattr" action="'.$uri.'" enctype="application/x-www-form-urlencoded">
 <fieldset>  <fieldset>
 <legend>$lt{'hd'}</legend>  <legend>'.$lt{'hd'}.'</legend>
 <form method="post" name="fileattr" action="$uri"  <table style=" border-collapse: collapse; border-style: none;">'."\n");
  enctype="application/x-www-form-urlencoded">          foreach my $item (@disp_order) {
 <label><input type="checkbox" name="attr9" value="1" $attrchk[9] onClick="this.form.submit();" /> $lt{'av'}</label>              my $style = 'padding-left: 12px; padding-right: 8px;';
 <table border="0">              if ($cell%$numinrow == 0) {
 <tr>                  $r->print('<tr>');
 <td><label><input type="checkbox" name="attr0" value="1" $attrchk[0] onClick="this.form.submit();" /> $lt{'ti'}</label></td>              }
 <td><label><input type="checkbox" name="attr4" value="1" $attrchk[4] onClick="this.form.submit();" /> $lt{'au'}</label></td>              $cell ++;
 <td><label><input type="checkbox" name="attr5" value="1" $attrchk[5] onClick="this.form.submit();" /> $lt{'kw'}</label></td>              if ($cell > 3 * $numinrow) {
 <td><label><input type="checkbox" name="attr6" value="1" $attrchk[6] onClick="this.form.submit();" /> $lt{'ln'}</label></td>                  $style .= ' padding-bottom: 6px;'; 
 <td><label><input type="checkbox" name="attr13" value="1" $attrchk[13] onClick="this.form.submit();" /> $lt{'nt'}</label></td>              }
 <td><label><input type="checkbox" name="attr16" value="1" $attrchk[16] onClick="this.form.submit();" /> $lt{'sd'}</label></td>              if (defined($disp_options{$item})) {
 </tr>                  $r->print('<td style="'.$style.'"><span class="LC_nobreak">'.
 <tr>                            '<label><input type="checkbox" name="attr'.$item.'" value="1" '.
 <td><label><input type="checkbox" name="attr1" value="1" $attrchk[1] onClick="this.form.submit();" /> $lt{'si'}</label></td>                            $attrchk[$item].' onclick="this.form.submit();" /> '.$disp_options{$item}.
 <td><label><input type="checkbox" name="attr2" value="1" $attrchk[2] onClick="this.form.submit();" /> $lt{'la'}</label></td>                            '</label></span></td>'."\n");
 <td><label><input type="checkbox" name="attr3" value="1" $attrchk[3] onClick="this.form.submit();" /> $lt{'lm'}</label></td>              }
 <td><label><input type="checkbox" name="attr10" value="1" $attrchk[10] onClick="this.form.submit();" /> $lt{'sa'}</label></td>              if ($cell > 1 && $cell%$numinrow == 0) {
 <td><label><input type="checkbox" name="attr14" value="1" $attrchk[14] onClick="this.form.submit();" /> $lt{'ab'}</label></td>                  $r->print('</tr>');
 <td>&nbsp;</td>              }
 </tr>          }
           $r->print(<<END);
 <tr>  <tr>
 <td><label><input type="checkbox" name="attr8" value="1" $attrchk[8] onClick="this.form.submit();" /> $lt{'st'}</label></td>  <td style="font-style: italic; border-top: 1px solid black; padding-top: 6px"> 
 <td><label><input type="checkbox" name="attr11" value="1" $attrchk[11] onClick="this.form.submit();" /> $lt{'li'}</label></td>  <label><input type="checkbox" name="attr9" value="1" $attrchk[9] onclick="this.form.submit();" /> $lt{'av'}</label>
 <td><label><input type="checkbox" name="attr7" value="1" $attrchk[7] onClick="this.form.submit();" /> $lt{'sr'}</label></td>  </td>
 <td><label><input type="checkbox" name="attr12" value="1" $attrchk[12] onClick="this.form.submit();" /> $lt{'sb'}</label></td>  <td colspan="3" style="padding-left:8px; padding-top: 4px; font-style: italic; border-top: 1px solid black; padding-top: 8px">$type_selector</td>
 <td><label><input type="checkbox" name="attr15" value="1" $attrchk[15] onClick="this.form.submit();" /> $lt{'gl'}</label></td>  
 <td>&nbsp;</td>  
 </tr>  </tr>
 </table>  </table>
 <input type="hidden" name="attrs" value="1" />  <input type="hidden" name="attrs" value="1" />
 END  </fieldset>
         my @file_categories = &Apache::loncommon::filecategories();  
         my %select_file_categories;  
         my @select_form_order = ('');  
         $select_file_categories{''} = &mt('All file types');  
         foreach my $cat (@file_categories) {  
     my $types = join(",",&Apache::loncommon::filecategorytypes($cat));  
     $select_file_categories{$types} = $cat;  
     push(@select_form_order,$types);  
  }  
         $select_file_categories{'select_form_order'} = \@select_form_order;  
         my $type_element=  
     &Apache::loncommon::select_form($typeselect,'only',  
     %select_file_categories);  
         $type_element = '<label>'.&mt('File Type Displayed: [_1]',  
       $type_element).'</label>';  
         $r->print($type_element  
                  .'</fieldset>');  
         $r->print(<<END);  
 <br />  
 <input type="submit" name="updatedisplay" value="$lt{'ud'}" />  <input type="submit" name="updatedisplay" value="$lt{'ud'}" />
 <input type="hidden" name="acts" value="" />  <input type="hidden" name="acts" value="" />
 $closebutton $groupimportbutton  $closebutton $groupimportbutton
Line 524  END Line 555  END
  $storeuri='/'.(split(/\.(page|sequence)\/\//,$uri))[-1];   $storeuri='/'.(split(/\.(page|sequence)\/\//,$uri))[-1];
  $storeuri=~s/\/+/\//g;   $storeuri=~s/\/+/\//g;
 # ---------------------------------------------------------------- Bread crumbs  # ---------------------------------------------------------------- Bread crumbs
         $r->print(&Apache::lonhtmlcommon::crumbs($storeuri,'','',          $r->print(
  (($env{'form.catalogmode'} eq 'import')?              '<p>'
  'document.forms.fileattr':'')).             .&Apache::lonhtmlcommon::crumbs(
   &Apache::lonhtmlcommon::select_recent('residx','resrecent',                  $storeuri,
 'window.status=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.action=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.submit();'));                  '',
                   '',
                   (($env{'form.catalogmode'} eq 'import')?
                                    'document.forms.fileattr':''))
              .'<br />'
              .&Apache::lonhtmlcommon::select_recent(
                   'residx',
                   'resrecent',
                   'window.status=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.action=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.submit();')
              .'</p>'
           );
 # -------------------------------------------------------- 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) {
Line 546  END Line 587  END
  &Apache::lonhtmlcommon::store_recent('residx',$storeuri,$storeuri);   &Apache::lonhtmlcommon::store_recent('residx',$storeuri,$storeuri);
 # -------------------------------------------------- Check All and Uncheck all  # -------------------------------------------------- Check All and Uncheck all
  if ($env{'form.catalogmode'} eq 'import') {   if ($env{'form.catalogmode'} eq 'import') {
     $r->print('<br /><input type="button" value="'.&mt("Check All").'" id="checkallbutton" onClick="javascript:checkAll()" />');      $r->print('<p><input type="button" value="'.&mt("Check All").'" id="checkallbutton" onclick="javascript:checkAll()" />');
     $r->print('<input type="button" value="'.&mt("Uncheck All").'" id="uncheckallbutton" onClick="javascript:uncheckAll()" />');      $r->print('<input type="button" value="'.&mt("Uncheck All").'" id="uncheckallbutton" onclick="javascript:uncheckAll()" /></p>');
  }   }
 # ----------------- output starting row to the indexed file/directory hierarchy  # ----------------- output starting row to the indexed file/directory hierarchy
         #$r->print(&initdebug());          #$r->print(&initdebug());
         #$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(&Apache::loncommon::start_data_table("LC_tableBrowseRes")          $r->print(&Apache::loncommon::start_data_table("LC_tableBrowseRes")
                  .&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></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 class="LC_right">'.&mt("Size")." (".&mt("bytes").") ".   $r->print('<th class="LC_right">'.&mt("Size")." (".&mt("bytes").") ".
Line 723  sub scanDir { Line 764  sub scanDir {
 sub get_list {  sub get_list {
     my ($r,$uri)=@_;      my ($r,$uri)=@_;
     my @list=();      my @list=();
       my $listerror;
       
     (my $luri = $uri) =~ s/\//_/g;      (my $luri = $uri) =~ s/\//_/g;
     if ($env{'form.updatedisplay'}) {      if ($env{'form.updatedisplay'}) {
  foreach (keys %hash) {   foreach (keys %hash) {
Line 746  sub get_list { Line 789  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
  @list = &Apache::lonnet::dirlist($uri);   (my $listref,$listerror) = &Apache::lonnet::dirlist($uri);
           if (ref($listref) eq 'ARRAY') {
               @list = @{$listref};
           }
  $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;
     }      }
   #Checking for error messages associated with empty directories or inaccessible servers (See Bug 4984)
       if (($listerror eq 'no_such_dir') || ($listerror eq 'no_such_host') || ($listerror eq 'no_host')) { 
           $r->print("<p class='LC_info'>" . &mt("Directory does not exist."). "</p>");
       } elsif ($listerror eq 'con_lost') {
           $r->print("<p class='LC_info'>" . &mt("Directory temporarily not accessible."). "</p>");
       }
   
     return @list=&match_ext($r,@list);          return @list=&match_ext($r,@list);    
 }  }
   
Line 880  sub display_line { Line 933  sub display_line {
  $r->print("<td>\n");   $r->print("<td>\n");
  $r->print ('<form method="post" name="dirpathUP" action="'.$updir.   $r->print ('<form method="post" name="dirpathUP" action="'.$updir.
    '/" '.     '/" '.
    'onSubmit="return rep_dirpath(\'UP\','.     'onsubmit="return rep_dirpath(\'UP\','.
    'document.forms.fileattr.acts.value)" '.     'document.forms.fileattr.acts.value)" '.
    'enctype="application/x-www-form-urlencoded"'.     'enctype="application/x-www-form-urlencoded"'.
                    '>'."\n");                     '>'."\n");
Line 888  sub display_line { Line 941  sub display_line {
  $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 ('<a href="#" onClick="document.dirpathUP.submit()"><img 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_fileicon" />'.   $r->print (' alt="'.$msg.'" class="LC_fileicon" />'.
    "\n");     "\n");
  $r->print(&mt("Up")."</a></form>$tabtag");   $r->print(&mt("Up")."</a></form></td><td>$tabtag");
         $r->print(&Apache::loncommon::end_data_table_row());          $r->print(&Apache::loncommon::end_data_table_row());
  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',$pathprefix.$filecom[0])) && (!&Apache::lonnet::allowed('bro',$pathprefix.$filecom[0]))); }
     if($filecom[15] ne '1') { return OK if (!&Apache::lonnet::allowed('bre',$pathprefix.$filecom[0])); }  
   
 # make absolute links appear on different background  # make absolute links appear on different background
 #SB    if ($absolute) { $fileclr='#ccdd99'; }  #SB    if ($absolute) { $fileclr='#ccdd99'; }
Line 915  sub display_line { Line 967  sub display_line {
  $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 ('<a href="#" onClick="document.dirpath'.($dnum-1).'.submit()"><img src="'.$iconpath.'arrow.'.($nowOpen ? "open" : "closed" ).'.gif"');    $r->print ('<a href="#" onclick="document.dirpath'.($dnum-1).'.submit()"><img src="'.$iconpath.'arrow.'.($nowOpen ? "open" : "closed" ).'.gif"'); 
  $r->print (' name="'.$msg.'" type="image" class="LC_fileicon" /></a>'.   $r->print (' alt="'.$msg.'" class="LC_fileicon" /></a>'.
    "\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.
Line 927  $r->print ('<input type="hidden" name="a Line 979  $r->print ('<input type="hidden" name="a
     $r->print("<br />(".&Apache::lonnet::domain($listname,'description').      $r->print("<br />(".&Apache::lonnet::domain($listname,'description').
       ")");        ")");
  }   }
  $r->print("</form>$tabtag");   $r->print("</form></td><td>$tabtag");
          $r->print(&Apache::loncommon::end_data_table_row());           $r->print(&Apache::loncommon::end_data_table_row());
  return OK;   return OK;
   
Line 945  $r->print ('<input type="hidden" name="a Line 997  $r->print ('<input type="hidden" name="a
  $r->print ('<a name="'.$anchor.'"></a><img alt="" src="'.$iconpath.   $r->print ('<a name="'.$anchor.'"></a><img alt="" src="'.$iconpath.
    'whitespace_21.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 ('<a href="#" onClick="document.dirpath'.($dnum-1).'.submit()">');   $r->print ('<a href="#" onclick="document.dirpath'.($dnum-1).'.submit()">');
         $r->print ('<img src="'.$iconpath.'arrow.'.($nowOpen ? "open" : "closed" ).          $r->print ('<img src="'.$iconpath.'arrow.'.($nowOpen ? "open" : "closed" ).
    '.gif" class="LC_fileicon"');      '.gif" class="LC_fileicon"'); 
  $r->print (' name="'.$msg.'"/></a>'.   $r->print (' alt="'.$msg.'"/></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
Line 959  $r->print ('<input type="hidden" name="a Line 1011  $r->print ('<input type="hidden" name="a
         $r->print ($listname.'</a>');          $r->print ($listname.'</a>');
   
         if (defined($plainname) && $plainname) { $r->print(" ($plainname) "); }          if (defined($plainname) && $plainname) { $r->print(" ($plainname) "); }
         $r->print('</form>'.$tabtag);  # Wishlistlink
           $r->print('</form></td><td><a href="javascript:;" '.
                     'title="'.&mt('Save a link for this folder in your personal Stored Links repository').'" '.
                     'onclick="set_wishlistlink('."'$plainname','$startdir$listname'".')">'.
                     '<img class="LC_icon" src="/res/adm/pages/wishlist.png" '.
                     'alt="'.&mt('save in Stored Links').'" style="width:22px;"/></a>'.$tabtag);
         $r->print(&Apache::loncommon::end_data_table_row());          $r->print(&Apache::loncommon::end_data_table_row());
         return OK;          return OK;
     }      }
Line 993  $r->print ('<input type="hidden" name="a Line 1050  $r->print ('<input type="hidden" name="a
                       $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('</td><td class="LC_middle"><span class="LC_nobreak">');      $r->print('</td><td class="LC_middle">');
  } 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"."' ".
       "value='$filelink' onClick='".        "value='$filelink' onclick='".
       "javascript:queue(\"form$fnum\")' ");        "javascript:queue(\"form$fnum\")' ");
     if ($hash{'store_'.$filelink}) {      if ($hash{'store_'.$filelink}) {
  $r->print("checked");   $r->print("checked");
     }      }
     $r->print(" />\n");      $r->print(" />\n");
     $r->print('</form></td><td class="LC_middle"><span class="LC_nobreak">');      $r->print('</form></td><td class="LC_middle">');
     $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 1020  $r->print ('<input type="hidden" name="a Line 1077  $r->print ('<input type="hidden" name="a
 # General indentation  # General indentation
     my $count = 0;      my $count = 0;
     while ($count < $indent) {      while ($count < $indent) {
  $r->print("<img alt=\"\" src=".$iconpath.              $r->print('<img alt="" src="'.$iconpath.'whitespace_21.gif" 
   "whitespace_21.gif class='LC_icon' />\n");                  class="LC_icon" />');
         $count++;          $count++;
     }      }
 # Sequence open/close icon  # Sequence open/close icon
Line 1031  $r->print ('<input type="hidden" name="a Line 1088  $r->print ('<input type="hidden" name="a
     $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>');      $r->print ('<a name="'.$anchor.'"></a>');
             $r->print ('<a href="#" onClick="document.dirpath'.($dnum-1).'.submit()">');              $r->print ('<a href="#" onclick="document.dirpath'.($dnum-1).'.submit()">');
             $r->print ('<img src="'.$iconpath.'arrow.'.($nowOpen ? "open" : "closed" ).              $r->print ('<img src="'.$iconpath.'arrow.'.($nowOpen ? "open" : "closed" ).
                        '.gif" class="LC_fileicon"');                         '.gif" class="LC_fileicon"');
     $r->print (' name="'.$msg.'" type="image" class="LC_fileicon" /></a>'.      $r->print (' alt="'.$msg.'" /></a>'.
        "\n");         "\n");
  }   }
 # Filetype icons  # Filetype icons
  $r->print("<img alt=\"\" src='$iconname' class='LC_fileicon' />\n");   $r->print("<img alt=\"\" src='$iconname' class='LC_fileicon' />\n");
  my $quotable_filelink = &Apache::loncommon::escape_single($filelink);   my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
   
  $r->print (" <a href=\"javascript:openWindow('".$quotable_filelink.   $r->print (" <a href=\"javascript:openMyModal('".$quotable_filelink."?inhibitmenu=yes',500,500,'yes');\">$listname</a> ");
    "?inhibitmenu=yes','previewfile','450','500','no','yes','yes');\"".  
    " target=\"_self\">$listname</a> ");  
  $quotable_filelink = &Apache::loncommon::escape_single($filelink.'.meta');   $quotable_filelink = &Apache::loncommon::escape_single($filelink.'.meta');
  &Apache::loncommon::inhibit_menu_check(\$quotable_filelink);   &Apache::loncommon::inhibit_menu_check(\$quotable_filelink);
  $r->print (" (<a href=\"javascript:openWindow('".$quotable_filelink.   $r->print (" (<a href=\"javascript:openMyModal('".$quotable_filelink."?inhibitmenu=yes',500,500,'yes');\">".&mt('metadata')."</a>) ");
    "?inhibitmenu=yes','metadatafile','500','550','no','yes','no');\" ".  
    " target=\"_self\">".&mt('metadata')."</a>) ");  
 # Close form to open/close sequence  # Close form to open/close sequence
  if ($filelink=~/\.(page|sequence)$/) {   if ($filelink=~/\.(page|sequence)$/) {
     $r->print('</form>');      $r->print('</form>');
  }   }
  $r->print("</span></td>\n");   $r->print("</td>\n");
   # Wishlistlink
           $r->print('<td><a href="javascript:;" title="'.&mt('Save a link for this resource in your personal Stored Links repository').'" '.
                     'onclick="set_wishlistlink('."'".&Apache::lonnet::gettitle($filelink).
                     "','$startdir$listname'".')">'.
                     '<img class="LC_icon" src="/res/adm/pages/wishlist.png" '.
                     'alt="'.&mt('save in Stored Links').'" style="width:22px;"/></a></td>');
  if ($hash{'display_attrs_0'} == 1) {   if ($hash{'display_attrs_0'} == 1) {
     $r->print('<td> '.($title eq '' ? '&nbsp;' : $title).      $r->print('<td> '.($title eq '' ? '&nbsp;' : $title).
       ' </td>'."\n");        ' </td>'."\n");
Line 1130  $r->print ('<input type="hidden" name="a Line 1189  $r->print ('<input type="hidden" name="a
  if ($hash{'display_attrs_7'} == 1) {   if ($hash{'display_attrs_7'} == 1) {
 # Show resource  # Show resource
    my $output=&showpreview($filelink);     my $output=&showpreview($filelink);
            $r->print('<td> '.($output eq '' ? '&nbsp;':$output).             $r->print('<td class="LC_fontsize_medium">'.($output eq '' ? '&nbsp;':$output).
       " </td>\n");        " </td>\n");
     }      }
           
Line 1182  $r->print ('<input type="hidden" name="a Line 1241  $r->print ('<input type="hidden" name="a
  my $indentm1 = $indent-1;   my $indentm1 = $indent-1;
  my $count = 0;   my $count = 0;
  while ($count < $indentm1) {   while ($count < $indentm1) {
     $r->print ("<img alt=\"\" src=",$iconpath      $r->print ('<img alt="" src="',$iconpath
                ,"whitespace_21.gif class='LC_icon' />\n");                 ,'whitespace_21.gif" class="LC_icon" />');
             $count++;              $count++;
  }   }
  $r->print ('<input type="hidden" name="acts" value="" />');   $r->print ('<input type="hidden" name="acts" value="" />');
  $r->print ('<a name="'.$anchor.'"></a>');   $r->print ('<a name="'.$anchor.'"></a>');
         $r->print ('<a href="#" onClick="document.dirpath'.($dnum-1).'.submit()"><img src="'.$iconpath.          $r->print ('<a href="#" onclick="document.dirpath'.($dnum-1).'.submit()"><img src="'.$iconpath.
    'arrow.'.($nowOpen ? "open" : "closed" ).'.gif"');     'arrow.'.($nowOpen ? "open" : "closed" ).'.gif"');
  $r->print (' name="'.$msg.'" class="LC_fileicon" /></a>'.   $r->print (' alt="'.$msg.'" class="LC_fileicon" /></a>'.
    "\n");     "\n");
  my $quotable_curdir = &Apache::loncommon::escape_single($curdir);   my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
                   
         my $location = &Apache::loncommon::lonhttpdurl("/adm/lonIcons");          my $location = &Apache::loncommon::lonhttpdurl("/adm/lonIcons");
  my $icon = "navmap.folder.".($nowOpen ? "open":"closed").'.gif';   my $icon = "navmap.folder.".($nowOpen ? "open":"closed").'.gif';
         $r->print ('<a href="javascript:gothere(\''          $r->print ('<a href="javascript:gothere('
    .$quotable_curdir.'\')"">'                    ."'$quotable_curdir'".');">'
    .'<img class="LC_fileicon" alt="'.&mt('Open Folder').'" src="'.                    .'<img class="LC_fileicon" alt="'.&mt('Open Folder').'" src="'
                    $location."/".$icon.'" />'.                    .$location.'/'.$icon.'" />'
                    "\n");                    ."\n");
  $r->print ("$listname</a></form></td>\n");   $r->print ("$listname</a></form>");
   # Wishlistlink
           $r->print('</td><td><a href="javascript:;" '.
                     'title="'.&mt('Save a link for this folder in Stored Links').'" '.
                     'onclick="set_wishlistlink('."'$listname','$startdir$listname'".')">'.
                     '<img class="LC_icon" src="/res/adm/pages/wishlist.png" '.
                     'alt="'.&mt('save in Stored Links').'" style="width:22px;"/></a></td>');
 # Attributes  # Attributes
  my $filelink = $startdir.$filecom[0].'/default';   my $filelink = $startdir.$filecom[0].'/default';
   
Line 1329  sub showpreview { Line 1394  sub showpreview {
              close(FH);               close(FH);
           }            }
        }         }
        $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)/}) {
Line 1360  sub begin_form { Line 1424  sub begin_form {
     $uri=&Apache::loncommon::escape_single($uri);      $uri=&Apache::loncommon::escape_single($uri);
     $r->print ('<form method="post" name="dirpath'.$dnum.'" action="'.$uri.      $r->print ('<form method="post" name="dirpath'.$dnum.'" action="'.$uri.
        '#'.$anchor.         '#'.$anchor.
        '" onSubmit="return rep_dirpath(\''.$dnum.'\''.         '" onsubmit="return rep_dirpath(\''.$dnum.'\''.
        ',document.forms.fileattr.acts.value)" '.         ',document.forms.fileattr.acts.value)" '.
        'enctype="application/x-www-form-urlencoded">'."\n");         'enctype="application/x-www-form-urlencoded">'."\n");
     $r->print ('<input type="hidden" name="openuri" value="'.$uri.'" />'.      $r->print ('<input type="hidden" name="openuri" value="'.$uri.'" />'.

Removed from v.1.197  
changed lines
  Added in v.1.215


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