--- loncom/homework/structuretags.pm 2023/11/17 17:02:21 1.580 +++ loncom/homework/structuretags.pm 2024/01/13 12:07:13 1.583 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.580 2023/11/17 17:02:21 raeburn Exp $ +# $Id: structuretags.pm,v 1.583 2024/01/13 12:07:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -297,7 +297,7 @@ sub homework_js { } return &Apache::loncommon::resize_textarea_js(). &Apache::loncommon::colorfuleditor_js(). - &setmode_javascript(). + &Apache::lonxml::setmode_javascript(). <<"JS"; -ENDSCRIPT -} - sub page_start { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$name, $extra_head)=@_; @@ -857,6 +842,9 @@ sub problem_edit_buttons { if ($editors{'edit'}) { $result.=&problem_edit_action_button('subedit','edit','e','Edit',1); } + if ($editors{'daxe'}) { + $result.=&problem_edit_action_button('subdaxe','daxe','w','Edit with Daxe',1); + } $result.=&problem_edit_action_button('subundo','undoxml','u','Undo',1); if (&Apache::loncommon::nocodemirror()) { $result.=&Apache::lonhtmlcommon::dragmath_button("LC_editxmltext",1); @@ -865,6 +853,9 @@ sub problem_edit_buttons { if ($editors{'xml'}) { $result.=&problem_edit_action_button('subeditxml','editxml','x','EditXML',1); } + if ($editors{'daxe'}) { + $result.=&problem_edit_action_button('subdaxe','daxe','w','Edit with Daxe',1); + } $result.=&problem_edit_action_button('subundo','undo','u','Undo',1); } $result.="\n"; @@ -1078,8 +1069,8 @@ $show_all ($env{'browser.type'} ne 'explorer' || $env{'browser.version'} > 9)) { my $uri = $env{'request.uri'}; my $daxeurl = '/daxepage'.$uri; - $result .= ''; + $result .= ''; } $result.=' @@ -1448,20 +1439,25 @@ sub needs_linkprot_passback { $lti_in_use = $domlti{$itemnum}; } my ($state,$others,$listed,$scope,$protect,$display,$target,$exit) = split(/,/,$deeplink); - my $passback; - if ($scope eq 'resource') { + my ($passback,$pbscope); + if ($scope eq 'res') { if ($deeplink_symb eq $symb) { $passback = 1; + $pbscope = 'resource'; } } elsif ($scope eq 'map') { if (&Apache::lonnet::clutter($deeplink_map) eq $map) { $passback = 1; + $pbscope = 'nonrec'; + } + } elsif ($scope eq 'rec') { + my @recurseup = &get_map_hierarchy($map,$env{'request.course.id'}); + if (grep(/^\Q$deeplink_map\E$/,@recurseup)) { + $passback = 1; + $pbscope = 'map'; } - } elsif ($scope eq 'recurse') { -#FIXME check if $deeplink_map contains $map - $passback = 1; } - return ($passback,$scope,$deeplink_map,$deeplink_symb,$crsdef,$itemnum,$lti_in_use); + return ($passback,$pbscope,$deeplink_map,$deeplink_symb,$crsdef,$itemnum,$lti_in_use); } } }