--- rat/lonratedt.pm 2003/10/21 20:40:10 1.48 +++ rat/lonratedt.pm 2004/04/24 15:05:16 1.55 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Edit Handler for RAT Maps # -# $Id: lonratedt.pm,v 1.48 2003/10/21 20:40:10 albertel Exp $ +# $Id: lonratedt.pm,v 1.55 2004/04/24 15:05:16 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,10 +25,7 @@ # # http://www.lon-capa.org/ # -# (TeX Content Handler -# -# 05/29/00,05/30 Gerd Kortemeyer) -# 7/1,6/30 Gerd Kortemeyer + package Apache::lonratedt; @@ -176,7 +173,7 @@ use Apache::loncommon; use Apache::lonlocal; use File::Copy; -use vars qw(@order @resources); +use vars qw(@order @resources @resparms); # Mapread read maps into global arrays @links and @resources, determines status @@ -206,7 +203,11 @@ sub mapread { $links[$number]=$content; } if ($command eq 'objparms') { - return('Map has resource parameters. Use advanced editor.',1); + if ($resparms[$number]) { + $resparms[$number].='&&&'.$content; + } else { + $resparms[$number]=$content; + } } } # ------------------------------------------------------- Is this a linear map? @@ -220,13 +221,13 @@ sub mapread { my ($start,$end,$cond)=split(/\:/,$_); if ((defined($starters[$start])) || (defined($endings[$end]))) { return - ('Map has branchings. Use advanced editor.',1); + (&mt('Map has branchings. Use advanced editor.'),1); } $starters[$start]=1; $endings[$end]=1; if ($cond) { return - ('Map has conditions. Use advanced editor.',1); + (&mt('Map has conditions. Use advanced editor.'),1); } } @@ -235,7 +236,7 @@ sub mapread { if (defined($resources[$i])) { unless (($starters[$i]) || ($endings[$i])) { return - ('Map has unconnected resources. Use advanced editor.',1); + (&mt('Map has unconnected resources. Use advanced editor.'),1); } } } @@ -414,12 +415,15 @@ sub buttons { my $adv=shift; my $output='
'; if ($adv==1) { - $output.=''; + $output.=''. + &Apache::loncommon::help_open_topic('Sequence_Advanced_Editor_Creation');; } else { unless ($adv==2) { - $output.=''; + $output.=''. + &Apache::loncommon::help_open_topic('Sequence_Simple_Editor_Creation'); } - $output.=''; + $output.=''. + &Apache::loncommon::help_open_topic('Sequence_Advanced_Editor_Creation'); } return $output.'

'; } @@ -511,6 +515,13 @@ sub storemap { if (defined($resources[$order[$i]])) { $output.='<&>objcont<:>'.$order[$i].'<:>'.$resources[$order[$i]]; } + if (defined($resparms[$order[$i]])) { + foreach (split('&&&',$resparms[$order[$i]])) { + if ($_) { + $output.='<&>objparms<:>'.$order[$i].'<:>'.$_; + } + } + } if (defined($order[$i+1])) { if (defined($resources[$order[$i+1]])) { $output.='<&>objlinks<:>'.$k.'<:>'. @@ -527,6 +538,7 @@ sub storemap { sub editscript { my $mode=shift; + my $resurl=&Apache::loncommon::lastresurl(); return(<You are working with an unsaved version of your map.
'; + ''.&mt('You are working with an unsaved version of your map.').'
'; my ($errtext,$fatal)=&mapread($tmpfn,''); } # ---------------------------------------------------------- Process form input @@ -878,7 +890,7 @@ sub smpedt { $importdetail='&'.$importdetail; $importdetail=~s/^\&+/\&/; my $importwindow= - ''. + ''. join("\n",map { $idx++; if ($_) { @@ -893,7 +905,7 @@ sub smpedt { $idx=0; $targetdetail=''; my $targetwindow= - ''. + ''. join("\n",map { my ($name,$url)=split(/\:/,$resources[$_]); unless ($name) { $name=(split(/\//,$url))[-1]; } @@ -907,7 +919,10 @@ sub smpedt { # ----------------------------------------------------- Start simple RAT screen my $editscript=&editscript('simple'); - my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1); + my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1). + &Apache::loncommon::help_open_topic('Sequence_Simple_Editor_Creation'). + &Apache::loncommon::help_open_faq(6). + &Apache::loncommon::help_open_bug('RAT'); my %lt=&Apache::lonlocal::texthash( 'sa' => 'Save', 'nt' => 'New Title', @@ -923,6 +938,10 @@ sub smpedt { 'mu' => 'Move Up', 'md' => 'Move Down', 're' => 'Rename', + 'as' => 'after selected', + 'cs' => 'Cut selected', + 'ps' => 'Copy selected', + 'pas' => 'Paste after selected', ); $r->print(< @@ -986,7 +1005,7 @@ $buttons -after selected +$lt{'as'}
-after selected +$lt{'as'}
@@ -1018,13 +1037,13 @@ $importwindow -Cut selected
+$lt{'cs'}


-Copy selected
+$lt{'ps'}


-Paste after selected
+$lt{'pas'}