Diff for /loncom/interface/lonindexer.pm between versions 1.169 and 1.175

version 1.169, 2007/07/06 08:34:37 version 1.175, 2007/08/02 00:10:59
Line 53  use Apache::lonmeta; Line 53  use Apache::lonmeta;
 use Apache::File;  use Apache::File;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonsource();  use Apache::lonsource();
   use Apache::groupsort();
 use GDBM_File;  use GDBM_File;
 use LONCAPA qw(:match);  use LONCAPA qw(:match);
   
Line 105  sub handler { Line 106  sub handler {
   
     my $fileclr='#ffffe6';      my $fileclr='#ffffe6';
     my $line;      my $line;
     my (@attrchk,@openpath);      my (@attrchk,@openpath,%typechk);
     my $uri=$r->uri;      my $uri=$r->uri;
   
 # -------------------------------------- see if called from an interactive mode  # -------------------------------------- see if called from an interactive mode
Line 134  sub handler { Line 135  sub handler {
     untie(%dbfile);      untie(%dbfile);
  }   }
     }      }
   # - Evaluate actions from previous page (both cumulatively and chronologically)
           if ($env{'form.catalogmode'} eq 'import' || $hash{'form.catalogmode'} eq 'import') {
       &Apache::groupsort::update_actions_hash(\%hash);
    }
       
     {      {
   #Hijack lonindexer to verify a title and be close down.    #Hijack lonindexer to verify a title and be close down.
    if ($env{'form.launch'} eq '2') {     if ($env{'form.launch'} eq '2') {
Line 241  END Line 247  END
 #  #
 #  #
     if (!defined($mode) || ($mode ne 'edit' && $mode ne 'parmset')) {      if (!defined($mode) || ($mode ne 'edit' && $mode ne 'parmset')) {
                 my $location = "/adm/groupsort?catalogmode=import&";                  my $location = "/adm/groupsort?&inhibitmenu=yes&catalogmode=import&";
                 $location .= "mode=".$mode."&";                  $location .= "mode=".$mode."&";
                 $location .= "acts=";                  $location .= "acts=";
  $catalogmodefunctions=<<"END";   $catalogmodefunctions=<<"END";
Line 268  END Line 274  END
 function select_data(url) {  function select_data(url) {
    var location = "/res/?launch=2&form=$form&element=$element&titleelement=$titleelement&acts=" + url;     var location = "/res/?launch=2&form=$form&element=$element&titleelement=$titleelement&acts=" + url;
    window.location=location;     window.location=location;
      if (window.opener.document.forms["$form"].elements["$element"].value != url) {
          window.opener.unClean();
      }
 }  }
 function select_group() {  function select_group() {
     window.location="$location"+document.forms.fileattr.acts.value;      window.location="$location"+document.forms.fileattr.acts.value;
Line 345  function queue(val) { Line 354  function queue(val) {
 END  END
  }   }
   
           my $inhibit_menu = "+'&".&Apache::loncommon::inhibit_menu_check()."'";
 # ---------------------------------------------------------------- Print Header  # ---------------------------------------------------------------- Print Header
           
  my $js = <<"ENDHEADER";   my $js = <<"ENDHEADER";
 <script type="text/javascript">  <script type="text/javascript">
 $catalogmodefunctions  $catalogmodefunctions;
   function update_only(field) {
       alert(field.name);
   }
 function checkAll() {  function checkAll() {
     var numForms = document.forms.length;      var numForms = document.forms.length;
     for (i=0;i<numForms;i++) {      for (i=0;i<numForms;i++) {
Line 387  function openWindow(url, wdwName, w, h, Line 401  function openWindow(url, wdwName, w, h,
     newWin.focus();      newWin.focus();
 }  }
 function gothere(val) {  function gothere(val) {
     window.location=val+'?acts='+document.forms.fileattr.acts.value;      window.location=val+'?acts='+document.forms.fileattr.acts.value$inhibit_menu;
 }  }
 </script>  </script>
 ENDHEADER  ENDHEADER
Line 395  ENDHEADER Line 409  ENDHEADER
         my ($headerdom)=($uri=~m{^/res/($match_domain)/});          my ($headerdom)=($uri=~m{^/res/($match_domain)/});
  $r->print(&Apache::loncommon::start_page('Browse Resources',$js,   $r->print(&Apache::loncommon::start_page('Browse Resources',$js,
  {'domain' => $headerdom,}));   {'domain' => $headerdom,}));
 # - Evaluate actions from previous page (both cumulatively and chronologically)  # ---------------------------------- get state of file types to be showing
         if ($env{'form.catalogmode'} eq 'import') {   if ($env{'form.only'}) {
     my $acts=$env{'form.acts'};      if ($env{'form.only'} eq 'problem' ) {
     my @Acts=split(/b/,$acts);          $typechk{'problem'} = 'selected';
     my %ahash;      } elsif ($env{'form.only'} eq 'gif,jpg,jpeg' ) {
     my %achash;          $typechk{'graphic'} = 'selected';
     my $ac=0;      } 
     # some initial hashes for working with data   } else {
     foreach (@Acts) {      $typechk{'all'} = 'selected';
  my ($state,$ref)=split(/a/);  
  $ahash{$ref}=$state;  
  $achash{$ref}=$ac;  
  $ac++;  
     }  
     # sorting through the actions and changing the global database hash  
     foreach my $key (sort {$achash{$a}<=>$achash{$b}} (keys %ahash)) {  
  if ($ahash{$key} eq '1') {  
     $hash{'store_'.$hash{'pre_'.$key.'_link'}}=  
        $hash{'pre_'.$key.'_title'};  
     $hash{'storectr_'.$hash{'pre_'.$key.'_link'}}=  
  $hash{'storectr'}+0;  
     $hash{'storectr'}++;  
  }  
  if ($ahash{$key} eq '0') {  
     if ($hash{'store_'.$hash{'pre_'.$key.'_link'}}) {  
  delete $hash{'store_'.$hash{'pre_'.$key.'_link'}};  
     }  
  }  
     }  
     # deleting the previously cached listing  
     foreach (keys %hash) {  
  if ($_ =~ /^pre_/ && $_ =~/link$/) {  
     my $key = $_;  
     $key =~ s/^pre_//;  
     $key =~ s/_[^_]*$//;  
     delete $hash{'pre_'.$key.'_title'};  
     delete $hash{'pre_'.$key.'_link'};  
  }  
     }  
  }   }
   
   
 # ---------------------------------- get state of file attributes to be showing  # ---------------------------------- get state of file attributes to be showing
  if ($env{'form.attrs'}) {   if ($env{'form.attrs'}) {
     for (my $i=0; $i<=11; $i++) {      for (my $i=0; $i<=11; $i++) {
Line 467  ENDHEADER Line 452  ENDHEADER
    'sr' => 'Show resource',     'sr' => 'Show resource',
    'li' => 'Linked/Related Resources',     'li' => 'Linked/Related Resources',
    'av' => 'All versions',     'av' => 'All versions',
    'ud' => 'Update Display'     'ud' => 'Update Display',
      'pr' => 'Problems',
      'gr' => 'Graphics',
      'at' => 'All types'
    );     );
  $r->print(<<END);   $r->print(<<END);
 <form method="post" name="fileattr" action="$uri"  <form method="post" name="fileattr" action="$uri"
Line 494  ENDHEADER Line 482  ENDHEADER
 </tr>  </tr>
 </table>  </table>
 <input type="hidden" name="attrs" value="1" />  <input type="hidden" name="attrs" value="1" />
   <label><select name="only" onClick="this.form.submit()">
   <option value='problem' $typechk{'problem'}>Problems</option>
   <option value='gif,jpg,jpeg' $typechk{'graphic'}>Graphics</option>
   <option value='' $typechk{'all'}>All</option>
   </select>File Types Displayed</label>
   <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
 END  END
           $r->print(&Apache::loncommon::inhibit_menu_check('input'));
 # -------------- Filter out sequence containment in crumbs and "recent folders"  # -------------- Filter out sequence containment in crumbs and "recent folders"
  my $storeuri=$uri;   my $storeuri=$uri;
  $storeuri='/'.(split(/\.(page|sequence)\/\//,$uri))[-1];   $storeuri='/'.(split(/\.(page|sequence)\/\//,$uri))[-1];
Line 513  END Line 508  END
  if ($reshome) {   if ($reshome) {
     $r->print("<font size='+2'><a href='");      $r->print("<font size='+2'><a href='");
     if ($env{'form.catalogmode'} eq 'import') {      if ($env{'form.catalogmode'} eq 'import') {
  $r->print('javascript:document.forms.fileattr.action="'.$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);
     }      }
Line 524  END Line 519  END
  &Apache::loncommon::storeresurl($storeuri);   &Apache::loncommon::storeresurl($storeuri);
  &Apache::lonhtmlcommon::store_recent('residx',$storeuri,$storeuri);   &Apache::lonhtmlcommon::store_recent('residx',$storeuri,$storeuri);
 # -------------------------------------------------- Check All and Uncheck all  # -------------------------------------------------- Check All and Uncheck all
  $r->print('<br /><input type="button" value="'.&mt("Check All").'" id="checkallbutton" onClick="javascript:checkAll()" />');   if ($env{'form.catalogmode'} eq 'import') {
  $r->print('<input type="button" value="'.&mt("Uncheck All").'" id="uncheckallbutton" onClick="javascript:uncheckAll()" />');      $r->print('<br /><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()" />');
    }
 # ----------------- output starting row to the indexed file/directory hierarchy  # ----------------- output starting row to the indexed file/directory hierarchy
         my $titleclr="#ddffff";          my $titleclr="#ddffff";
         #$r->print(&initdebug());          #$r->print(&initdebug());
Line 847  sub display_line { Line 844  sub display_line {
    'document.forms.fileattr.acts.value)" '.     'document.forms.fileattr.acts.value)" '.
    'enctype="application/x-www-form-urlencoded"'.     'enctype="application/x-www-form-urlencoded"'.
                    '>'."\n");                     '>'."\n");
    $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");
Line 1000  sub display_line { Line 998  sub display_line {
  $r->print("<img alt=\"\" src='$iconname' class='LC_icon' />\n");   $r->print("<img alt=\"\" src='$iconname' class='LC_icon' />\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:openWindow('".$quotable_filelink.
    "','previewfile','450','500','no','yes','yes');\"".     "?inhibitmenu=yes','previewfile','450','500','no','yes','yes');\"".
    " target=\"_self\">$listname</a> ");     " target=\"_self\">$listname</a> ");
    $quotable_filelink = &Apache::loncommon::escape_single($filelink.'.meta');
    &Apache::loncommon::inhibit_menu_check(\$quotable_filelink);
  $r->print (" (<a href=\"javascript:openWindow('".$quotable_filelink.   $r->print (" (<a href=\"javascript:openWindow('".$quotable_filelink.
    ".meta','metadatafile','500','550','no','yes','no');\" ".     "?inhibitmenu=yes','metadatafile','500','550','no','yes','no');\" ".
    " target=\"_self\">metadata</a>) ");     " target=\"_self\">metadata</a>) ");
 # Close form to open/close sequence  # Close form to open/close sequence
  if ($filelink=~/\.(page|sequence)$/) {   if ($filelink=~/\.(page|sequence)$/) {
Line 1069  sub display_line { Line 1067  sub display_line {
     if($source eq 'open') {      if($source eq 'open') {
  my $sourcelink = &Apache::lonsource::make_link($filelink,$listname);   my $sourcelink = &Apache::lonsource::make_link($filelink,$listname);
  my $quotable_sourcelink = &Apache::loncommon::escape_single($sourcelink);   my $quotable_sourcelink = &Apache::loncommon::escape_single($sourcelink);
    &Apache::loncommon::inhibit_menu_check(\$quotable_sourcelink);
  $r->print('<td>'."<a href=\"javascript:openWindow('"   $r->print('<td>'."<a href=\"javascript:openWindow('"
   .$quotable_sourcelink.    .$quotable_sourcelink.
   "', 'previewsource', '700', '700', 'no', 'yes','yes');\"".    "', 'previewsource', '700', '700', 'no', 'yes','yes');\"".
Line 1266  sub begin_form { Line 1265  sub begin_form {
     $r->print ('<input type="hidden" name="openuri" value="'.$uri.'" />'.      $r->print ('<input type="hidden" name="openuri" value="'.$uri.'" />'.
        "\n");         "\n");
     $r->print ('<input type="hidden" name="dirPointer" value="on" />'."\n");      $r->print ('<input type="hidden" name="dirPointer" value="on" />'."\n");
       $r->print(&Apache::loncommon::inhibit_menu_check('input'));
     $dnum++;      $dnum++;
 }  }
   

Removed from v.1.169  
changed lines
  Added in v.1.175


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