--- rat/lonratedt.pm 2002/05/16 21:10:05 1.20 +++ rat/lonratedt.pm 2002/05/18 18:24:34 1.21 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Edit Handler for RAT Maps # -# $Id: lonratedt.pm,v 1.20 2002/05/16 21:10:05 www Exp $ +# $Id: lonratedt.pm,v 1.21 2002/05/18 18:24:34 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -283,20 +283,34 @@ sub pastetarget { foreach (@which) { if (defined($_)) { my ($name,$url)=split(/\=/,$_); - my $idx=$#resources+1; - $insertorder[$#insertorder+1]=$idx; - my $ext='false'; - if ($url=~/^http\:\/\//) { $ext='true'; } - $resources[$idx]=$name.':'.$url.':normal:'.$ext.':res'; + $name=&Apache::lonnet::unescape($name); + $url=&Apache::lonnet::unescape($url); + if ($url) { + my $idx=$#resources+1; + $insertorder[$#insertorder+1]=$idx; + my $ext='false'; + if ($url=~/^http\:\/\//) { $ext='true'; } + $url=~s/\:/\:/g; + $resources[$idx]=$name.':'.$url.':'.$ext.':normal:res'; + } } } - print "insertorder:".join(',',@insertorder).'
'; - print "order:".join(',',@order).'
'; my @oldorder=splice(@order,$after,$#insertorder+1,@insertorder); - print "oldorder:".join(',',@oldorder).'
'; - print "order:".join(',',@order).'
'; - @order=push(@order,@oldorder); - print "order:".join(',',@order).'
'; + @order=(@order,@oldorder); +} + +# ------------------------------------------------ Get start and finish correct +# modifies @resources + +sub startfinish { + foreach (@order) { + my ($name,$url,$ext)=split(/\:/,$resources[$_]); + $resources[$_]=$name.':'.$url.':'.$ext.':normal:res'; + } + my ($name,$url,$ext)=split(/\:/,$resources[0]); + $resources[0]=$name.':'.$url.':'.$ext.':start:res'; + my ($name,$url,$ext)=split(/\:/,$resources[$order[$#order]]); + $resources[$order[$#order]]=$name.':'.$url.':'.$ext.':finish:res'; } # ------------------------------------------------------- Simple edit processor @@ -425,7 +439,8 @@ sub smpedt { } else { $lastsel=$#order; } - &pastetarget($lastsel,split(/\&/,$ENV{'form.importdata'})); + &pastetarget($lastsel,split(/\&/,$ENV{'form.importdetail'})); + &startfinish(); # ------------------------------------------------------------------------- Cut } elsif ($ENV{'form.cut'}) { # ----------------------------------------------------------------------- Paste