--- loncom/interface/lonprintout.pm 2008/12/15 23:12:26 1.545.2.1 +++ loncom/interface/lonprintout.pm 2008/12/21 16:29:56 1.545.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.545.2.1 2008/12/15 23:12:26 raeburn Exp $ +# $Id: lonprintout.pm,v 1.545.2.2 2008/12/21 16:29:56 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2486,17 +2486,23 @@ sub get_randomly_ordered_warning { my $postdata = $env{'form.postdata'} || $helper->{VARS}{'postdata'}; my $navmap = Apache::lonnavmaps::navmap->new(); - my $res = $navmap->getResourceByUrl($map); - if ($res) { - my $func = - sub { return ($_[0]->is_map() && $_[0]->randomorder); }; - my @matches = $navmap->retrieveResources($res, $func,1,1,1); - if (@matches) { - $message = "Some of the items below are in folders set to be randomly ordered. However, when printing the contents of these folders, they will be printed in the original order for all students, not the randomized order."; - } - } - if ($message) { - return ''.$message.''; + if (defined($navmap)) { + my $res = $navmap->getResourceByUrl($map); + if ($res) { + my $func = + sub { return ($_[0]->is_map() && $_[0]->randomorder); }; + my @matches = $navmap->retrieveResources($res, $func,1,1,1); + if (@matches) { + $message = "Some of the items below are in folders set to be randomly ordered. However, when printing the contents of these folders, they will be printed in the original order for all students, not the randomized order."; + } + } + if ($message) { + return ''.$message.''; + } + } else { + &Apache::lonnet::logthis('Retrieval of resources to check for folders set to be randomly ordered failed - could not create navmap object'); + $message = "Retrieval of information about ordering of resources failed."; + return ''.$message.''; } return; }