Diff for /rat/client/parameter.html between versions 1.86 and 1.90

version 1.86, 2021/08/04 19:59:12 version 1.90, 2022/07/07 03:37:02
Line 401  function validateInterval() { Line 401  function validateInterval() {
         for (var i=0; i<sform.donebutton.length; i++) {          for (var i=0; i<sform.donebutton.length; i++) {
             if (sform.donebutton[i].checked) {              if (sform.donebutton[i].checked) {
                 if (sform.donebutton[i].value == '_done_proctor') {                  if (sform.donebutton[i].value == '_done_proctor') {
                     if ((sform.donebutton_proctorkey.value == '') ||                       var keyval = sform.donebutton_proctorkey.value;
                         (sform.donebutton_proctorkey.value == null)) {                      if ((keyval == '') || (typeof(keyval) == 'undefined')) {
                         alert('Please enter a key for a proctor to enter when a student uses the "Done" button.');                          alert('Please enter a key for a proctor to enter when a student uses the "Done" button.');
                         return;                          return;
                     }                      }
Line 422  function validateDeepLink() { Line 422  function validateDeepLink() {
     svalue += sform.deeplinkacc.options[sform.deeplinkacc.selectedIndex].value+',';      svalue += sform.deeplinkacc.options[sform.deeplinkacc.selectedIndex].value+',';
     var keyRegExp = /^[a-zA-Z\d_.!@#$%^&*()+=-]+$/;      var keyRegExp = /^[a-zA-Z\d_.!@#$%^&*()+=-]+$/;
     var numRegExp = /^\d+$/;      var numRegExp = /^\d+$/;
       var exitTextRegExp = /^[^'":;,]+$/;
     if (sform.deeplinkprotect.length) {      if (sform.deeplinkprotect.length) {
         for (var i=0; i<sform.deeplinkprotect.length; i++) {          for (var i=0; i<sform.deeplinkprotect.length; i++) {
             if (sform.deeplinkprotect[i].checked) {              if (sform.deeplinkprotect[i].checked) {
Line 476  function validateDeepLink() { Line 477  function validateDeepLink() {
             }              }
         }          }
     }      }
       svalue += ',';
       svalue += sform.deeplinktarget.options[sform.deeplinktarget.selectedIndex].value;
       svalue += ',';
       if (sform.deeplinkexit.length) {
           for (var i=0; i<sform.deeplinkexit.length; i++) {
               if (sform.deeplinkexit[i].checked) {
                   if (sform.deeplinkexit[i].value == 'no') {
                       svalue += sform.deeplinkexit[i].value;
                   } else {
                       var exittext = sform.deeplinkexittext.value;
                       exittext = exittext.replace(/^\s+|\s+$/g,'');
                       if ((exittext.length) && (exitTextRegExp.test(exittext))) {
                           svalue += sform.deeplinkexit[i].value;
                           if (exittext !== 'Exit Tool') {
                               svalue += ':'+exittext;
                           }
                       } else {
                           alert('Please enter the button text. Disallowed characters are ;,":\'\n'+
                                 'or check "not in use" option for "Exit Tool Link"');
                           return;
                       }
                   }
                   break;
               }
           }
       }
     assemble();      assemble();
 }  }
   
Line 525  function toggleDeepLink(caller) { Line 552  function toggleDeepLink(caller) {
             }              }
         }          }
     }      }
       if ((caller == 'exit') && (sform.deeplinkexit.length)) {
           var frame = window.frames["choices"];
           for (var i=0; i<sform.deeplinkexit.length; i++) {
               if (sform.deeplinkexit[i].checked) {
                   if (frame.document.getElementById('deeplinkexitdiv')) {
                       if (sform.deeplinkexit[i].value == 'no') {
                           frame.document.getElementById('deeplinkexitdiv').style.display='none';
                           sform.deeplinkexittext.value = '';
                       } else {
                           frame.document.getElementById('deeplinkexitdiv').style.display='inline-block';
                           if (sform.deeplinkexittext.value == '') {
                               sform.deeplinkexittext.value = 'Exit Tool';
                           }
                           frame.document.getElementById('deeplinkexitdiv').scrollIntoView();
                       }
                   }
                   break;
               }
           }
       }
 }  }
   
 function calldeeplink(caller) {  function calldeeplink(caller) {
Line 634  function lenienteval(newval) { Line 681  function lenienteval(newval) {
         }          }
         var patternRelWeight = /^\-?[\d.]+$/;          var patternRelWeight = /^\-?[\d.]+$/;
         var sform=choices.document.forms.sch;          var sform=choices.document.forms.sch;
         if ((sform.lenientrelwt.length != 'undefined')  && (sform.lenientrelwt.length) != 'null') {          var relwtlength = sform.lenientrelwt.length;
           if ((relwtlength != '') && (typeof(relwtlength) != 'undefined')) {
             for (var i=0; i<sform.lenientrelwt.length; i++) {              for (var i=0; i<sform.lenientrelwt.length; i++) {
                 var relweight = sform.lenientrelwt[i].value;                  var relweight = sform.lenientrelwt[i].value;
                 relweight = relweight.replace(/^\s+|\s+$/g,'');                  relweight = relweight.replace(/^\s+|\s+$/g,'');
Line 1093  function draw() { Line 1141  function draw() {
         if (pscat=='ip') {          if (pscat=='ip') {
             var currallow = new Array;              var currallow = new Array;
             var currdeny = new Array;              var currdeny = new Array;
             if ((svalue != '') && (svalue != null)) {              if ((svalue != '') && (typeof(svalue) != 'undefined')) {
                 var patternComma = /,/;                  var patternComma = /,/;
                 var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/;                  var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/;
                 var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/;                  var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/;
Line 1180  function draw() { Line 1228  function draw() {
        if (pscat=='deeplink') {         if (pscat=='deeplink') {
            var deeplinkvals = new Array();             var deeplinkvals = new Array();
            var linkprotectparts = new Array();             var linkprotectparts = new Array();
            var ltikeyRegExp = /^(ltic|ltid|key):(\w+)$/;             var ltikeyRegExp = /^(ltic:\d+|ltid:\d+|key:[a-zA-Z\d_.!@#$%^&*()+=-]+)$/;
              var linkexitparts = new Array();
              var dlinkexitRegExp = /^(yes|url|no)(|:[^:,;'"]+)$/;
            var dlinkkeysty = 'hidden';             var dlinkkeysty = 'hidden';
            var dlinkkeyval = '';             var dlinkkeyval = '';
            var dlinklticdivsty = 'none';             var dlinklticdivsty = 'none';
            var dlinkltiddivsty = 'none';             var dlinkltiddivsty = 'none';
            var dlinkmenusdivsty = 'none';             var dlinkmenusdivsty = 'none';
            if ((svalue != '') && (svalue != null)) {             var dlinkexitdivsty = 'none';
              var dlinkexittextval = '';
              if ((svalue != '') && (typeof(svalue) != 'undefined')) {
                deeplinkvals = svalue.split(',');                 deeplinkvals = svalue.split(',');
                if (ltikeyRegExp.test(deeplinkvals[4])) {                 if (ltikeyRegExp.test(deeplinkvals[4])) {
                    linkprotectparts = deeplinkvals[4].split(':');                     linkprotectparts = deeplinkvals[4].split(':');
Line 1203  function draw() { Line 1255  function draw() {
                if (deeplinkvals[5] >= 1) {                 if (deeplinkvals[5] >= 1) {
                    dlinkmenusdivsty = 'inline-block';                     dlinkmenusdivsty = 'inline-block';
                }                 }
                  if (dlinkexitRegExp.test(deeplinkvals[7])) {
                      linkexitparts = deeplinkvals[7].split(':');
                      deeplinkvals[7] = linkexitparts[0];
                      if (deeplinkvals[7] != 'no') {
                          dlinkexitdivsty = 'inline-block'; 
                          if (!linkexitparts[1]) {
                              dlinkexittextval = 'Exit Tool';
                          } else {
                              dlinkexittextval = linkexitparts[1];
                          }
                      }
                  }
            } else {             } else {
                deeplinkvals = ['off','unhide','full','res','','0'];                 deeplinkvals = ['off','unhide','full','res','','0','_self','no'];
            }             }
            var deeplinkstate = new Array();             var deeplinkstate = new Array();
            deeplinkstate = ['only','off','both'];             deeplinkstate = ['only','off','both'];
Line 1224  function draw() { Line 1288  function draw() {
            deeplinkscopetxt = ['resource only','enclosing map/folder','recursive map/folder'];             deeplinkscopetxt = ['resource only','enclosing map/folder','recursive map/folder'];
            var deeplinkprotect = new Array();             var deeplinkprotect = new Array();
            deeplinkprotect = ['none','key','ltic','ltid'];             deeplinkprotect = ['none','key','ltic','ltid'];
              var deeplinktarget = new Array();
              deeplinktarget = ['_self','_top'];
              var deeplinktargettxt = new Array();
              deeplinktargettxt = ['Embedded','Not embedded'];
              var deeplinkexit = ['yes','url','no'];
            tablestart('Deep-linked items');             tablestart('Deep-linked items');
            choicewrite('<tr><td>Access status?</td><td>');             choicewrite('<tr><td>Access status?</td><td>');
            choicewrite('<select name="deeplinkstate">');             choicewrite('<select name="deeplinkstate">');
Line 1279  function draw() { Line 1348  function draw() {
            choicewrite('</span><br />');             choicewrite('</span><br />');
   
            var possmenus = new Array();             var possmenus = new Array();
            if ((pextra != '') && (pextra != null)) {             if ((pextra != '') && (typeof(pextra) != 'undefined')) {
                var lticRegExp = /^ltic_/;                 var lticRegExp = /^ltic_/;
                var ltidRegExp = /^ltid_/;                 var ltidRegExp = /^ltid_/;
                var menusRegExp = /^menus_/;                 var menusRegExp = /^menus_/;
Line 1404  function draw() { Line 1473  function draw() {
                }                 }
                choicewrite('</select></div></span><br />');                 choicewrite('</select></div></span><br />');
            }             }
              choicewrite('</td></tr>');
              choicewrite('<tr><td>Embedded?</td><td>');
              choicewrite('<select name="deeplinktarget">');
              for (var i=0; i<deeplinktarget.length; i++) {
                  choicewrite('<option value="'+deeplinktarget[i]+'"');
                  if (deeplinkvals[6] == deeplinktarget[i]) {
                      choicewrite(' selected="selected"');
                  }
                  choicewrite('>'+deeplinktargettxt[i]+'</option>');
              }
              choicewrite('</select>');
              choicewrite('</td></tr>');
              choicewrite('<tr><td>Exit Button?</td><td>');
              choicewrite('<span style="white-space: nowrap;"><label>');
              choicewrite('<input name="deeplinkexit" value="no"'+
                     ' type="radio" '+calldeeplink('exit'));
              if (deeplinkvals[7]=='no') { choicewrite(' checked="checked"'); }
              choicewrite(' />not in use</label></span><br />');
              choicewrite('<span style="white-space: nowrap;"><label>');
              choicewrite('<input name="deeplinkexit" value="yes"'+
                     ' type="radio" '+calldeeplink('exit'));
              if (deeplinkvals[7]=='yes') { choicewrite(' checked="checked"'); }
              choicewrite(' />in use, no redirect</label></span> ');
              choicewrite('<span style="white-space: nowrap;"><label>');
              choicewrite('<input name="deeplinkexit" value="url"'+
                     ' type="radio" '+calldeeplink('exit'));
              if (deeplinkvals[7]=='url') { choicewrite(' checked="checked"'); }
              choicewrite(' />in use, redirect to URL</label></span><br />');
              choicewrite('<div id="deeplinkexitdiv" style="display:'+dlinkexitdivsty+'">');
              choicewrite('<br /><span style="white-space: nowrap;">Button text:&nbsp;');
              choicewrite('<input type="text" name="deeplinkexittext" id="deeplinkexittext" value="'+dlinkexittextval+'" size="10" />');
              choicewrite('</span></div>');
            choicewrite('</td></tr></table>');             choicewrite('</td></tr></table>');
        }         }
    }     }

Removed from v.1.86  
changed lines
  Added in v.1.90


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