--- loncom/interface/groupsort.pm 2001/08/13 14:50:53 1.2 +++ loncom/interface/groupsort.pm 2001/10/16 17:07:25 1.3 @@ -5,7 +5,7 @@ # Allows for sorting prior to import into RAT. # # YEAR=2001 -# 8/7,8/8 Scott Harrison +# 8/7,8/8,10/14,10/15 Scott Harrison package Apache::groupsort; @@ -68,7 +68,7 @@ function finish_import() { self.close(); } function selectchange(val) { - var newval=1+eval("document.forms.groupsort.alt"+val+".selectedIndex"); + var newval=0+eval("document.forms.groupsort.alt"+val+".selectedIndex"); orderchange(val,newval); } function move(val,newval) { @@ -87,7 +87,8 @@ END # read pertinent machine configuration my $domain = $r->dir_config('lonDefDomain'); $iconpath = $r->dir_config('lonIconsURL') . "/"; - my $diropendb = "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_indexer.db"; + my $diropendb = + "/home/httpd/perl/tmp/$domain\_$ENV{'user.name'}_indexer.db"; my %shash; # sort order (key is resource location, value is sort order) my %thash; # title (key is resource location, value is title) @@ -98,6 +99,9 @@ END if ($name eq 'acts') { $ENV{'form.'.$name}=$value; } + if ($name eq 'catalogmode') { + $ENV{'form.'.$name}=$value; + } } (split(/&/,$ENV{'QUERY_STRING'})); if (tie(%hash,'GDBM_File',$diropendb,&GDBM_WRCREAT,0640)) { my $acts = $ENV{'form.acts'}; @@ -114,6 +118,8 @@ END map { my $key = $_; if ($ahash{$key} eq '1') { +# my $keyz=join("
",keys %hash); +# print "
$key
$keyz".$hash{'pre_'.$key.'_link'}."
\n"; $hash{'store_'.$hash{'pre_'.$key.'_link'}} = $hash{'pre_'.$key.'_title'}; $hash{'storectr_'.$hash{'pre_'.$key.'_link'}} = @@ -147,9 +153,26 @@ END my $oldval = $ENV{'form.oldval'}; my $newval = $ENV{'form.newval'}; if ($oldval != $newval) { - $shash{$chash{$oldval}} = $newval; - $hash{'storectr_'.$chash{$oldval}} = $newval; - if ($oldval < $newval) { # push down + # when newval==0, then push down and delete + if ($newval!=0) { + $shash{$chash{$oldval}} = $newval; + $hash{'storectr_'.$chash{$oldval}} = $newval; + } + else { + $shash{$chash{$oldval}} = $newctr; + $hash{'storectr_'.$chash{$oldval}} = $newctr; + } + if ($newval==0) { # push down + my $newval2=$newctr; + for my $idx ($oldval..($newval2-1)) { + $shash{$chash{$idx+1}} = $idx; + $hash{'storectr_'.$chash{$idx+1}} = $idx; + } + delete $shash{$chash{$oldval}}; + delete $hash{'storectr_'.$chash{$oldval}}; + delete $hash{'store_'.$chash{$oldval}}; + } + elsif ($oldval < $newval) { # push down for my $idx ($oldval..($newval-1)) { $shash{$chash{$idx+1}} = $idx; $hash{'storectr_'.$chash{$idx+1}} = $idx; @@ -180,8 +203,20 @@ END +END + if ($ENV{'form.catalogmode'} eq 'groupimport') { + $r->print(<  +END + } + if ($ENV{'form.catalogmode'} eq 'groupsearch') { + $r->print(<  +END +} + $r->print(<  @@ -251,6 +286,7 @@ sub select_box { my $string; $string = '