--- loncom/interface/lonnavmaps.pm 2016/03/28 12:39:43 1.518 +++ loncom/interface/lonnavmaps.pm 2016/06/02 16:03:57 1.521 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.518 2016/03/28 12:39:43 raeburn Exp $ +# $Id: lonnavmaps.pm,v 1.521 2016/06/02 16:03:57 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2788,11 +2788,13 @@ sub recurseup_maps { my ($self,$mapname) = @_; my @recurseup; if ($mapname) { - my @pcs = split(/,/,$self->getResourceByUrl(&Apache::lonnet::clutter($mapname))->map_hierarchy()); - shift(@pcs); - pop(@pcs); - if (@pcs) { - @recurseup = map { &Apache::lonnet::declutter($self->getByMapPc($_)->src()); } reverse(@pcs); + my $res = $self->getResourceByUrl($mapname); + if (ref($res)) { + my @pcs = split(/,/,$res->map_hierarchy()); + shift(@pcs); + if (@pcs) { + @recurseup = map { &Apache::lonnet::declutter($self->getByMapPc($_)->src()); } reverse(@pcs); + } } } return @recurseup; @@ -4679,11 +4681,12 @@ sub duedate { my $date; my @interval=$self->parmval("interval", $part); my $due_date=$self->parmval("duedate", $part); - if ($interval[0] =~ /\d+/) { - my $first_access=&Apache::lonnet::get_first_access($interval[1], - $self->{SYMB}); + if ($interval[0] =~ /^(\d+)/) { + my $timelimit = $1; + my $first_access=&Apache::lonnet::get_first_access($interval[1], + $self->{SYMB}); if (defined($first_access)) { - my $interval = $first_access+$interval[0]; + my $interval = $first_access+$timelimit; $date = (!$due_date || $interval < $due_date) ? $interval : $due_date; } else {