diff --git a/.github/workflows/moodle-ci.yml b/.github/workflows/moodle-ci.yml index 4288298334b..70640034cb4 100644 --- a/.github/workflows/moodle-ci.yml +++ b/.github/workflows/moodle-ci.yml @@ -39,19 +39,15 @@ jobs: - php: '8.2' moodle-branch: 'MOODLE_404_STABLE' database: 'pgsql' - maxima: 'GCL' + maxima: 'SBCL' - php: '8.1' moodle-branch: 'MOODLE_403_STABLE' database: 'pgsql' - maxima: 'SBCL' + maxima: 'GCL' - php: '8.1' moodle-branch: 'MOODLE_402_STABLE' database: 'pgsql' maxima: 'GCL' - - php: '8.0' - moodle-branch: 'MOODLE_402_STABLE' - database: 'pgsql' - maxima: 'SBCL' # Edinburgh is planning to run the setup below for 2023-24. - php: '7.4' moodle-branch: 'MOODLE_401_STABLE' diff --git a/Readme.md b/Readme.md index 7c0350e3233..671ccd8ac7f 100644 --- a/Readme.md +++ b/Readme.md @@ -1,4 +1,4 @@ -# STACK 4.6.0 +# STACK 4.7.0 STACK is an assessment system for mathematics, science and related disciplines. STACK is a question type for the Moodle learning management system, and also the ILIAS learning management system. STACK has an API for stand-alone integration into other 3rd party systems. diff --git a/adminui/caschat.php b/adminui/caschat.php index 4c3eace2d5d..021b9b0bc4c 100644 --- a/adminui/caschat.php +++ b/adminui/caschat.php @@ -132,6 +132,9 @@ if ($keyvals->get_valid()) { $kvcode = $keyvals->compile('test'); $statements = []; + if ($kvcode['blockexternal']) { + $statements[] = new stack_secure_loader($kvcode['blockexternal'], 'caschat', 'blockexternal'); + } if ($kvcode['contextvariables']) { $statements[] = new stack_secure_loader($kvcode['contextvariables'], 'caschat'); } diff --git a/amd/build/input.min.js b/amd/build/input.min.js index 09f05bec0b2..382b470bc7a 100644 --- a/amd/build/input.min.js +++ b/amd/build/input.min.js @@ -19,6 +19,6 @@ * @copyright 2018 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -define("qtype_stack/input",["core/ajax","core_filters/events"],(function(Ajax,CustomEvents){function StackInput(validationDiv,prefix,qaid,name,input,language){var TYPING_DELAY=1e3,delayTimeoutHandle=null,validationResults={},lastValidatedValue=getInputValue();function cancelTypingDelay(){delayTimeoutHandle&&clearTimeout(delayTimeoutHandle),delayTimeoutHandle=null}function valueChanging(){cancelTypingDelay(),showWaiting(),delayTimeoutHandle=setTimeout(valueChanged,TYPING_DELAY),setTimeout((function(){checkNoChange()}),0)}function checkNoChange(){getInputValue()===lastValidatedValue&&(cancelTypingDelay(),validationDiv.classList.remove("waiting"))}function valueChanged(){cancelTypingDelay(),showValidationResults()||validateInput()}function validateInput(){Ajax.call([{methodname:"qtype_stack_validate_input",args:{qaid:qaid,name:name,input:getInputValue(),lang:language},done:function(response){validationReceived(response)},fail:function(response){showValidationFailure(response)}}]),showLoading()}function getInputValue(){return input.getValue()}function validationReceived(response){"invalid"!==response.status?(validationResults[response.input]=response,showValidationResults()):showValidationFailure(response)}function extractScripts(html,scriptCommands){for(var result,scriptregexp=/ + +