Diff for /rat/client/parameter.html between versions 1.71.6.1 and 1.72

version 1.71.6.1, 2020/01/14 17:44:27 version 1.72, 2016/05/15 17:40:34
Line 440  function stringeval() { Line 440  function stringeval() {
    draw();     draw();
 }  }
   
 function ipstringeval() {  function radiostringeval(newval) {
     var patternIp = /^([\[\]a-zA-Z\.\d\*\-]+)$/;     svalue=newval;
     var acctypes = new Array;     draw();
     acctypes = ['allow','deny'];  
     svalue = '';  
     for (var i=0; i<acctypes.length; i++) {  
         var items = choices.document.getElementsByName('setip'+acctypes[i]);  
         if (items.length > 0) {  
             for (var j=0; j<items.length; j++) {  
                 if (items[j].type == "text") {  
                     var possip = items[j].value;  
                     possip = possip.replace(/^\s+|\s+$/g,'');  
                     if (patternIp.test(possip)) {  
                         if (acctypes[i] == 'deny') {  
                             possip = '!'+possip;  
                         }  
                         if (svalue == '') {  
                             svalue = possip;  
                         } else {  
                             svalue += ','+possip;  
                         }  
                     }  
                 }  
             }  
         }  
     }  
 }  }
   
 function addIpRule(iptype) {  function callradiostringeval(newval) {
     var frame = window.frames["choices"];      return 'onclick="parent.radiostringeval(\''+newval+'\')"';
     if (frame.document.getElementById('LC_string_ipacc_inner_'+iptype)) {  
         var innerDiv = frame.document.getElementById('LC_string_ipacc_inner_'+iptype);  
         var count = innerDiv.childNodes.length  
         var ipDiv = frame.document.createElement('div');  
         ipDiv.innerHTML = '<input type="text" size="10" name="setip'+iptype+'" onblur="parent.ipstringeval();" />'+  
                           '<a href="#" onclick="parent.removeIpRule(\''+iptype+'\',\''+count+'\')">Remove</a>';  
         frame.document.getElementById('LC_string_ipacc_inner_'+iptype).appendChild(ipDiv);  
     }  
     return false;  
 }  }
   
 function removeIpRule(iptype,num) {  function lenienteval(newval) {
     var frame = window.frames["choices"];      if (newval == 'weighted') {
     if (frame.document.getElementById('LC_string_ipacc_inner_'+iptype)) {          if (document.getElementById('lenientweighteddiv')) {
         var innerDiv = frame.document.getElementById('LC_string_ipacc_inner_'+iptype);              document.getElementById('lenientweighteddiv').style.display='block';
         for (var i=0; i<innerDiv.childNodes.length; i++) {          }
             if (i==num) {          var patternRelWeight = /^\-?[\d.]+$/;
                 innerDiv.removeChild(innerDiv.childNodes[i]);          var sform=choices.document.forms.sch; 
                 ipstringeval();          if ((sform.lenientrelwt.length != 'undefined')  && (sform.lenientrelwt.length) != 'null') {
                 break;              for (var i=0; i<sform.lenientrelwt.length; i++) {
                   var relweight = sform.lenientrelwt[i].value;
                   relweight = relweight.replace(/^\s+|\s+$/g,'');
                   if (!patternRelWeight.test(relweight)) {
                       if (i<2) {
                           relweight = '1.0';
                       } else {
                           relweight = '0.0';
                       }
                   }
                   sform.lenientrelwt[i].value = relweight;
                   if (i==0) {
                       svalue = relweight;
                   } else {
                       svalue += ','+relweight;
                   }
             }              }
         }          }
     }      } else {
           if (document.getElementById('lenientweighteddiv')) {
               document.getElementById('lenientweighteddiv').style.display='none';
           }
           svalue=newval;
       } 
       draw();
 }  }
   
 function radiostringeval(newval) {  function calllenientradioeval(newval) {
    svalue=newval;      return 'onclick="parent.lenienteval(\''+newval+'\')"';
    draw();  
 }  
   
 function callradiostringeval(newval) {  
     return 'onclick="parent.radiostringeval(\''+newval+'\')"';  
 }  }
   
 function callintervalpmodval() {  function callintervalpmodval() {
Line 545  function draw() { Line 529  function draw() {
       choicewrite(' action="javascript:floateval();"');        choicewrite(' action="javascript:floateval();"');
    }     }
    if (ptype=='string') {     if (ptype=='string') {
       if (pscat == 'ip') {        choicewrite(' action="javascript:stringeval();"');
           choicewrite(' action="javascript:ipstringeval();"');  
       } else {  
           choicewrite(' action="javascript:stringeval();"');  
       }  
    }     }
    if (ptype != 'int' && ptype != 'float' && ptype != 'string') {     if (ptype != 'int' && ptype != 'float' && ptype != 'string') {
        choicewrite(' action=""');         choicewrite(' action=""');
Line 833  function draw() { Line 813  function draw() {
            choicewrite('<label><input name="stringval" value="exam"'+             choicewrite('<label><input name="stringval" value="exam"'+
                   ' type="radio" '+callradiostringeval('exam'));                    ' type="radio" '+callradiostringeval('exam'));
            if (svalue=='exam') { choicewrite(' checked="checked"'); }             if (svalue=='exam') { choicewrite(' checked="checked"'); }
            choicewrite(' /> Exam</label><br />');             choicewrite(' /> Bubblesheet Exam</label><br />');
 //         choicewrite('<label><input name="stringval" value="assess"'+  //         choicewrite('<label><input name="stringval" value="assess"'+
 //              ' type="radio" '+callradiostringeval('assess'));  //              ' type="radio" '+callradiostringeval('assess'));
 //         if (svalue=='assess') { choicewrite(' checked="checked"'); }  //         if (svalue=='assess') { choicewrite(' checked="checked"'); }
Line 868  function draw() { Line 848  function draw() {
            choicewrite(' /> Library</label><br />');             choicewrite(' /> Library</label><br />');
         }          }
         if (pscat=='lenient') {          if (pscat=='lenient') {
              var patternLenientStd = /^(yes|no|default)$/;
              var patternLenientRel = /^([\-\d\.]+)\,([\-\d\.]+)\,([\-\d\.]+)\,([\-\d\.]+)$/;
              var lenientweighted = 'none';
              var relatives = new Array;
            tablestart('Lenient Grading (Partial Credit)');             tablestart('Lenient Grading (Partial Credit)');
            choicewrite('<tr><td>Value:</td><td colspan="2">');             choicewrite('<tr><td>Value:</td><td colspan="2">');
            choicewrite('<label><input name="stringval" value="yes"'+             choicewrite('<label><input name="stringval" value="yes"'+
                   ' type="radio" '+callradiostringeval('yes'));                    ' type="radio" '+calllenientradioeval('yes'));
            if (svalue=='yes') { choicewrite(' checked="checked"'); }             if (svalue=='yes') { choicewrite(' checked="checked"'); }
            choicewrite(' /> Yes</label><br />');             choicewrite(' /> Yes</label><br />');
            choicewrite('<label><input name="stringval" value="no"'+             choicewrite('<label><input name="stringval" value="no"'+
                   ' type="radio" '+callradiostringeval('no'));                    ' type="radio" '+calllenientradioeval('no'));
            if (svalue=='no') { choicewrite(' checked="checked"'); }             if (svalue=='no') { choicewrite(' checked="checked"'); }
            choicewrite(' /> No</label><br />');             choicewrite(' /> No</label><br />');
            choicewrite('<label><input name="stringval" value="default"'+             choicewrite('<label><input name="stringval" value="default"'+
                ' type="radio" '+callradiostringeval('default'));                 ' type="radio" '+calllenientradioeval('default'));
            if (svalue=='default') { choicewrite(' checked="checked"'); }             if (svalue=='default') { choicewrite(' checked="checked"'); }
            choicewrite(' /> Default (only bubblesheet grading is lenient)</label><br />');             choicewrite(' /> Default (only bubblesheet grading is lenient)</label><br />');
              choicewrite('<label><input name="stringval" value="weighted"'+
                  ' type="radio" '+calllenientradioeval('weighted'));
              if (!patternLenientStd.test(svalue) && svalue != '') {
                 choicewrite(' checked="checked"');
                 lenientweighted='block';
                 var relatives = svalue.match(patternLenientRel);
              }
              choicewrite(' />Yes, weighted (optionresponse in checkbox mode)</label><br /><br />'+
                          '<div id="lenientweighteddiv" style="display:'+lenientweighted+'">'+
                          '<table class="LC_parmsel_table"><tr bgcolor="#C5DB99">'+
                          '<th colspan="2">Foil submission status</th><th>Points</th></tr>');
              var lenienttypes = ['Correct (checked)','Correct (unchecked)','Incorrect (checked)','Incorrect (unchecked)'];
              for (var i=0; i<lenienttypes.length; i++) {
                  var j = i+1;
                  if (relatives[j] == '') {
                      if (i < 2) {
                          relatives[j] = '1.0';
                      } else {
                          relatives[j] = '0.0';
                      }
                  }
                  choicewrite('<tr><td colspan="2">'+lenienttypes[i]+'</td>'+
                              '<td><input type="text" name="lenientrelwt" value="'+relatives[j]+'"'+
                              ' size="3" onblur="parent.lenienteval(\'weighted\')" /></td></tr>');
              }
              choicewrite('</table></div>');
         }          }
         if (pscat=='discussvote') {          if (pscat=='discussvote') {
            tablestart('Discussion Voting');             tablestart('Discussion Voting');
Line 900  function draw() { Line 910  function draw() {
            choicewrite(' /> No</label><br />');             choicewrite(' /> No</label><br />');
         }          }
         if (pscat=='ip') {          if (pscat=='ip') {
             var currallow = new Array;             tablestart('IP Number/Name');
             var currdeny = new Array;     choicewrite('<tr><td>Value:</td><td colspan="2">');
             if ((svalue != '') && (svalue != null)) {             choicewrite('<input name="stringval" size="20" value="'+escapeHTML(svalue)+
                 var patternComma = /,/;                      '" onchange="parent.stringeval()" />');
                 var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/;  
                 var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/;  
                 var current = new Array;  
                 if (patternComma.test(svalue)) {  
                     current = svalue.split(',');  
                 } else {  
                     current = [svalue];  
                 }  
                 for (var i=0; i<current.length; i++) {  
                     if (patternDeny.test(current[i])) {  
                         var denied = current[i].replace(/^!/,'');  
                         currdeny.push(denied);  
                     } else {  
                         if (patternAllow.test(current[i])) {  
                             currallow.push(current[i]);  
                         }  
                     }  
                 }  
             }  
             if (currdeny.length == 0) {  
                 currdeny = ('');  
             }  
             if (currallow.length == 0) {  
                 currallow = ('');  
             }  
             var curripaccess = [currallow,currdeny];  
             tablestart('IP Number/Name');  
             choicewrite('<tr><th>Allow from</th><th>Deny from</th></tr><tr>');  
             var acctypes = ['allow','deny'];  
             for (var i=0; i<acctypes.length; i++) {  
                 choicewrite('<td valign="top">'+  
                             '<div class="LC_string_ipacc_wrap" id="LC_string_ipacc_'+acctypes[i]+'">'+  
                             '<div class="LC_string_ipacc_inner" id="LC_string_ipacc_inner_'+acctypes[i]+'">');  
                 for (var j=0; j<curripaccess[i].length; j++) {  
                     choicewrite('<div><input type="text" size="10" name="setip'+acctypes[i]+'" value="'+curripaccess[i][j]+'" onblur="parent.ipstringeval();" />');  
                     choicewrite('<a href="#" onclick="parent.removeIpRule(\''+acctypes[i]+'\',\''+j+'\')">Remove</a>');  
                     choicewrite('</div>');  
                 }  
                 choicewrite('</div><button onclick="parent.addIpRule(\''+acctypes[i]+'\');">Add item</button>');  
             }  
             choicewrite('</div></td></tr></table>');  
         }          }
         if (pscat=='fileext') {          if (pscat=='fileext') {
             tablestart('Allowed File Extensions');              tablestart('Allowed File Extensions');

Removed from v.1.71.6.1  
changed lines
  Added in v.1.72


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