--- loncom/homework/structuretags.pm 2008/11/25 13:16:17 1.435 +++ loncom/homework/structuretags.pm 2009/03/09 21:24:12 1.439 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.435 2008/11/25 13:16:17 jms Exp $ +# $Id: structuretags.pm,v 1.439 2009/03/09 21:24:12 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1331,7 +1331,7 @@ sub start_languageblock { $target eq 'tex' || $target eq 'analyze' || $target eq 'webgrade') { my $include = $token->[2]->{'include'}; my $exclude = $token->[2]->{'exclude'}; - my @preferred_languages=&Apache::loncommon::preferred_languages(); + my @preferred_languages=&Apache::lonlocal::preferred_languages(); # This should not even happen, since we should at least have the server language if (!$preferred_languages[0]) { $preferred_languages[0]='en'; } # Now loop over all languages in order of preference @@ -1599,6 +1599,20 @@ sub start_randomlist { my $showarg=&Apache::lonxml::get_param('show',$parstack,$safeeval); $showarg--; if ( ($showarg >= 0) && ($showarg < $show) ) { $show = $showarg; } + if (($target eq 'analyze') && ($env{'form.check_parts_withrandomlist'})) { + my @currlist; + my $part = $Apache::inputtags::part; + if ($part ne '') { + if (ref($Apache::lonhomework::analyze{'parts_withrandomlist'}) eq 'ARRAY') { + my @currlist = @{$Apache::lonhomework::analyze{'parts_withrandomlist'}}; + if (!(grep(/^\Q$part\E$/,@currlist))) { + push(@{$Apache::lonhomework::analyze{'parts_withrandomlist'}},$part); + } + } else { + push(@{$Apache::lonhomework::analyze{'parts_withrandomlist'}},$part); + } + } + } for(0 .. $show) { $bodytext .= "$randomlist[ $idx_arr[$_] ]"; } @@ -1942,11 +1956,10 @@ sub end_startouttext { if ($target eq 'edit') { my $areaid = 'homework_edit_'.$Apache::lonxml::curdepth; $text=&Apache::lonxml::get_all_text("endouttext",$parser,$style); - - $result.=&Apache::edit::start_table($token)."".&mt('Text Block')." -".&mt('Delete:'). - &Apache::edit::deletelist($target,$token) - .""; + $result.=&Apache::edit::start_table($token)."".&mt('Text Block')."" + .''.&mt('Delete?').' ' + .&Apache::edit::deletelist($target,$token) + .''; unless ($env{'environment.wysiwygeditor'} eq 'on') { $result .= '' .&Apache::lonhtmlcommon::dragmath_button($areaid,1)