Diff for /loncom/interface/lonindexer.pm between versions 1.168 and 1.174

version 1.168, 2007/07/02 16:07:06 version 1.174, 2007/08/01 21:12:12
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 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
Line 387  function openWindow(url, wdwName, w, h, Line 398  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 406  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)  
         if ($env{'form.catalogmode'} eq 'import') {  
     my $acts=$env{'form.acts'};  
     my @Acts=split(/b/,$acts);  
     my %ahash;  
     my %achash;  
     my $ac=0;  
     # some initial hashes for working with data  
     foreach (@Acts) {  
  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 437  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 467  ENDHEADER
 </tr>  </tr>
 </table>  </table>
 <input type="hidden" name="attrs" value="1" />  <input type="hidden" name="attrs" value="1" />
   <input type="hidden" name="only" value="" />
   <label><input type="checkbox" name="problem" value="problem" onClick="this.form.only.value += 'problem';this.form.submit();" />$lt{'pr'}</label>
   <label><input type="checkbox" name="graphic" value="gif,jpg,jpeg" onClick="this.form.only.value += ',gif,jpg,jpg';this.form.submit();" />$lt{'gr'}</label>
   <label><input type="checkbox" name="all" value="" onClick="this.form.only.value = '';this.form.submit();" />$lt{'at'}</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 493  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 504  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 829  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 923  sub display_line { Line 906  sub display_line {
         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');      $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];
Line 1000  sub display_line { Line 983  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 1052  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 1137  sub display_line { Line 1121  sub display_line {
  my $filelink = $startdir.$filecom[0].'/default';   my $filelink = $startdir.$filecom[0].'/default';
   
  if ($hash{'display_attrs_0'} == 1) {   if ($hash{'display_attrs_0'} == 1) {
     my $title = &Apache::lonnet::gettitle($filelink,'title');      my $title = &Apache::lonnet::gettitle($filelink);
     $r->print('<td> '.($title eq '' ? '&nbsp;' : $title).      $r->print('<td> '.($title eq '' ? '&nbsp;' : $title).
       ' </td>'."\n");        ' </td>'."\n");
  }   }
Line 1266  sub begin_form { Line 1250  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.168  
changed lines
  Added in v.1.174


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