--- loncom/interface/lonprintout.pm 2012/10/12 13:48:08 1.620 +++ 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.620 2012/10/12 13:48:08 raeburn 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: @@ -2605,6 +2609,7 @@ sub print_construction_sequence { # For item 100, filtering was done at the helper level. sub output_data { + my ($r,$helper,$rparmhash) = @_; my %parmhash = %$rparmhash; $ssi_error = 0; # This will be set nonzero by failing ssi's. @@ -2878,7 +2883,6 @@ ENDPART ($print_type eq 'select_sequences') or ($print_type eq 'map_incomplete_problems_seq') ) { - #-- produce an output string if (($print_type eq 'map_problems') or @@ -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; @@ -3533,7 +3556,6 @@ sub print_resources { my $namepostfix = "\\\\"; # Both anon and not anon should get the same vspace. - # # Figure out if we need to filter the output by # the incomplete problems for that person @@ -3800,7 +3822,6 @@ sub handler { } &init_perm(); - my $helper = printHelper($r); if (!ref($helper)) { return $helper; @@ -4219,7 +4240,7 @@ sub printHelper { 'RESOURCES', 'PAGESIZE', $map, - ! $isProblem, '', + $isProblem, '', $symbFilter, $start_new_option); $helperFragment .= &generate_resource_chooser('CHOOSE_PROBLEMS_HTML',