--- loncom/homework/lonhomework.pm 2023/11/17 17:02:21 1.380 +++ loncom/homework/lonhomework.pm 2024/01/13 12:07:13 1.382 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.380 2023/11/17 17:02:21 raeburn Exp $ +# $Id: lonhomework.pm,v 1.382 2024/01/13 12:07:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -949,7 +949,7 @@ STATE sub analyze_header { my ($request) = @_; - my $js = &Apache::structuretags::setmode_javascript(); + my $js = &Apache::lonxml::setmode_javascript(); # Breadcrumbs my $text = 'Authoring Space'; @@ -1198,7 +1198,7 @@ sub editxmlmode { my $js = &Apache::edit::js_change_detection(). &Apache::loncommon::resize_textarea_js(). - &Apache::structuretags::setmode_javascript(). + &Apache::lonxml::setmode_javascript(). &Apache::lonhtmlcommon::dragmath_js("EditMathPopup"); # Breadcrumbs @@ -2000,8 +2000,8 @@ sub do_ltipassback { if ($scope eq 'resource') { $total = $item->{'total'}; $possible = $item->{'possible'}; - } elsif ($scope eq 'map') { - ($total,$possible) = &get_lti_score($uname,$udom,$map); + } elsif (($scope eq 'map') || ($scope eq 'nonrec')) { + ($total,$possible) = &get_lti_score($uname,$udom,$map,$scope); } elsif ($scope eq 'course') { ($total,$possible) = &get_lti_score($uname,$udom); } @@ -2016,7 +2016,7 @@ sub do_ltipassback { } sub get_lti_score { - my ($uname,$udom,$mapurl) = @_; + my ($uname,$udom,$mapurl,$scope) = @_; my $navmap = Apache::lonnavmaps::navmap->new($uname,$udom); if (ref($navmap)) { my $iterator; @@ -2024,7 +2024,11 @@ sub get_lti_score { my $map = $navmap->getResourceByUrl($mapurl); my $firstres = $map->map_start(); my $finishres = $map->map_finish(); - $iterator = $navmap->getIterator($firstres,$finishres,undef,1); + my $recursive = 1; + if ($scope eq 'nonrec') { + $recursive = 0; + } + $iterator = $navmap->getIterator($firstres,$finishres,undef,$recursive); } else { $iterator = $navmap->getIterator(undef,undef,undef,1); }