--- loncom/homework/edit.pm 2007/06/19 20:24:42 1.108 +++ loncom/homework/edit.pm 2008/10/24 16:22:54 1.116 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.108 2007/06/19 20:24:42 banghart Exp $ +# $Id: edit.pm,v 1.116 2008/10/24 16:22:54 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -61,7 +61,7 @@ sub tag_start { if (!$description) { $description="<$tag>"; } } $result.= &start_table($token)."<tr><td>$description</td> - <td>Delete". + <td>".&mt('Delete?').' '. &deletelist($target,$token) ."</td> <td>". @@ -128,7 +128,7 @@ sub end_table { return $result; } -sub start_spanning_row { return '<tr><td colspan="4" bgcolor="#DDDDDD">';} +sub start_spanning_row { return '<tr><td colspan="5" bgcolor="#DDDDDD">';} sub start_row { return '<tr><td bgcolor="#DDDDDD">'; } sub end_row { return '</td></tr>'; } @@ -145,7 +145,7 @@ sub deletelist { my ($target,$token) = @_; my $result = "<select name=\"delete_$Apache::lonxml::curdepth\"> <option></option> -<option>Yes</option> +<option>".&mt('yes')."</option> </select>"; return $result; } @@ -215,7 +215,7 @@ sub innerinsertlist { if ($target eq 'edit') { my $optionlist= &get_insert_list($tagname); if ($optionlist) { - $result = "Insert: + $result = &mt('Insert:')." <select name=\"insert$after\_$Apache::lonxml::curdepth\"> $optionlist </select>" @@ -577,7 +577,8 @@ sub element_change_detection { } sub submit_ask_anyway { - return ' onclick="still_ask=true;" '; + my ($extra_action) = @_; + return ' onclick="still_ask=true;'.$extra_action.'" '; } sub textarea_sizes { @@ -597,7 +598,7 @@ sub textarea_sizes { sub editline { my ($tag,$data,$description,$size)=@_; $data=&HTML::Entities::encode($data,'<>&"'); - if ($description) { $description="<br />".$description."<br />"; } + if ($description) { $description=$description."<br />"; } my $change_code = &element_change_detection(); my $result = <<"END"; $description @@ -619,7 +620,7 @@ sub editfield { if ($cols > 80) { $cols = 80; } if ($cols < $minwidth ) { $cols = $minwidth; } if ($rows < $minheight) { $rows = $minheight; } - if ($description) { $description="<br />".$description."<br />"; } + if ($description) { $description=$description."<br />"; } if ($usehtmlarea) { &Apache::lonhtmlcommon::add_htmlareafields('homework_edit_'. $Apache::lonxml::curdepth); @@ -672,6 +673,10 @@ sub get_new_args { $token->[2]->{$arg}=$newvalue; } $rebuild=1; + # add new attributes to the of the attribute seq + if (!grep { $arg eq $_ } (@{ $token->[3] })) { + push(@{ $token->[3] },$arg); + } } elsif (!defined($newvalue) && defined($value)) { delete($token->[2]->{$arg}); $rebuild=1; @@ -686,11 +691,13 @@ sub rebuild_tag { my $result; if ($token->[0] eq 'S') { $result = '<'.$token->[1]; - while (my ($key,$val)= each(%{$token->[2]})) { - $val=~s:^\s+|\s+$::g; - $val=~s:"::g; #" - &Apache::lonxml::debug("setting :$key: to :$val:"); - $result.=' '.$key.'="'.$val.'"'; + foreach my $attribute (@{ $token->[3] }) { + my $value = $token->[2]{$attribute}; + next if ($value eq ''); + $value =~s/^\s+|\s+$//g; + $value =~s/\"//g; + &Apache::lonxml::debug("setting :$attribute: to :$value:"); + $result.=' '.$attribute.'="'.$value.'"'; } if ($token->[4] =~ m:/>$:) { $result.=' />'; @@ -733,11 +740,11 @@ sub checked_arg { $text=$option; $value='value="'.$option.'"'; } - $result.="<nobr><label><input type='checkbox' $value name='". - &html_element_name($name)."'"; + $result.="<nobr><label><input type=\"checkbox\" $value name=\"". + &html_element_name($name)."\""; foreach my $selected (split(/,/,$allselected)) { if ( $selected eq $option ) { - $result.=" checked='checked' "; + $result.=" checked=\"checked\" "; last; } } @@ -773,12 +780,12 @@ sub select_arg { $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"'; } if ( $selected eq $option ) { - $optionlist.="<option $value selected=\"selected\">$text</option>\n"; + $optionlist.="<option $value selected=\"selected\">".&mt($text)."</option>\n"; } else { - $optionlist.="<option $value >$text</option>\n"; + $optionlist.="<option $value >".&mt($text)."</option>\n"; } } - $result.='<nobr>'.$description.' <select name="'. + $result.='<nobr>'.&mt($description).' <select name="'. &html_element_name($name).'" '.&element_change_detection().' > '.$optionlist.' </select></nobr>'; @@ -873,7 +880,7 @@ sub entercoords { $data{"imagechoice.$id.formwidth"}=$width.'_'. $Apache::edit::bgimgsrccurdepth; } - &Apache::lonnet::appenv(%data); + &Apache::lonnet::appenv(\%data); my $text="Click Coordinates"; my $result='<a href="/adm/imagechoice?token='.$id.'" target="imagechoice">'.$text.'</a>'; return $result; @@ -906,7 +913,7 @@ sub entercoord { $data{"imagechoice.$id.formwidth"}=$width.'_'. $Apache::edit::bgimgsrccurdepth; } - &Apache::lonnet::appenv(%data); + &Apache::lonnet::appenv(\%data); my $text="Enter Coordinates"; if ($type eq 'polygon') { $text='Create Polygon Data'; } my $result='<a href="/adm/imagechoice?token='.$id.'" target="imagechoice">'.$text.'</a>';