--- loncom/interface/lonprintout.pm 2012/11/20 12:03:06 1.622 +++ loncom/interface/lonprintout.pm 2012/12/08 20:10:26 1.625 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.622 2012/11/20 12:03:06 foxr Exp $ +# $Id: lonprintout.pm,v 1.625 2012/12/08 20:10:26 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -718,7 +718,7 @@ sub incomplete { # print_resources. # sub master_seq_to_person_seq { - my ($helper, $seq, $who) = @_; + my ($helper, $seq, $who, $code) = @_; my ($username, $userdomain, $usersection) = split(/:/, $who); @@ -732,7 +732,8 @@ sub master_seq_to_person_seq { my @output_seq; my ($map, $id, $url) = &Apache::lonnet::decode_symb($helper->{VARS}->{'symb'}); - my $navmap = Apache::lonnavmaps::navmap->new($username, $userdomain); + my $navmap = Apache::lonnavmaps::navmap->new($username, $userdomain, + $code); my $iterator = $navmap->getIterator($navmap->firstResource(), $navmap->finishResource(), {}, 1); @@ -2060,6 +2061,7 @@ sub unsupported { my $result.= &print_latex_header($mode); if ($currentURL=~m|^(/adm/wrapper/)?ext/|) { $currentURL=~s|^(/adm/wrapper/)?ext/|http://|; + $currentURL=~s|^http://https://|https://|; my $title=&Apache::lonnet::gettitle($symb); $title = &Apache::lonxml::latex_special_symbols($title); $result.=' \strut \\\\ '.$title.' \strut \\\\ '.$currentURL.' '; @@ -2139,6 +2141,8 @@ sub print_page_in_course { my @page_resources = $navmap->retrieveResources($resource_src); $result .= &print_page_in_course($helper, $rparmhash, $resource_src, \@page_resources); + } elsif ($resource->ext()) { + $result .= &unsupported($currentURL,$mode,$symb); } # these resources go through the XML transformer: @@ -3201,7 +3205,6 @@ ENDPART my $old_name=$helper->{'VARS'}->{'REUSE_OLD_CODES'}; my $single_code = $helper->{'VARS'}->{'SINGLE_CODE'}; my $selected_code = $helper->{'VARS'}->{'CODE_SELECTED_FROM_LIST'}; - my $code_option=$helper->{'VARS'}->{'CODE_OPTION'}; my @lines = &Apache::grades::get_scantronformat_file(); my ($code_type,$code_length,$bubbles_per_row)=('letter',6,10); @@ -3218,6 +3221,19 @@ ENDPART } } } + my ($randomorder,$randompick); + if ($helper->{VARS}{'symb'}) { + my $navmap = Apache::lonnavmaps::navmap->new(); + if (defined($navmap)) { + my ($map,$id,$resource) = + &Apache::lonnet::decode_symb($helper->{VARS}{'symb'}); + if ($map) { + my $res = $navmap->getResourceByUrl($map); + $randomorder = $res->randomorder(); + $randompick = $res->randompick(); + } + } + } my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth)); $moreenv{'problem_split'} = $parmhash{'problem_stream_switch'}; $moreenv{'instructor_comments'}='hide'; @@ -3279,9 +3295,16 @@ ENDPART } else { $moreenv{'CODE'}=&num_to_letters($code); } + my $actual_seq = \@master_seq; + if ($randomorder) { + $env{'form.CODE'} = $moreenv{'CODE'}; + $actual_seq = master_seq_to_person_seq($helper,\@master_seq,undef, + $moreenv{'CODE'}); + delete($env{'form.CODE'}); + } my ($output,$fullname, $printed)= &print_resources($r,$helper,'anonymous',$type,\%moreenv, - \@master_seq,$flag_latex_header_remove, + $actual_seq,$flag_latex_header_remove, $LaTeXwidth); $resources_printed .= ":"; $print_array[$file_num].=$output;