--- loncom/xml/londefdef.pm 2021/12/14 21:10:40 1.456.2.6 +++ loncom/xml/londefdef.pm 2024/09/04 18:31:28 1.456.2.6.2.5 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.456.2.6 2021/12/14 21:10:40 raeburn Exp $ +# $Id: londefdef.pm,v 1.456.2.6.2.5 2024/09/04 18:31:28 raeburn Exp $ # # # Copyright Michigan State University Board of Trustees @@ -50,7 +50,7 @@ use Apache::lonlocal; use Apache::loncommon(); use Apache::Constants qw(:common); use File::Basename; -use LONCAPA(); +use LONCAPA; # use Data::Dumper; BEGIN { @@ -367,7 +367,7 @@ sub start_title { $Apache::londefdef::title = &Apache::lonxml::get_all_text('/title',$parser,$style); } elsif ($target eq 'tex') { - $currentstring .= '\keephidden{Title of the document: ' + $currentstring .= '\keephidden{Title of the document: '; } if ($target eq 'meta') { $currentstring=''; @@ -612,6 +612,9 @@ sub start_body { if ($env{'request.use_absolute'}) { $args->{'use_absolute'} = $env{'request.use_absolute'}; } + if ($env{'form.only_body'}) { + $args->{'only_body'} = 1; + } } $currentstring = &Apache::loncommon::start_page($Apache::londefdef::title, @@ -646,9 +649,10 @@ sub start_body { sub edit_controls { my ($nochgview) = @_; - my $result .= ' + my ($is_course_doc,$is_supp,$supp_path,$supp_title); + my $result = ' <form method="post" action=""> -<div class="LC_edit_problem_header">'; +<div class="LC_edit_problem_header">'."\n"; unless ($nochgview) { $result .= ' <div class="LC_edit_problem_header_row1">'. @@ -657,7 +661,21 @@ sub edit_controls { </div>'; } $result .= ' -<div><input type="submit" name="editmode" accesskey="e" value="'.&mt('Edit').'" />'; +<div> +<input type="hidden" name="editmode" value="" /> +<input type="button" name="editordefault" accesskey="e" value="'.&mt('Edit'). +'" onclick="seteditmode(this.form,'."'edit'".');" />'."\n"; + if ($env{'browser.type'} ne 'explorer' || $env{'browser.version'} > 9) { + my $uri = $env{'request.uri'}; + if ($uri =~ /\.(xml|html|htm|xhtml|xhtm)$/) { + my %editors = &Apache::loncommon::permitted_editors($uri); + if ($editors{'daxe'}) { + my $daxeurl = '/daxepage'.$uri; + $result .= '<input type="button" name="editordaxe" value="'.&mt('Edit with Daxe'). + '" onclick="seteditmode(this.form,'."'daxe'".');" />'."\n"; + } + } + } if (($env{'request.course.id'}) && ($env{'form.forceedit'})) { my $url=&Apache::lonnet::hreflocation('',$env{'request.filename'}); if ($url =~ /\.html?$/i) { @@ -665,11 +683,19 @@ sub edit_controls { if ($env{'request.course.id'}) { $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + if ($url =~ m{^\Q/uploaded/$cdom/$cnum/\E(supplemental|docs)/}) { + if ($1 eq 'supplemental') { + $is_supp = 1; + } + $is_course_doc = 1; + } if ($env{'request.filename'} =~ m{/userfiles/supplemental/default|\d+/}) { - if (&Apache::lonnet::is_course_upload($env{'request.filename'}, - $cnum,$cdom)) { + my $fn=&Apache::lonnet::declutter($env{'request.filename'}); + if (&Apache::lonnet::is_course_upload($fn,$cnum,$cdom)) { &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['folderpath','title']); + $supp_path = &escape(&HTML::Entities::decode($Apache::lonnet::env{'form.folderpath'})); + $supp_title = &escape(&HTML::Entities::decode($Apache::lonnet::env{'form.title'})); } } } @@ -697,7 +723,9 @@ sub edit_controls { </div> </form> '; - return $result; + my $setedit_js = &Apache::lonxml::seteditor_javascript($is_course_doc,$is_supp, + $supp_path,$supp_title); + return $setedit_js."\n".$result; } sub end_body { @@ -3267,12 +3295,12 @@ sub end_externallink { return $currentstring; } -#-- <blankspace heigth=""> +#-- <blankspace height=""> sub start_blankspace { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $currentstring = &end_p(); # closes off any unclosed <p> if ($target eq 'tex') { - my $howmuch = &Apache::lonxml::get_param('heigth',$parstack,$safeeval,undef,1); + my $howmuch = &Apache::lonxml::get_param('height',$parstack,$safeeval,undef,1); $currentstring .= '\vskip '.$howmuch.' '; } return $currentstring; @@ -4278,10 +4306,10 @@ sub resize_image { $height_param=$TeXwidth/$old_width_param*$height_param; } } elsif ($TeXheight) { - $height_param = $TeXheight; if ($height_param) { $width_param = $TeXheight/$height_param*$width_param; } + $height_param = $TeXheight; } elsif ($width) { my $old_width_param=$width_param; $width_param = $width*$scaling;