--- loncom/homework/structuretags.pm 2023/11/17 17:02:21 1.580
+++ loncom/homework/structuretags.pm 2024/01/13 17:35:19 1.584
@@ -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.584 2024/01/13 17:35:19 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,30 @@ 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') {
+ if (&Apache::lonnet::clutter($deeplink_map) eq $map) {
+ $passback = 1;
+ $pbscope = 'map';
+ } else {
+ my @recurseup = &Apache::lonnet::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);
}
}
}