Diff for /loncom/interface/groupsort.pm between versions 1.45 and 1.55

version 1.45, 2006/07/21 00:21:28 version 1.55, 2007/07/11 23:51:19
Line 37  use GDBM_File; Line 37  use GDBM_File;
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonnet;  use Apache::lonnet;
   use LONCAPA();
   
 my $iconpath; # variable to be accessible to multiple subroutines  my $iconpath; # variable to be accessible to multiple subroutines
 my %hash; # variable to tie to user specific database  my %hash; # variable to tie to user specific database
   
   
   sub update_actions_hash {
       my ($hash) = @_;
       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 my $key (keys(%{ $hash })) {
    next if ($key !~ /^pre_(\d+)_link/);
    my $which = $1;
    delete($hash->{'pre_'.$which.'_title'});
    delete($hash->{'pre_'.$which.'_link'});
       }
   }
   
 sub readfromdb {  sub readfromdb {
     my ($r,$shash,$thash)=@_;      my ($r,$shash,$thash)=@_;
   
Line 50  sub readfromdb { Line 89  sub readfromdb {
   
 # ----------------------------- diropendb is now the filename of the db to open  # ----------------------------- diropendb is now the filename of the db to open
     if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) {      if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) {
  my $acts = $env{'form.acts'};   &update_actions_hash(\%hash);
  my @Acts = split(/b/,$acts);  
  my %ahash;  
  my %achash;  
  my $ac = 0;  
  foreach (@Acts) {  
     my ($state,$ref) = split(/a/);  
     $ahash{$ref} = $state;  
     $achash{$ref} = $ac;  
     $ac++;  
  }  
  foreach (sort {$achash{$a} <=> $achash{$b}} (keys %ahash)) {  
     my $key = $_;  
     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'}};  
  }  
     }  
  }  
  foreach (keys %hash) {   foreach (keys %hash) {
     if ($_ =~ /^store_/) {      if ($_ =~ /^store_/) {
  my $key = $_;   my $key = $_;
Line 174  sub readfromfile { Line 189  sub readfromfile {
   
     my $url=$token->[2]->{'src'};      my $url=$token->[2]->{'src'};
                     my $name=$token->[2]->{'title'};                      my $name=$token->[2]->{'title'};
     $name=~s/ \[\((\d+)\,(\w+)\,(\w+)\)\]$//;      $name=~s/ \[\((\d+)\,($LONCAPA::username_re)\,($LONCAPA::domain_re)\)\]$//;
     if ($1) {      if ($1) {
  $$nhash{$url}='<br />'.&mt('Removed by ').   $$nhash{$url}='<br />'.&mt('Removed by ').
     &Apache::loncommon::plainname($2,$3).', '.      &Apache::loncommon::plainname($2,$3).', '.
Line 211  sub readfrombookmarks { Line 226  sub readfrombookmarks {
     return ($shash,$thash);      return ($shash,$thash);
 }  }
   
 # ---------------------------------------------------------- Clear the database  
   
 sub clear_basket {  
     my $diropendb =  
        "/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_sel_res.db";  
     unlink ($diropendb);  
 }                                                                                                           
   
 # ---------------------------------------------------------------- Main Handler  # ---------------------------------------------------------------- Main Handler
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 335  END Line 342  END
  'ci' => 'Continue Import',   'ci' => 'Continue Import',
  'cs' => 'Continue Search',   'cs' => 'Continue Search',
  'fi' => 'Finish Import',   'fi' => 'Finish Import',
    're' => 'Recover Checked',
  'ca' => 'Cancel',   'ca' => 'Cancel',
  'co' => 'Change Order',   'co' => 'Change Order',
  'ti' => 'Title',   'ti' => 'Title',
Line 356  END Line 364  END
 <input type="hidden" name="recover" value="$env{'form.recover'}" />  <input type="hidden" name="recover" value="$env{'form.recover'}" />
 END  END
   
           $r->print(&Apache::loncommon::inhibit_menu_check('input'));
           # ---
       
           if ($env{'form.recover'}) {
       $r->print(<<END);
   <input type="button" name="alter" value="$lt{'re'}"
    onClick="finish_import()" />&nbsp;
   <input type="button" name="alter" value="$lt{'ca'}" onClick="self.close()" />
   END
    } else {
         # --- Continue Buttons          # --- Continue Buttons
         my $resurl = &Apache::loncommon::lastresurl();      my $resurl = 
         $r->print(<<END);   &Apache::loncommon::escape_single(&Apache::loncommon::lastresurl());
       $r->print(<<END);
 <input type="button" name="alter" value="$lt{'ci'}"  <input type="button" name="alter" value="$lt{'ci'}"
  onClick="window.location='$resurl?catalogmode=import'" />&nbsp;   onClick="window.location='$resurl?inhibitmenu=yes&amp;catalogmode=import'" />&nbsp;
 <input type="button" name="altersearch" value="$lt{'cs'}"  <input type="button" name="altersearch" value="$lt{'cs'}"
  onClick="window.location='/adm/searchcat?catalogmode=import'" />&nbsp;   onClick="window.location='/adm/searchcat?inhibitmenu=yes&amp;catalogmode=import'" />&nbsp;
 END  
         # ---  
   
  $r->print(<<END);  
 <input type="button" name="alter" value="$lt{'fi'}"  <input type="button" name="alter" value="$lt{'fi'}"
  onClick="finish_import()" />&nbsp;   onClick="finish_import()" />&nbsp;
 <input type="button" name="alter" value="$lt{'ca'}" onClick="self.close()" />  <input type="button" name="alter" value="$lt{'ca'}" onClick="self.close()" />
 END  END
           }
         $r->print("<table border='0'><tr><td bgcolor='#eeeeee'>");          $r->print("<table border='0'><tr><td bgcolor='#eeeeee'>");
  $r->print("<table border=0><tr>\n");   $r->print("<table border=0><tr>\n");
  if (($env{'form.readfile'}) || ($env{'form.bookmarks'})) {    if (($env{'form.readfile'}) || ($env{'form.bookmarks'})) { 
Line 391  END Line 407  END
 <input type="hidden" name="newval" value="" />  <input type="hidden" name="newval" value="" />
 <input type="hidden" name="mode" value="$env{'form.mode'}" />  <input type="hidden" name="mode" value="$env{'form.mode'}" />
 END  END
           $r->print(&Apache::loncommon::inhibit_menu_check('input'));
   
     }      }
     foreach (sort {$shash{$a}<=>$shash{$b}} (keys %shash)) {      foreach (sort {$shash{$a}<=>$shash{$b}} (keys %shash)) {
  my $key=$_;   my $key=$_;
Line 439  sub hidden { Line 457  sub hidden {
     my ($sel,$title,$filelink) = @_;      my ($sel,$title,$filelink) = @_;
     my $string = '<input type="hidden" name="title'.$sel.'" value="'.$title.      my $string = '<input type="hidden" name="title'.$sel.'" value="'.$title.
  '" />';   '" />';
       $filelink=~s|^/ext/|http://|;
     $string .= '<input type="hidden" name="filelink'.$sel.'" value="'.      $string .= '<input type="hidden" name="filelink'.$sel.'" value="'.
  $filelink.'" />';   $filelink.'" />';
     return $string;      return $string;

Removed from v.1.45  
changed lines
  Added in v.1.55


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