Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
a1e15a5
iss1171 - reactive start
EJMFarrow Sep 23, 2025
a34f275
iss1171 - modal
EJMFarrow Sep 24, 2025
5758632
iss1171 - Working basic display
EJMFarrow Nov 6, 2025
65f120c
iss1171 - bump version
EJMFarrow Dec 1, 2025
acfc5c8
iss1171 - Working reaction
EJMFarrow Dec 1, 2025
87bcb1b
iss1171 - Display
EJMFarrow Dec 1, 2025
42dfb85
iss1171 - Display
EJMFarrow Dec 2, 2025
bb06d38
iss1171 - Update multiple
EJMFarrow Dec 3, 2025
8acee22
iss1171 - Sub component
EJMFarrow Dec 3, 2025
161a615
iss1171 - Add/delete contributor. Basic update from JSON.
EJMFarrow Dec 4, 2025
4fdd983
iss1171 - Format JSON
EJMFarrow Dec 4, 2025
a535acf
iss1171 - Start on additional info
EJMFarrow Dec 4, 2025
609984c
iss1171 - Additional info, ispartof.
EJMFarrow Dec 8, 2025
6409ebd
iss1171 - Basic language, license
EJMFarrow Dec 9, 2025
369a766
iss1171 - Licence options
EJMFarrow Dec 11, 2025
2c5632d
iss1171 - Fix incomplete JSON
EJMFarrow Dec 11, 2025
d3f18fa
iss1171 - Catch closing. Update output. Sanitise input JSON.
EJMFarrow Dec 12, 2025
6842a12
iss1171 - Basic save to question
EJMFarrow Dec 12, 2025
13c424f
iss1171 - Fix scope and contributor
EJMFarrow Dec 17, 2025
2b1afaa
iss1171 - Tidy up
EJMFarrow Dec 17, 2025
6db2f91
iss1171 - Add more buttons. Preserve inputs on add/delete. Force upda…
EJMFarrow Dec 18, 2025
fb71443
iss1171 - Formatting
EJMFarrow Dec 18, 2025
481f9cf
iss1171 - Refactor. Catch exceptions.
EJMFarrow Dec 18, 2025
5985162
iss1171 - Add cancel button. Handle saved broken JSON. More formatting.
EJMFarrow Dec 19, 2025
2100c0a
iss1171 - Fix scope updates. Add comments.
EJMFarrow Dec 19, 2025
3fcff66
iss1171 - Update template examples
EJMFarrow Dec 19, 2025
01dd492
iss1171 - Test fixes. Initial Behat test.
EJMFarrow Jan 5, 2026
09e5da8
iss1171 - More tests
EJMFarrow Jan 5, 2026
e76d2ff
iss1171 - Mustache examples
EJMFarrow Jan 6, 2026
2aac5df
iss1171 - More mustache example fixes, accessibility start
EJMFarrow Jan 6, 2026
74fa192
iss1171 - Add accessibility labels
EJMFarrow Jan 6, 2026
f229f25
iss1171 - More Behat.
EJMFarrow Jan 6, 2026
b35c227
iss1171 - Fix labels
EJMFarrow Jan 7, 2026
d90375d
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow Jan 7, 2026
a852063
iss1171 - Code tidy
EJMFarrow Jan 7, 2026
cabc66f
iss1171 - Bump version
EJMFarrow Jan 7, 2026
778db16
iss1171 - CI fixes
EJMFarrow Jan 7, 2026
be463f7
iss1171 - Moodle 4.2 fixes.
EJMFarrow Jan 7, 2026
ef2d2a1
iss1171 - Rebuild stale JS
EJMFarrow Jan 8, 2026
d0cec20
iss1171 - Fix Behat for Moodle 5
EJMFarrow Jan 8, 2026
9283b29
iss1171 - Fix unit test.
EJMFarrow Jan 8, 2026
27a8daa
iss1171 - Moodle 5.2 fixes
EJMFarrow Jan 12, 2026
1bb119f
Display JSON metadata on the question authoring page.
sangwinc Jan 15, 2026
895bc86
iss1171 - Update metadata representation. Show please save message. U…
EJMFarrow Mar 2, 2026
60c9d81
Merge branch 'iss1171' of https://github.com/maths/moodle-qtype_stack…
EJMFarrow Mar 2, 2026
32ebf8f
iss1171 - UPdate JS build
EJMFarrow Mar 2, 2026
0ff216a
WIP: new pattern for adding icons.
sangwinc Mar 13, 2026
0797165
iss1171 - Add prescribedmetadata field.
EJMFarrow Mar 23, 2026
65a387c
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow Mar 23, 2026
98fef8f
iss1171 - Allow lists
EJMFarrow Mar 25, 2026
2e8bb88
iss1771 - Reject mix of qualifiers and no qualifiers
EJMFarrow Mar 27, 2026
7c18d1a
iss1171 - Add prescribedmetadata to test Qs.
EJMFarrow Mar 27, 2026
f01420b
iss1171 - Add missed file.
EJMFarrow Mar 27, 2026
d78e953
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow Mar 27, 2026
fecb9f1
iss1171 - More test fixes.
EJMFarrow Mar 27, 2026
ba57e09
iss1171 - Fix order.
EJMFarrow Mar 27, 2026
66222e0
iss1171 - Fix issue with first additional property entry. Update beha…
EJMFarrow Mar 27, 2026
e2de76f
iss1171 - Fix for Moodle 4.2
EJMFarrow Mar 27, 2026
a4f717d
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow May 1, 2026
961d172
iss1171 - Update version
EJMFarrow May 1, 2026
259be97
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow May 4, 2026
2b92afb
Add in stub for metadata documentation. #1171.
sangwinc May 6, 2026
44eafa7
iss1171 - Add metadata documentation. Fix metadata summary display fo…
EJMFarrow May 7, 2026
5644d71
iss1171 - Add freeform field
EJMFarrow May 14, 2026
92ede3d
iss1171 - Fix Behat. Add first JS test.
EJMFarrow May 15, 2026
611313c
iss1171 - Update CI
EJMFarrow May 15, 2026
0238c21
iss1171 - UPdate Behat to check freeform metadata
EJMFarrow May 15, 2026
64fd220
iss1171 - Add more JS tests
EJMFarrow May 15, 2026
61ba70b
iss1171 - Update JS builds
EJMFarrow May 15, 2026
09461c4
iss1171 - Rest of metadata JS tests
EJMFarrow May 15, 2026
c6fe11d
iss1171 - Rebuild stale JS in latest version of Moodle
EJMFarrow May 18, 2026
b126a90
iss1171 - Add validation of metadata for length and broken JSON.
EJMFarrow May 19, 2026
bb5f747
iss1171 - Remove required from last name
EJMFarrow May 20, 2026
c7bee61
iss1171 - Change creator/contributor to author
EJMFarrow Jun 16, 2026
1b4a08f
iss1171 - Fix initial metadata display
EJMFarrow Jun 16, 2026
8398c83
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow Jun 16, 2026
cc7c987
iss1171 - Fix tests
EJMFarrow Jun 16, 2026
a2721ca
freetext-fixes - Deal with mobile race condition. Always use CHTML in…
EJMFarrow Jun 24, 2026
decfd30
Fix malformed exponent lexes
vuvanhieu143 Jun 25, 2026
afa1c4b
freetext-fixes - Fix test
EJMFarrow Jun 25, 2026
5f7b159
metadata edit form ui overhaul
m-r-k Jun 25, 2026
cb7fa2f
metadata edit scope pencil icon
m-r-k Jun 25, 2026
47ab074
freetext-fixes - Re-export sample questions
EJMFarrow Jun 25, 2026
056a104
freetext-fixes - Line ending workaround for API + iframe fix
EJMFarrow Jun 25, 2026
869667f
freetext-fixes - Revert unnecessary fix
EJMFarrow Jun 25, 2026
88da48f
freetext-fixes - Harden line end match
EJMFarrow Jun 25, 2026
4715594
Update Development_track.md
EJMFarrow Jun 25, 2026
363e8c0
Merge pull request #1782 from maths/freetext-fixes
sangwinc Jun 26, 2026
a1d2253
Add test cases related to pr #1780.
sangwinc Jun 26, 2026
535d283
Merge pull request #1780 from vuvanhieu143/wip1025191
sangwinc Jun 26, 2026
5b8bde9
Add lexer fix to comma lexer.
sangwinc Jun 26, 2026
97a00cb
Fix more lexer issues...
aharjula Jun 26, 2026
63dd9aa
Merge remote-tracking branch 'origin/dev' into pr1780
sangwinc Jun 26, 2026
e0f7593
Fix unit test results.
sangwinc Jun 26, 2026
08673d8
Pre-release tidy of docs, and library file names.
sangwinc Jun 26, 2026
c3aa7e2
Merge pull request #1784 from maths/pr1780
sangwinc Jun 26, 2026
cd38593
Prepare for the 4.13.0 release.
sangwinc Jun 26, 2026
572c656
Bump version numbers for the v4.13.0 release.
sangwinc Jun 29, 2026
24174be
freetext-improve - Scroll synch prototype
EJMFarrow Jun 29, 2026
4443732
freetext-improve - Only match ascii block scroll if manually altered.
EJMFarrow Jun 29, 2026
656a0c9
freetext-improve - Simplify
EJMFarrow Jun 29, 2026
8a6efe8
Bump version number ahead of master.
sangwinc Jun 29, 2026
ecb316d
Merge remote-tracking branch 'origin/iss1704' into dev
sangwinc Jun 29, 2026
d57ca40
Add in filesize check to the stacklibrary checks, and rename some que…
sangwinc Jun 29, 2026
2704b97
bugfix pencil
m-r-k Jun 30, 2026
e016324
moves trash icon
m-r-k Jun 30, 2026
e12a5a3
Fix typo in question.
sangwinc Jun 30, 2026
af9f14d
Simplify answer notes.
sangwinc Jun 30, 2026
7545e22
iss1787 - Fix formatting of sorted table
EJMFarrow Jun 30, 2026
de33fb8
Confirm max question library file size.
sangwinc Jun 30, 2026
f4db4b0
STACK: add line numbers/ highlight to Question and Feedback variables
vuvanhieu143 Jun 30, 2026
8b8d618
freetext-healthcheck - Add freetext to healthcheck
EJMFarrow Jul 1, 2026
d86bb6d
freetext-improve - Simplify to one-way synch
EJMFarrow Jul 1, 2026
e8b4cd3
STACK: Update maxima highlight and fix code review
vuvanhieu143 Jul 2, 2026
9fad8c2
Allow case sensitive validator/feedback function names. Issue #1792.
sangwinc Jul 2, 2026
03b3ddf
Merge pull request #1791 from maths/iss1787
sangwinc Jul 2, 2026
b523349
Merge pull request #1793 from maths/iss1792
sangwinc Jul 2, 2026
1cb04cf
Tidy question.
sangwinc Jul 2, 2026
4b64274
freetext-healthcheck - Tidy healthcheck table
EJMFarrow Jul 7, 2026
b46f799
freetext-improve - Update packages
EJMFarrow Jul 7, 2026
03926ac
freetext-improve - Simplify
EJMFarrow Jul 7, 2026
2f8d8a8
freetext-improve - Make boxes the same size
EJMFarrow Jul 7, 2026
2686adf
freetext-improve - Remove launch file
EJMFarrow Jul 7, 2026
5353737
STACK: Allow ace editor to run on behat
vuvanhieu143 Jul 8, 2026
5b02f46
freetext-improve - Tidy up
EJMFarrow Jul 8, 2026
5e62955
freetext-healthcheck - Update CI
EJMFarrow Jul 9, 2026
7388c89
freetext-healthcheck - Minimise change
EJMFarrow Jul 9, 2026
bdee5f1
nrw10 - Add language option to requests
EJMFarrow Jul 10, 2026
3c97019
nrw11 - Add more grading data in structured form
EJMFarrow Jul 10, 2026
360945c
Merge pull request #1798 from maths/freetext-healthcheck
sangwinc Jul 13, 2026
296ec82
Merge branch 'master' of https://github.com/maths/moodle-qtype_stack …
EJMFarrow Jul 14, 2026
8169ae8
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow Jul 14, 2026
387c4a3
Merge pull request #1799 from maths/freetext-improve
sangwinc Jul 14, 2026
2788206
Merge pull request #1801 from maths/nrw10
sangwinc Jul 14, 2026
5aa5c03
Update developer track.
sangwinc Jul 14, 2026
55c4009
Merge pull request #1790 from vuvanhieu143/wip985752
sangwinc Jul 14, 2026
47f93ec
Merge pull request #1805 from maths/line-numbering
sangwinc Jul 14, 2026
b6e4a6e
Fix to bug with onum: #1797.
sangwinc Jul 14, 2026
5278b70
Merge pull request #1804 from maths/nrw11
sangwinc Jul 14, 2026
cac20b2
Merge pull request #1806 from maths/iss1797
sangwinc Jul 14, 2026
fc52370
STACK: Add resizable support for the Ace Editor.
vuvanhieu143 Jul 16, 2026
c38fc80
Merge pull request #1809 from vuvanhieu143/resizeeditor
sangwinc Jul 16, 2026
0cfd6af
Fix bug in ATFacForm to resolve issue #1870
sangwinc Jul 16, 2026
3bef49f
STACK: Fix the js unit test failed due to missing ResizeObserver
vuvanhieu143 Jul 17, 2026
6687753
Merge pull request #1810 from vuvanhieu143/resizeeditor
sangwinc Jul 17, 2026
0bdb5cf
Improve layout of aligneq.js.
sangwinc Jul 17, 2026
6239f8c
Code tidy.
sangwinc Jul 17, 2026
d64c682
Merge pull request #1811 from maths/iss1870
sangwinc Jul 17, 2026
fe35258
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow Jul 17, 2026
4be6d99
Merge pull request #1812 from maths/aligneq
sangwinc Jul 17, 2026
b2943c6
Test case to confirm issue #1659 is fixed.
sangwinc Jul 17, 2026
d800f23
iss1171 - Bump version for DB upgrade
EJMFarrow Jul 17, 2026
8f2c905
behat-fix - Sticky footer fix
EJMFarrow Jul 17, 2026
212b9a3
Add notes for issue #1813.
sangwinc Jul 17, 2026
80e9f7e
Merge pull request #1814 from maths/behat-fix
EJMFarrow Jul 20, 2026
33b99ec
Merge branch 'dev' of https://github.com/maths/moodle-qtype_stack int…
EJMFarrow Jul 20, 2026
83c5a04
metadata edit: click-to-edit table for property rows
m-r-k Jul 24, 2026
91aa2e0
fix author
m-r-k Jul 24, 2026
5f69b8f
Merge branch 'iss1171_atlas' of https://github.com/maths/moodle-qtype…
EJMFarrow Jul 27, 2026
3a3e9bc
iss1171 - Change to single edit switch
EJMFarrow Jul 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/moodle-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@ jobs:
https://sourceforge.net/projects/maxima/files/Maxima-Linux-RPM/5.42.2-Linux/maxima-${maxima}_5.42.2-1_amd64.deb

