--- loncom/homework/daxepage.pm 2024/03/31 01:50:18 1.14 +++ loncom/homework/daxepage.pm 2024/04/14 17:12:28 1.15 @@ -1,7 +1,7 @@ # The LearningOnline Network # Page with Daxe on the left side and the preview on the right side # -# $Id: daxepage.pm,v 1.14 2024/03/31 01:50:18 raeburn Exp $ +# $Id: daxepage.pm,v 1.15 2024/04/14 17:12:28 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -46,9 +46,26 @@ sub handler { my $uri = $request->uri; $uri =~ s{^/daxepage}{}; &Apache::loncommon::content_type($request,'text/html'); - my ($is_not_assess,$is_assess); + my ($is_not_assess,$is_assess,$is_course_doc,$is_supp,$supp_path,$supp_title); if ($uri =~/\.(xml|html|htm|xhtml|xhtm)$/) { $is_not_assess = 1; + if ($Apache::lonnet::env{'request.course.id'}) { + my $cid = $Apache::lonnet::env{'request.course.id'}; + my $cdom = $Apache::lonnet::env{'course.'.$cid.'.domain'}; + my $cnum = $Apache::lonnet::env{'course.'.$cid.'.num'}; + if ($uri =~ m{^/uploaded/\Q$cdom/$cnum\E/(docs|supplemental)/}) { + if ($1 eq 'supplemental') { + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['folderpath','title']); + $is_supp = 1; + $supp_path = &escape(&HTML::Entities::decode($Apache::lonnet::env{'form.folderpath'})); + $supp_title = &escape(&HTML::Entities::decode($Apache::lonnet::env{'form.title'})); + &Apache::lonhtmlcommon::clear_breadcrumbs(); + } + $is_course_doc = 1; + $Apache::lonnet::env{'form.forceedit'} = 1; + } + } } elsif ($uri =~ /$LONCAPA::assess_re/) { unless ($uri =~ /\.form$/) { $is_assess = 1; @@ -58,7 +75,7 @@ sub handler { $request->status(406); return OK; } - my %editors = &Apache::loncommon::permitted_editors(); + my %editors = &Apache::loncommon::permitted_editors($uri); unless ($editors{'daxe'}) { my $msg = '

'. &mt('Daxe editor is not enabled for this Authoring Space.').'

'; @@ -73,7 +90,7 @@ sub handler { 'noif' => 'No iframe support.', 'show' => 'Show content in pop-up window', 'save' => 'Save', - 'text' => 'Text Editor', + 'text' => 'Text Editor', 'oeds' => 'other editors', 'othe' => 'other editor', 'edit' => 'Save and Edit', @@ -96,15 +113,18 @@ sub handler { $headjs .= &Apache::lonxml::setmode_javascript(); $clickexit = "javascript:setmode(this.form,'view');"; } else { - $headjs .= &Apache::lonxml::seteditor_javascript(); + $headjs .= &Apache::lonxml::seteditor_javascript($is_course_doc,$is_supp, + $supp_path,$supp_title); $clickexit = "javascript:seteditmode(this.form,'view');"; } $clicksave = "javascript:daxesave('exit');"; $clickedit = "javascript:daxesave();"; my $form_events = &Apache::edit::form_change_detection(); - my $editheader = '
'. - ''."\n". - '
'."\n"; + my $editheader = ''; + if ($is_assess) { + $editheader .= ''."\n"; + } + $editheader .= '
'."\n"; my $saveeditbutton = ''."\n"; my $exitbutton = ''."\n". ''."\n"; + '" onclick="javascript:seteditmode(this.form,'."'edit'".');" />'."\n"; } else { if ($editors{'edit'}) { $editheader .= '