Diff for /loncom/interface/groupsort.pm between versions 1.57 and 1.60

version 1.57, 2007/07/12 00:27:13 version 1.60, 2007/07/25 23:10:23
Line 45  my %hash; # variable to tie to user spec Line 45  my %hash; # variable to tie to user spec
   
 sub update_actions_hash {  sub update_actions_hash {
     my ($hash) = @_;      my ($hash) = @_;
       # be careful in here, there is also a global %hash
     my $acts=$env{'form.acts'};      my $acts=$env{'form.acts'};
     my @Acts=split(/b/,$acts);      my @Acts=split(/b/,$acts);
     my %ahash;      my %ahash;
     my %achash;      my %achash;
     my $ac=0;  
     # some initial hashes for working with data      # some initial hashes for working with data
       my $ac=0;
     foreach (@Acts) {      foreach (@Acts) {
  my ($state,$ref)=split(/a/);    my ($state,$ref)=split(/a/);
  $ahash{$ref}=$state;   $ahash{$ref}=$state;
  $achash{$ref}=$ac;   $achash{$ref}=$ac;
  $ac++;   $ac++;
Line 60  sub update_actions_hash { Line 61  sub update_actions_hash {
     # sorting through the actions and changing the global database hash      # sorting through the actions and changing the global database hash
     foreach my $key (sort {$achash{$a}<=>$achash{$b}} (keys %ahash)) {      foreach my $key (sort {$achash{$a}<=>$achash{$b}} (keys %ahash)) {
  if ($ahash{$key} eq '1') {   if ($ahash{$key} eq '1') {
     $hash->{'store_'.$hash{'pre_'.$key.'_link'}}=      $hash->{'store_'.$hash->{'pre_'.$key.'_link'}}=
  $hash->{'pre_'.$key.'_title'};   $hash->{'pre_'.$key.'_title'};
     $hash->{'storectr_'.$hash{'pre_'.$key.'_link'}}=      $hash->{'storectr_'.$hash->{'pre_'.$key.'_link'}}=
  $hash->{'storectr'}+0;   $hash->{'storectr'}+0;
     $hash->{'storectr'}++;      $hash->{'storectr'}++;
  }   }
  if ($ahash{$key} eq '0') {   if ($ahash{$key} eq '0') {
     if ($hash->{'store_'.$hash{'pre_'.$key.'_link'}}) {      if ($hash->{'store_'.$hash->{'pre_'.$key.'_link'}}) {
  delete($hash->{'store_'.$hash{'pre_'.$key.'_link'}});   delete($hash->{'store_'.$hash->{'pre_'.$key.'_link'}});
    delete($hash->{'storectr_'.$hash->{'pre_'.$key.'_link'}});
     }      }
  }   }
     }      }
Line 160  sub readfromfile { Line 162  sub readfromfile {
  if ($token->[2]->{'type'} eq 'zombie') { next; }   if ($token->[2]->{'type'} eq 'zombie') { next; }
     }      }
   
     my $url=$token->[2]->{'src'};  
                     my $name=$token->[2]->{'title'};                      my $name=$token->[2]->{'title'};
     $name=~s/ \[\((\d+)\,($LONCAPA::username_re)\,($LONCAPA::domain_re)\)\]$//;      $name=~s/ \[\((\d+)\,($LONCAPA::username_re)\,($LONCAPA::domain_re)\)\]$//;
     my $note;      my $note;
Line 170  sub readfromfile { Line 171  sub readfromfile {
     &Apache::lonlocal::locallocaltime($1);      &Apache::lonlocal::locallocaltime($1);
     }      }
     $name=~s/\&colon\;/\:/g;      $name=~s/\&colon\;/\:/g;
     push(@{$resources}, {'url'   => $url,      push(@{$resources}, {'url'   => $token->[2]->{'src'},
  'title' => $name,   'title' => $name,
  'note'  => $note, });   'note'  => $note,
            'id'    => $token->[2]->{'id'},});
  }   }
     }      }
  }   }