sudo locale-gen en_AU.UTF-8
sudo apt-get install libtinfo5
sudo apt-get update
sudo apt-get install -y libtinfo5
sudo dpkg -i libreadline7_7.0-3_amd64.deb maxima-common_5.42.2-1_all.deb maxima-${maxima}_5.42.2-1_amd64.deb

echo "LANG=en_AU.UTF-8" >> $GITHUB_ENV
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
site/*
tests/jest/node_modules/*

# Ignore macOS .DS_Store files
.DS_Store
.DS_Store

# Ignore eclipse project files
.project
2 changes: 1 addition & 1 deletion Readme.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# STACK 4.12.0
# STACK 4.13.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.

Expand Down
23 changes: 23 additions & 0 deletions ace/ace.js

Large diffs are not rendered by default.

156 changes: 156 additions & 0 deletions ace_stack/mode-stack.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
ace.define("ace/mode/stack", [
"require",
"exports",
"module",
"ace/lib/oop",
"ace/mode/text",
"ace/mode/text_highlight_rules"
], function(require, exports, module) {

"use strict";

const oop = require("../lib/oop");
const TextMode = require("./text").Mode;
const TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;

// =========================
// Highlight Rules
// =========================
const StackHighlightRules = function() {

// 1. Core Logic Keywords (Maxima)
var keywords = [
"if", "then", "else", "elseif", "do", "while", "for", "step",
"thru", "block", "return", "break", "continue", "go"
].join("|");

// 2. Maxima + STACK Built-in Functions
var builtInFunctions = [
// STACK Specific APIs
"rand", "rand_with_prohib", "rand_with_step", "rand_selection",
"make_mult_sgn", "trig_standardise", "make_trig",
"stack_disp", "stack_disp_comma", "stack_include",
"castext", "tex", "disp", "display",
// STACK Answer Tests
"AlgEquiv", "CasEqual", "SubstEquiv", "SysEquiv", "FacForm",
// Maxima Base Functions (Evaluation & Manipulation)
"at", "ev", "subst", "nounify", "unary", "binary", "part",
"first", "rest", "append", "map", "float", "ratsimp", "expand",
"factor", "simplify", "fullratsimp", "int", "rhs", "lhs",
// Maxima Calculus
"diff", "integrate", "limit", "sum", "product", "taylor", "laplace", "ilt",
// Maxima Algebra & Matrices
"solve", "linsolve", "algsys", "matrix", "determinant", "invert",
"transpose", "eigenvalues", "eigenvectors", "ident", "zeromatrix",
// Maxima Trigonometry & Math
"sin", "cos", "tan", "asin", "acos", "atan", "sinh", "cosh", "tanh",
"log", "exp", "sqrt", "abs", "max", "min", "signum", "mod"
].join("|");

// 3. Variables & Constants
var stackVariables = [
// STACK PRT and Inputs
"ans1", "ans2", "ans3", "ans4", "ans5",
"prt1", "prt2", "prt3", "prt4", "prt5",
"ta", "ta1", "ta2", "ta3", "sa"
].join("|");

var maximaSettings = [
// Common Maxima environment variables
"fpprec", "fpprintprec", "display2d", "keepfloat",
"simp", "radexpand", "algebraic", "ratfac", "trigsign"
].join("|");

var booleanOps = ["and", "or", "not"].join("|");

// Expanded Maxima Constants
var constants = [
"%pi", "%e", "%i", "%gamma", "%phi",
"inf", "minf", "und", "ind", "infinity",
"true", "false", "done"
].join("|");

// 4. Keyword Mapper Configuration
var keywordMapper = this.createKeywordMapper({
"keyword": keywords,
"support.function": builtInFunctions,
"variable.language": stackVariables + "|" + maximaSettings,
"constant.language": constants,
"keyword.operator": booleanOps
}, "identifier", false);

// RULES
this.$rules = {
"start": [
{ token: "comment.line", regex: "//.*$" },
{ token: "comment.block", regex: "/\\*", next: "comment" },

// CASText tags remain in start state for text outside strings
{ token: "support.other.castext", regex: "\\{@|@\\}|\\{#|#\\}" },

// Redirect to stateful string handling
{ token: "string", regex: '"', next: "string_double" },
{ token: "string", regex: "'", next: "string_single" },

{ token: "keyword.operator.absolute", regex: "\\|" },
{ token: "keyword.operator.assignment.stack", regex: "#" },
{ token: "keyword.operator.assignment", regex: ":=" },
{ token: "keyword.operator", regex: "=|<=|>=|<|>|\\+|\\-|\\*|/|\\^|\\.|!!|!|::|''" },
{ token: "constant.numeric", regex: "\\b\\d+(\\.\\d+)?\\b" },

// Prioritize function names before keyword mapper catches them as general identifiers
{ token: "entity.name.function", regex: "[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*\\([^\\)]*\\)\\s*:=)"},
{ token: "support.function.call", regex: "[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*\\()" },

// Map identifiers (This uses the keyword mapper we defined above)
{ token: keywordMapper, regex: "%?[a-zA-Z_][a-zA-Z0-9_]*\\b" },

{ token: "paren.lparen", regex: "[\\(\\[\\{]" },
{ token: "paren.rparen", regex: "[\\)\\]\\}]" },
{ token: "punctuation.operator", regex: "," },
{ token: "invalid.illegal", regex: "[@`$&\\\\]" }
],
"string_double": [
// 1. Priority: CASText must come first
{ token: "support.other.castext", regex: "\\{@|@\\}|\\{#|#\\}" },
// 2. Escape sequences
{ token: "string", regex: '\\\\.', next: "string_double" },
// 3. String content (explicitly stop at the CASText characters)
{ token: "string", regex: '[^"\\\\{@#]+', next: "string_double" },
// 4. Closing quote
{ token: "string", regex: '"', next: "start" }
],
"string_single": [
{ token: "support.other.castext", regex: "\\{@|@\\}|\\{#|#\\}" },
{ token: "string", regex: '\\\\.', next: "string_single" },
{ token: "string", regex: "[^'\\\\{@#]+", next: "string_single" },
{ token: "string", regex: "'", next: "start" }
],
"comment": [
{ token: "comment.block", regex: ".*?\\*/", next: "start" },
{ token: "comment.block", regex: ".+" }
]
};

