Diff for /loncom/homework/response.pm between versions 1.236 and 1.240

version 1.236, 2014/08/28 14:41:18 version 1.240, 2015/02/22 01:34:48
Line 56  use Apache::lonnet; Line 56  use Apache::lonnet;
 use Apache::inputtags();  use Apache::inputtags();
 use Apache::lonmaxima();  use Apache::lonmaxima();
 use Apache::lonr();  use Apache::lonr();
   use Apache::lontexconvert();
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::response',('responseparam','parameter','dataresponse','customresponse','mathresponse'));      &Apache::lonxml::register('Apache::response',('responseparam','parameter','dataresponse','customresponse','mathresponse'));
Line 180  sub setrandomnumber { Line 181  sub setrandomnumber {
     } else {      } else {
  ($rndmod,$rndmod2)=&Apache::lonnet::digest("$id1,$id2");   ($rndmod,$rndmod2)=&Apache::lonnet::digest("$id1,$id2");
     }      }
     $Apache::lonhomework::results{'resource.'.$id1.'.rawrndseed'}=$rndseed;  
     if ($rndseed =~/([,:])/) {      if ($rndseed =~/([,:])/) {
  my $char=$1;   my $char=$1;
  use integer;   use integer;
Line 197  sub setrandomnumber { Line 197  sub setrandomnumber {
  }   }
     }      }
     &Apache::lonxml::debug("randseed $rndmod $rndseed");      &Apache::lonxml::debug("randseed $rndmod $rndseed");
     $Apache::lonhomework::results{'resource.'.$id1.'.rndseed'}=$rndseed;  
     &Apache::lonnet::setup_random_from_rndseed($rndseed);      &Apache::lonnet::setup_random_from_rndseed($rndseed);
     return '';      return '';
 }  }
Line 577  sub start_mathresponse { Line 576  sub start_mathresponse {
 }  }
   
 sub edit_mathresponse_button {  sub edit_mathresponse_button {
     my ($id,$field)=@_;      my ($partid,$id)=@_;
     my $button=&mt('Edit Answer');      my $field = 'HWVAL_'.$partid.'_'.$id;
 #    my $helplink=&Apache::loncommon::help_open_topic('Formula_Editor');      my $btype = $env{'browser.type'};
     my $iconpath=$Apache::lonnet::perlvar{'lonIconsURL'};      my $bversion = $env{'browser.version'};
     return(<<ENDFORMULABUTTON);      if (($btype eq 'explorer' && $bversion < 9) || ($btype eq 'safari' && $bversion < 3) ||
           ($btype eq 'mozilla' && $bversion < 3)) {
         # DragMath applet
         my $button=&mt('Edit Answer');
   #     my $helplink=&Apache::loncommon::help_open_topic('Formula_Editor');
         my $iconpath=$Apache::lonnet::perlvar{'lonIconsURL'};
         return(<<ENDFORMULABUTTON);
 <script type="text/javascript" language="JavaScript">  <script type="text/javascript" language="JavaScript">
 function edit_${id}_${field} (textarea) {  function LC_mathedit_${field} (LCtextline) {
     thenumber = textarea;      thenumber = LCtextline;
     thedata = document.forms['lonhomework'].elements[textarea].value;      var thedata = '';
       if (document.getElementById(LCtextline)) {
           thedata = document.getElementById(LCtextline).value;
       }
     newwin = window.open("/adm/dragmath/MaximaPopup.html","","width=565,height=400,resizable");      newwin = window.open("/adm/dragmath/MaximaPopup.html","","width=565,height=400,resizable");
 }  }
 </script>  </script>
 <a href="javascript:edit_${id}_${field}('${field}');void(0);"><img class="stift" src="$iconpath/stift.gif" alt="$button" title="$button" /></a>  <a href="javascript:LC_mathedit_${field}('${field}');void(0);"><img class="stift" src="$iconpath/stift.gif" alt="$button" title="$button" /></a>
 ENDFORMULABUTTON  ENDFORMULABUTTON
         
       } else {
           # LON-CAPA math equation editor
           my $mathjaxjs;
           unless (lc(&Apache::lontexconvert::tex_engine()) eq 'mathjax') {
               $mathjaxjs = <<"MATHJAX_SCRIPT";
   var mathjaxscript = document.createElement("script");
       mathjaxscript.type = "text/javascript";
       mathjaxscript.src = "/adm/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
       document.body.appendChild(mathjaxscript);
   MATHJAX_SCRIPT
           }
           return(<<EQ_EDITOR_SCRIPT);
   <script type="text/javascript">
     var LCmathField = document.getElementById('${field}');
     LCmathField.className += ' math'; // note the space
     LCmathField.setAttribute('data-implicit_operators', 'true');
     var LCMATH_started;
     if (typeof LCMATH_started === 'undefined') {
       $mathjaxjs
       LCMATH_started = true;
       var script = document.createElement("script");
       script.type = "text/javascript";
       script.src = "/adm/LC_math_editor/LC_math_editor.min.js";
       document.body.appendChild(script);
       window.addEventListener('load', function(e) {
           LCMATH.initEditors();
       }, false);
     }
   </script>
   EQ_EDITOR_SCRIPT
       }
 }  }
   
 sub end_mathresponse {  sub end_mathresponse {
Line 653  sub end_mathresponse { Line 693  sub end_mathresponse {
         my $id = $Apache::inputtags::response[-1];          my $id = $Apache::inputtags::response[-1];
         if (($Apache::inputtags::status['-1'] eq 'CAN_ANSWER')          if (($Apache::inputtags::status['-1'] eq 'CAN_ANSWER')
            && (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) {             && (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) {
             $result.=&edit_mathresponse_button($id,"HWVAL_$id");              $result.=&edit_mathresponse_button($partid,$id);
         }          }
     }      }
   

Removed from v.1.236  
changed lines
  Added in v.1.240


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>