Line 228  function finish_import() { Line 230  function finish_import() {
  $begincondition   $begincondition
  opener.document.forms.simpleedit.importdetail.value+='&'+   opener.document.forms.simpleedit.importdetail.value+='&'+
               escape(eval("document.forms.groupsort.title"+num+".value"))+'='+                escape(eval("document.forms.groupsort.title"+num+".value"))+'='+
       escape(eval("document.forms.groupsort.filelink"+num+".value"));        escape(eval("document.forms.groupsort.filelink"+num+".value"))+'='+
         escape(eval("document.forms.groupsort.id"+num+".value"));
  $endcondition   $endcondition
     }      }
     opener.document.forms.simpleedit.submit();      opener.document.forms.simpleedit.submit();
Line 245  function finish_import() { Line 248  function finish_import() {
  placeResourceInLastRow(   placeResourceInLastRow(
        eval("document.forms.groupsort.title"+num+".value"),         eval("document.forms.groupsort.title"+num+".value"),
         eval("document.forms.groupsort.filelink"+num+".value"),          eval("document.forms.groupsort.filelink"+num+".value"),
           eval("document.forms.groupsort.id"+num+".value"),
        linkflag         linkflag
  );   );
         linkflag=true;          linkflag=true;
Line 266  function insertRowInLastRow() { Line 270  function insertRowInLastRow() {
     opener.insertrow(opener.maxrow);      opener.insertrow(opener.maxrow);
     opener.addobj(opener.maxrow,'e&2');      opener.addobj(opener.maxrow,'e&2');
 }  }
 function placeResourceInLastRow (title,url,linkflag) {  function placeResourceInLastRow (title,url,id,linkflag) {
     opener.mostrecent=opener.newresource(opener.maxrow,2,opener.escape(title),      opener.mostrecent=opener.newresource(opener.maxrow,2,opener.escape(title),
        opener.escape(url),'false','normal');         opener.escape(url),'false','normal',id);
     opener.save();      opener.save();
     if (linkflag) {      if (linkflag) {
  opener.joinres(opener.linkmode,opener.mostrecent,0);   opener.joinres(opener.linkmode,opener.mostrecent,0);
Line 393  END Line 397  END
  $r->print(&movers($clen,$ctr));   $r->print(&movers($clen,$ctr));
     }      }
  }   }
  $r->print(&hidden($ctr-1,$resource->{'title'},$resource->{'url'}));   $r->print(&hidden($ctr-1,$resource->{'title'},$resource->{'url'},
     $resource->{'id'}));
  if (($clen > 1)  || ($env{'form.readfile'}) || ($env{'form.bookmarks'})) {   if (($clen > 1)  || ($env{'form.readfile'}) || ($env{'form.bookmarks'})) {
     $r->print("</td>");      $r->print("</td>");
             unless (($env{'form.readfile'}) || ($env{'form.bookmarks'})) {              unless (($env{'form.readfile'}) || ($env{'form.bookmarks'})) {
Line 425  END Line 430  END
   
 # --------------------------------------- Hidden values (returns scalar string)  # --------------------------------------- Hidden values (returns scalar string)
 sub hidden {  sub hidden {
     my ($sel,$title,$filelink) = @_;      my ($sel,$title,$filelink,$id) = @_;
     my $string = '<input type="hidden" name="title'.$sel.'" value="'.$title.      my $string = '<input type="hidden" name="title'.$sel.'" value="'.$title.
  '" />';   '" />';
     $filelink=~s|^/ext/|http://|;      $filelink=~s|^/ext/|http://|;
     $string .= '<input type="hidden" name="filelink'.$sel.'" value="'.      $string .= '<input type="hidden" name="filelink'.$sel.'" value="'.
  $filelink.'" />';   $filelink.'" />';
       $string .= '<input type="hidden" name="id'.$sel.'" value="'.$id.'" />';
     return $string;      return $string;
 }  }
   

Removed from v.1.57  
changed lines
  Added in v.1.60


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