this.normalizeRules();
};

oop.inherits(StackHighlightRules, TextHighlightRules);

// =========================
// Mode
// =========================
var Mode = function() {
this.HighlightRules = StackHighlightRules;
};

oop.inherits(Mode, TextMode);

(function() {
this.lineCommentStart = "//";
this.blockComment = { start: "/*", end: "*/" };
this.$id = "ace/mode/stack";
}).call(Mode.prototype);

exports.Mode = Mode;
});
2 changes: 1 addition & 1 deletion adminui/caschat.php
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@
$links = [];
$qtype = new qtype_stack();
$qtestlink = $qtype->get_question_test_url($question);
$links[] = html_writer::link($qtestlink, '<i class="fa fa-wrench"></i> '
$links[] = html_writer::link($qtestlink, stack_string('runquestiontests_icon')
. stack_string('runquestiontests'), ['class' => 'nav-link']);
$qpreviewlink = qbank_previewquestion\helper::question_preview_url($questionid, null, null, null, null, $context);
$links[] = html_writer::link($qpreviewlink, '<i class="fa fa-plus-circle"></i> '
Expand Down
22 changes: 12 additions & 10 deletions adminui/healthcheck.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,18 +89,20 @@
$healthcheck = new stack_cas_healthcheck($config);
$tab = '';
foreach ($healthcheck->get_test_results() as $test) {
$tl = '';
if (true === $test['result']) {
$tl .= html_writer::tag('td', stack_string('testsuitepass'));
} else if (false === $test['result']) {
$tl .= html_writer::tag('td', stack_string('testsuitefail'));
} else {
$tl .= html_writer::tag('td', ' ');
if ($test['summary']) {
$tl = '';
if (true === $test['result']) {
$tl .= html_writer::tag('td', stack_string('testsuitepass'));
} else if (false === $test['result']) {
$tl .= html_writer::tag('td', stack_string('testsuitefail'));
} else {
$tl .= html_writer::tag('td', ' ');
}
$tl .= html_writer::tag('td', $test['summary']);
$tab .= html_writer::tag('tr', $tl) . "\n";
}
$tl .= html_writer::tag('td', $test['summary']);
$tab .= html_writer::tag('tr', $tl) . "\n";
}
echo html_writer::tag('table', $tab);
echo html_writer::tag('table', $tab, ['class' => 'generaltable table']);
if ($healthcheck->get_overall_result()) {
echo html_writer::tag('p', stack_string('healthcheckpass'), ['class' => 'overallresult pass']);
} else {
Expand Down
3 changes: 3 additions & 0 deletions amd/build/ace_editor.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions amd/build/ace_editor.min.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading