--- loncom/homework/functionplotresponse.pm 2012/10/08 11:04:46 1.101 +++ loncom/homework/functionplotresponse.pm 2024/05/29 16:23:10 1.111 @@ -1,7 +1,7 @@ # LearningOnline Network with CAPA # Functionplot responses # -# $Id: functionplotresponse.pm,v 1.101 2012/10/08 11:04:46 foxr Exp $ +# $Id: functionplotresponse.pm,v 1.111 2024/05/29 16:23:10 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -49,9 +49,35 @@ BEGIN { # Return a true value if HTML5 should be used. sub useHTML5 { - if ($env{'browser.type'} eq 'chrome') { return 1; } - if (($env{'browser.type'} eq 'safari') && - ($env{'browser.os'} eq 'mac')) { return 1; } + if ($env{'browser.type'} eq 'chrome') { + if ($env{'browser.version'} >= 14) { + return 1; + } + } elsif ($env{'browser.type'} eq 'safari') { + if ($env{'browser.os'} eq 'mac') { + my ($prefix,$version) = ($env{'browser.version'} =~ /^(\d*)(\d{3})\./); + if ($version >= 536) { + return 1; + } + } + } elsif ($env{'browser.type'} eq 'mozilla') { + if ($env{'browser.info'} =~ /^firefox\-(\d+)/) { + my $firefox = $1; + if ((($env{'browser.os'} eq 'mac') && ($firefox >= 20)) || + (($env{'browser.os'} eq 'unix') && ($firefox >= 17)) || + (($env{'browser.os'} eq 'win') && ($firefox >= 14))) { + return 1; + } + } + } elsif ($env{'browser.type'} eq 'explorer') { + if (($env{'browser.os'} eq 'win') && ($env{'browser.version'} >= 10)) { + return 1; + } + } elsif ($env{'browser.type'} eq 'opera') { + if ($env{'browser.version'} >= 18) { + return 1; + } + } return 0; } @@ -135,7 +161,7 @@ sub html5_geogebra_startcode { return (<<ENDSTARTCODE); <article class="geogebraweb" data-param-enableLabelDrags="false" data-param-enableShiftDragZoom="false" data-param-width="$width" data-param-height="$height" data-param-id="ggbApplet$appid" -data-param-ggbbase64="$code"></article> +data-param-useBrowserForJS="true" data-param-allowUpscale="true" data-param-ggbbase64="$code"></article> ENDSTARTCODE } @@ -158,7 +184,7 @@ sub java_geogebra_default_parameters { <param name="boxborder" value="false" /> <param name="centerimage" value="true" /> <param name="cache_archive" value="geogebra.jar, geogebra_main.jar, geogebra_gui.jar, geogebra_cas.jar, geogebra_export.jar, geogebra_algos.jar, geogebra_javascript.jar, geogebra_properties.jar, jlatexmath.jar, jlm_cyrillic.jar, jlm_greek.jar" /> - <param name="cache_version" value="4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0" /> + <param name="cache_version" value="4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0" /> <param name="framePossible" value="false" /> <param name="showResetIcon" value="false" /> @@ -887,7 +913,7 @@ sub start_functionplotrule { $result=&Apache::edit::tag_start($target,$token,'Function Plot Graph Rule'). &Apache::edit::text_arg('Index/Name:','index', $token,'10').' '. - &Apache::edit::select_arg(&mt('Function:'),'derivativeorder', + &Apache::edit::select_arg('Function:','derivativeorder', [['0','Function itself'], ['1','First derivative'], ['2','Second derivative'], @@ -1431,7 +1457,7 @@ sub start_functionplotresponse { my $ylabel=&Apache::lonxml::get_param('ylabel',$parstack,$safeeval); if ($target eq 'edit') { $result.=&Apache::edit::start_table($token) - .'<tr><td><span class="LC_nobreak">'.&mt('Function Plot Question').'</span></td>' + .'<tr><td><span class="LC_nobreak">'.&Apache::loncommon::insert_folding_button().&mt('Function Plot Question').'</span></td>' .'<td><span class="LC_nobreak">'.&mt('Delete?').' ' .&Apache::edit::deletelist($target,$token).' ' .&Apache::edit::insertlist($target,$token).' ' @@ -1485,7 +1511,7 @@ sub start_functionplotresponse { $env{'form.counter'},$Apache::lonxml::curdepth); &Apache::lonxml::add_script_result( &Apache::loncommon::modal_adhoc_window($function_name,700,500, - '<pre>'.$Apache::functionplotresponse::ruleslog.'</pre>', + '<pre style="background-color:#ffffff;">'.$Apache::functionplotresponse::ruleslog.'</pre>', &mt('Rules Log'))."<br />"); } return $result; @@ -2018,7 +2044,7 @@ sub start_functionplotruleset { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; if ($target eq 'edit') { return &Apache::edit::start_table($token). - '<tr><td><span class="LC_nobreak">'.&mt('Function Plot Rule Set').'</span></td>' + '<tr><td><span class="LC_nobreak">'.&Apache::loncommon::insert_folding_button().&mt('Function Plot Rule Set').'</span></td>' .'<td><span class="LC_nobreak">'.&mt('Delete?').' ' .&Apache::edit::deletelist($target,$token).' '. &Apache::edit::insertlist($target,$token).' ' @@ -2211,7 +2237,8 @@ sub start_functionplotelements { if ($target eq 'edit') { return &Apache::edit::start_table($token). - '<tr><td><span class="LC_nobreak">'.&mt('Function Plot Elements').'</span></td>' + '<tr><td><span class="LC_nobreak">'.&Apache::loncommon::insert_folding_button() + .&mt('Function Plot Elements').'</span></td>' .'<td><span class="LC_nobreak">'.&mt('Delete?').' ' .&Apache::edit::deletelist($target,$token).' '. &Apache::edit::insertlist($target,$token).' '