Proyectos de Subversion Moodle

Rev

Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?xml version="1.0" encoding="UTF-8" ?>
2
<COMPATIBILITY_MATRIX>
3
  <MOODLE version="1.5">
4
    <DATABASE level="required">
5
      <VENDOR name="mysql" version="3.23" />
6
      <VENDOR name="postgres" version="7.4" />
7
    </DATABASE>
8
    <PHP version="4.1.0" level="required" />
9
    <PHP_EXTENSIONS>
10
      <PHP_EXTENSION name="mbstring" level="optional" />
11
    </PHP_EXTENSIONS>
12
  </MOODLE>
13
  <MOODLE version="1.6">
14
    <DATABASE level="required">
15
      <VENDOR name="mysql" version="4.1.16">
16
        <FEEDBACK>
17
          <ON_ERROR message="mysql416required" />
18
        </FEEDBACK>
19
        <BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
20
      </VENDOR>
21
      <VENDOR name="postgres" version="7.4" />
22
    </DATABASE>
23
    <PHP version="4.3.0" level="required" />
24
    <PHP_EXTENSIONS>
25
      <PHP_EXTENSION name="iconv" level="optional">
26
        <FEEDBACK>
27
          <ON_CHECK message="iconvrecommended" />
28
        </FEEDBACK>
29
      </PHP_EXTENSION>
30
      <PHP_EXTENSION name="mbstring" level="optional">
31
        <FEEDBACK>
32
          <ON_CHECK message="mbstringrecommended" />
33
        </FEEDBACK>
34
      </PHP_EXTENSION>
35
    </PHP_EXTENSIONS>
36
  </MOODLE>
37
  <MOODLE version="1.7">
38
    <UNICODE level="optional">
39
      <FEEDBACK>
40
        <ON_CHECK message="unicoderecommended" />
41
      </FEEDBACK>
42
    </UNICODE>
43
    <DATABASE level="required">
44
      <VENDOR name="mysql" version="4.1.16">
45
        <FEEDBACK>
46
          <ON_ERROR message="mysql416required" />
47
        </FEEDBACK>
48
        <BYPASS function="bypass_mysql416_reqs" message="mysql416bypassed" />
49
      </VENDOR>
50
      <VENDOR name="postgres" version="7.4" />
51
      <VENDOR name="mssql" version="9.0" />
52
      <VENDOR name="odbc_mssql" version="9.0" />
53
      <VENDOR name="mssql_n" version="9.0" />
54
      <VENDOR name="oracle" version="9.0" />
55
    </DATABASE>
56
    <PHP version="4.3.0" level="required">
57
      <RESTRICT function="restrict_php50_version" message="php50restricted" />
58
    </PHP>
59
    <PHP_EXTENSIONS>
60
      <PHP_EXTENSION name="iconv" level="optional">
61
        <FEEDBACK>
62
          <ON_CHECK message="iconvrecommended" />
63
        </FEEDBACK>
64
      </PHP_EXTENSION>
65
      <PHP_EXTENSION name="mbstring" level="optional">
66
        <FEEDBACK>
67
          <ON_CHECK message="mbstringrecommended" />
68
        </FEEDBACK>
69
      </PHP_EXTENSION>
70
    </PHP_EXTENSIONS>
71
  </MOODLE>
72
  <MOODLE version="1.8">
73
    <UNICODE level="required">
74
      <FEEDBACK>
75
        <ON_ERROR message="unicoderequired" />
76
      </FEEDBACK>
77
    </UNICODE>
78
    <DATABASE level="required">
79
      <VENDOR name="mysql" version="4.1.16">
80
        <FEEDBACK>
81
          <ON_ERROR message="mysql416required" />
82
        </FEEDBACK>
83
      </VENDOR>
84
      <VENDOR name="postgres" version="7.4" />
85
      <VENDOR name="mssql" version="9.0" />
86
      <VENDOR name="odbc_mssql" version="9.0" />
87
      <VENDOR name="mssql_n" version="9.0" />
88
      <VENDOR name="oracle" version="9.0" />
89
    </DATABASE>
90
    <PHP version="4.3.0" level="required">
91
      <RESTRICT function="restrict_php50_version" message="php50restricted" />
92
    </PHP>
93
    <PHP_EXTENSIONS>
94
      <PHP_EXTENSION name="iconv" level="optional">
95
        <FEEDBACK>
96
          <ON_CHECK message="iconvrecommended" />
97
        </FEEDBACK>
98
      </PHP_EXTENSION>
99
      <PHP_EXTENSION name="mbstring" level="optional">
100
        <FEEDBACK>
101
          <ON_CHECK message="mbstringrecommended" />
102
        </FEEDBACK>
103
      </PHP_EXTENSION>
104
      <PHP_EXTENSION name="curl" level="optional">
105
        <FEEDBACK>
106
          <ON_CHECK message="curlrecommended" />
107
        </FEEDBACK>
108
      </PHP_EXTENSION>
109
      <PHP_EXTENSION name="openssl" level="optional">
110
        <FEEDBACK>
111
          <ON_CHECK message="opensslrecommended" />
112
        </FEEDBACK>
113
      </PHP_EXTENSION>
114
      <PHP_EXTENSION name="tokenizer" level="optional">
115
        <FEEDBACK>
116
          <ON_CHECK message="tokenizerrecommended" />
117
        </FEEDBACK>
118
      </PHP_EXTENSION>
119
      <PHP_EXTENSION name="xmlrpc" level="optional">
120
        <FEEDBACK>
121
          <ON_CHECK message="xmlrpcrecommended" />
122
        </FEEDBACK>
123
      </PHP_EXTENSION>
124
      <PHP_EXTENSION name="ctype" level="optional">
125
        <FEEDBACK>
126
          <ON_CHECK message="ctyperecommended" />
127
        </FEEDBACK>
128
      </PHP_EXTENSION>
129
    </PHP_EXTENSIONS>
130
  </MOODLE>
131
  <MOODLE version="1.9">
132
    <UNICODE level="required">
133
      <FEEDBACK>
134
        <ON_ERROR message="unicoderequired" />
135
      </FEEDBACK>
136
    </UNICODE>
137
    <DATABASE level="required">
138
      <VENDOR name="mysql" version="4.1.16">
139
        <FEEDBACK>
140
          <ON_ERROR message="mysql416required" />
141
        </FEEDBACK>
142
      </VENDOR>
143
      <VENDOR name="postgres" version="8.0" />
144
      <VENDOR name="mssql" version="9.0" />
145
      <VENDOR name="odbc_mssql" version="9.0" />
146
      <VENDOR name="mssql_n" version="9.0" />
147
      <VENDOR name="oracle" version="9.0" />
148
    </DATABASE>
149
    <PHP version="4.3.0" level="required">
150
      <RESTRICT function="restrict_php50_version" message="php50restricted" />
151
    </PHP>
152
    <PHP_EXTENSIONS>
153
      <PHP_EXTENSION name="iconv" level="optional">
154
        <FEEDBACK>
155
          <ON_CHECK message="iconvrecommended" />
156
        </FEEDBACK>
157
      </PHP_EXTENSION>
158
      <PHP_EXTENSION name="mbstring" level="optional">
159
        <FEEDBACK>
160
          <ON_CHECK message="mbstringrecommended" />
161
        </FEEDBACK>
162
      </PHP_EXTENSION>
163
      <PHP_EXTENSION name="curl" level="optional">
164
        <FEEDBACK>
165
          <ON_CHECK message="curlrecommended" />
166
        </FEEDBACK>
167
      </PHP_EXTENSION>
168
      <PHP_EXTENSION name="openssl" level="optional">
169
        <FEEDBACK>
170
          <ON_CHECK message="opensslrecommended" />
171
        </FEEDBACK>
172
      </PHP_EXTENSION>
173
      <PHP_EXTENSION name="tokenizer" level="optional">
174
        <FEEDBACK>
175
          <ON_CHECK message="tokenizerrecommended" />
176
        </FEEDBACK>
177
      </PHP_EXTENSION>
178
      <PHP_EXTENSION name="xmlrpc" level="optional">
179
        <FEEDBACK>
180
          <ON_CHECK message="xmlrpcrecommended" />
181
        </FEEDBACK>
182
      </PHP_EXTENSION>
183
      <PHP_EXTENSION name="ctype" level="optional">
184
        <FEEDBACK>
185
          <ON_CHECK message="ctyperecommended" />
186
        </FEEDBACK>
187
      </PHP_EXTENSION>
188
      <PHP_EXTENSION name="pcre" level="required">
189
      </PHP_EXTENSION>
190
    </PHP_EXTENSIONS>
191
    <CUSTOM_CHECKS>
192
      <CUSTOM_CHECK file="question/upgrade.php" function="question_check_no_rqp_questions" level="optional">
193
        <FEEDBACK>
194
          <ON_CHECK message="qtyperqpwillberemovedanyway" />
195
          <ON_OK message="qtyperqpwillberemoved" />
196
        </FEEDBACK>
197
      </CUSTOM_CHECK>
198
      <CUSTOM_CHECK file="question/upgrade.php" function="question_random_check" level="optional">
199
        <FEEDBACK>
200
          <ON_OK message="questioncwqpfsok" />
201
        </FEEDBACK>
202
      </CUSTOM_CHECK>
203
      <CUSTOM_CHECK file="lib/customcheckslib.php" function="php_check_register_globals" level="required">
204
        <FEEDBACK>
205
          <ON_CHECK message="globalswarning" />
206
        </FEEDBACK>
207
      </CUSTOM_CHECK>
208
    </CUSTOM_CHECKS>
209
  </MOODLE>
210
  <MOODLE version="2.0" requires="1.9">
211
    <UNICODE level="required">
212
      <FEEDBACK>
213
        <ON_ERROR message="unicoderequired" />
214
      </FEEDBACK>
215
    </UNICODE>
216
    <DATABASE level="required">
217
      <VENDOR name="mysql" version="5.0.25" />
218
      <VENDOR name="postgres" version="8.3" />
219
      <VENDOR name="mssql" version="9.0" />
220
      <VENDOR name="odbc_mssql" version="9.0" />
221
      <VENDOR name="mssql_n" version="9.0" />
222
      <VENDOR name="oracle" version="10.2" />
223
      <VENDOR name="sqlite" version="2.0" />
224
    </DATABASE>
225
    <PHP version="5.2.8" level="required">
226
    </PHP>
227
    <PHP_EXTENSIONS>
228
      <PHP_EXTENSION name="iconv" level="required">
229
        <FEEDBACK>
230
          <ON_ERROR message="iconvrequired" />
231
        </FEEDBACK>
232
      </PHP_EXTENSION>
233
      <PHP_EXTENSION name="mbstring" level="optional">
234
        <FEEDBACK>
235
          <ON_CHECK message="mbstringrecommended" />
236
        </FEEDBACK>
237
      </PHP_EXTENSION>
238
      <PHP_EXTENSION name="curl" level="required">
239
        <FEEDBACK>
240
          <ON_ERROR message="curlrequired" />
241
        </FEEDBACK>
242
      </PHP_EXTENSION>
243
      <PHP_EXTENSION name="openssl" level="optional">
244
        <FEEDBACK>
245
          <ON_CHECK message="opensslrecommended" />
246
        </FEEDBACK>
247
      </PHP_EXTENSION>
248
      <PHP_EXTENSION name="tokenizer" level="optional">
249
        <FEEDBACK>
250
          <ON_CHECK message="tokenizerrecommended" />
251
        </FEEDBACK>
252
      </PHP_EXTENSION>
253
      <PHP_EXTENSION name="xmlrpc" level="optional">
254
        <FEEDBACK>
255
          <ON_CHECK message="xmlrpcrecommended" />
256
        </FEEDBACK>
257
      </PHP_EXTENSION>
258
      <PHP_EXTENSION name="soap" level="optional">
259
        <FEEDBACK>
260
          <ON_CHECK message="soaprecommended" />
261
        </FEEDBACK>
262
      </PHP_EXTENSION>
263
      <PHP_EXTENSION name="ctype" level="required">
264
        <FEEDBACK>
265
          <ON_ERROR message="ctyperequired" />
266
        </FEEDBACK>
267
      </PHP_EXTENSION>
268
      <PHP_EXTENSION name="zip" level="required">
269
        <FEEDBACK>
270
          <ON_ERROR message="ziprequired" />
271
        </FEEDBACK>
272
      </PHP_EXTENSION>
273
      <PHP_EXTENSION name="gd" level="optional">
274
        <FEEDBACK>
275
          <ON_CHECK message="gdrecommended" />
276
        </FEEDBACK>
277
      </PHP_EXTENSION>
278
      <PHP_EXTENSION name="simplexml" level="required">
279
        <FEEDBACK>
280
          <ON_ERROR message="simplexmlrequired" />
281
        </FEEDBACK>
282
      </PHP_EXTENSION>
283
      <PHP_EXTENSION name="spl" level="required">
284
        <FEEDBACK>
285
          <ON_ERROR message="splrequired" />
286
        </FEEDBACK>
287
      </PHP_EXTENSION>
288
      <PHP_EXTENSION name="pcre" level="required">
289
      </PHP_EXTENSION>
290
      <PHP_EXTENSION name="dom" level="required">
291
      </PHP_EXTENSION>
292
      <PHP_EXTENSION name="xml" level="required">
293
      </PHP_EXTENSION>
294
      <PHP_EXTENSION name="intl" level="optional">
295
        <FEEDBACK>
296
          <ON_CHECK message="intlrecommended" />
297
        </FEEDBACK>
298
      </PHP_EXTENSION>
299
      <PHP_EXTENSION name="json" level="required">
300
      </PHP_EXTENSION>
301
    </PHP_EXTENSIONS>
302
    <PHP_SETTINGS>
303
      <PHP_SETTING name="memory_limit" value="40M" level="required">
304
        <FEEDBACK>
305
          <ON_ERROR message="settingmemorylimit" />
306
        </FEEDBACK>
307
      </PHP_SETTING>
308
      <PHP_SETTING name="safe_mode" value="0" level="optional">
309
        <FEEDBACK>
310
          <ON_CHECK message="settingsafemode" />
311
        </FEEDBACK>
312
      </PHP_SETTING>
313
      <PHP_SETTING name="file_uploads" value="1" level="optional">
314
        <FEEDBACK>
315
          <ON_CHECK message="settingfileuploads" />
316
        </FEEDBACK>
317
      </PHP_SETTING>
318
    </PHP_SETTINGS>
319
    <CUSTOM_CHECKS>
320
      <CUSTOM_CHECK file="lib/customcheckslib.php" function="php_check_php533" level="optional">
321
        <FEEDBACK>
322
          <ON_CHECK message="php533warning" />
323
        </FEEDBACK>
324
      </CUSTOM_CHECK>
325
    </CUSTOM_CHECKS>
326
  </MOODLE>
327
  <MOODLE version="2.1" requires="1.9">
328
    <UNICODE level="required">
329
      <FEEDBACK>
330
        <ON_ERROR message="unicoderequired" />
331
      </FEEDBACK>
332
    </UNICODE>
333
    <DATABASE level="required">
334
      <VENDOR name="mysql" version="5.0.25" />
335
      <VENDOR name="postgres" version="8.3" />
336
      <VENDOR name="mssql" version="9.0" />
337
      <VENDOR name="odbc_mssql" version="9.0" />
338
      <VENDOR name="mssql_n" version="9.0" />
339
      <VENDOR name="oracle" version="10.2" />
340
      <VENDOR name="sqlite" version="2.0" />
341
    </DATABASE>
342
    <PHP version="5.3.2" level="required">
343
    </PHP>
344
    <PHP_EXTENSIONS>
345
      <PHP_EXTENSION name="iconv" level="required">
346
        <FEEDBACK>
347
          <ON_ERROR message="iconvrequired" />
348
        </FEEDBACK>
349
      </PHP_EXTENSION>
350
      <PHP_EXTENSION name="mbstring" level="optional">
351
        <FEEDBACK>
352
          <ON_CHECK message="mbstringrecommended" />
353
        </FEEDBACK>
354
      </PHP_EXTENSION>
355
      <PHP_EXTENSION name="curl" level="required">
356
        <FEEDBACK>
357
          <ON_ERROR message="curlrequired" />
358
        </FEEDBACK>
359
      </PHP_EXTENSION>
360
      <PHP_EXTENSION name="openssl" level="optional">
361
        <FEEDBACK>
362
          <ON_CHECK message="opensslrecommended" />
363
        </FEEDBACK>
364
      </PHP_EXTENSION>
365
      <PHP_EXTENSION name="tokenizer" level="optional">
366
        <FEEDBACK>
367
          <ON_CHECK message="tokenizerrecommended" />
368
        </FEEDBACK>
369
      </PHP_EXTENSION>
370
      <PHP_EXTENSION name="xmlrpc" level="optional">
371
        <FEEDBACK>
372
          <ON_CHECK message="xmlrpcrecommended" />
373
        </FEEDBACK>
374
      </PHP_EXTENSION>
375
      <PHP_EXTENSION name="soap" level="optional">
376
        <FEEDBACK>
377
          <ON_CHECK message="soaprecommended" />
378
        </FEEDBACK>
379
      </PHP_EXTENSION>
380
      <PHP_EXTENSION name="ctype" level="required">
381
        <FEEDBACK>
382
          <ON_ERROR message="ctyperequired" />
383
        </FEEDBACK>
384
      </PHP_EXTENSION>
385
      <PHP_EXTENSION name="zip" level="required">
386
        <FEEDBACK>
387
          <ON_ERROR message="ziprequired" />
388
        </FEEDBACK>
389
      </PHP_EXTENSION>
390
      <PHP_EXTENSION name="gd" level="optional">
391
        <FEEDBACK>
392
          <ON_CHECK message="gdrecommended" />
393
        </FEEDBACK>
394
      </PHP_EXTENSION>
395
      <PHP_EXTENSION name="simplexml" level="required">
396
        <FEEDBACK>
397
          <ON_ERROR message="simplexmlrequired" />
398
        </FEEDBACK>
399
      </PHP_EXTENSION>
400
      <PHP_EXTENSION name="spl" level="required">
401
        <FEEDBACK>
402
          <ON_ERROR message="splrequired" />
403
        </FEEDBACK>
404
      </PHP_EXTENSION>
405
      <PHP_EXTENSION name="pcre" level="required">
406
      </PHP_EXTENSION>
407
      <PHP_EXTENSION name="dom" level="required">
408
      </PHP_EXTENSION>
409
      <PHP_EXTENSION name="xml" level="required">
410
      </PHP_EXTENSION>
411
      <PHP_EXTENSION name="intl" level="optional">
412
        <FEEDBACK>
413
          <ON_CHECK message="intlrecommended" />
414
        </FEEDBACK>
415
      </PHP_EXTENSION>
416
      <PHP_EXTENSION name="json" level="required">
417
      </PHP_EXTENSION>
418
    </PHP_EXTENSIONS>
419
    <PHP_SETTINGS>
420
      <PHP_SETTING name="memory_limit" value="40M" level="required">
421
        <FEEDBACK>
422
          <ON_ERROR message="settingmemorylimit" />
423
        </FEEDBACK>
424
      </PHP_SETTING>
425
      <PHP_SETTING name="safe_mode" value="0" level="optional">
426
        <FEEDBACK>
427
          <ON_CHECK message="settingsafemode" />
428
        </FEEDBACK>
429
      </PHP_SETTING>
430
      <PHP_SETTING name="file_uploads" value="1" level="optional">
431
        <FEEDBACK>
432
          <ON_CHECK message="settingfileuploads" />
433
        </FEEDBACK>
434
      </PHP_SETTING>
435
    </PHP_SETTINGS>
436
  </MOODLE>
437
  <MOODLE version="2.2" requires="1.9">
438
    <UNICODE level="required">
439
      <FEEDBACK>
440
        <ON_ERROR message="unicoderequired" />
441
      </FEEDBACK>
442
    </UNICODE>
443
    <DATABASE level="required">
444
      <VENDOR name="mysql" version="5.0.25" />
445
      <VENDOR name="postgres" version="8.3" />
446
      <VENDOR name="mssql" version="9.0" />
447
      <VENDOR name="odbc_mssql" version="9.0" />
448
      <VENDOR name="mssql_n" version="9.0" />
449
      <VENDOR name="oracle" version="10.2" />
450
      <VENDOR name="sqlite" version="2.0" />
451
    </DATABASE>
452
    <PHP version="5.3.2" level="required">
453
    </PHP>
454
    <PHP_EXTENSIONS>
455
      <PHP_EXTENSION name="iconv" level="required">
456
        <FEEDBACK>
457
          <ON_ERROR message="iconvrequired" />
458
        </FEEDBACK>
459
      </PHP_EXTENSION>
460
      <PHP_EXTENSION name="mbstring" level="optional">
461
        <FEEDBACK>
462
          <ON_CHECK message="mbstringrecommended" />
463
        </FEEDBACK>
464
      </PHP_EXTENSION>
465
      <PHP_EXTENSION name="curl" level="required">
466
        <FEEDBACK>
467
          <ON_ERROR message="curlrequired" />
468
        </FEEDBACK>
469
      </PHP_EXTENSION>
470
      <PHP_EXTENSION name="openssl" level="optional">
471
        <FEEDBACK>
472
          <ON_CHECK message="opensslrecommended" />
473
        </FEEDBACK>
474
      </PHP_EXTENSION>
475
      <PHP_EXTENSION name="tokenizer" level="optional">
476
        <FEEDBACK>
477
          <ON_CHECK message="tokenizerrecommended" />
478
        </FEEDBACK>
479
      </PHP_EXTENSION>
480
      <PHP_EXTENSION name="xmlrpc" level="optional">
481
        <FEEDBACK>
482
          <ON_CHECK message="xmlrpcrecommended" />
483
        </FEEDBACK>
484
      </PHP_EXTENSION>
485
      <PHP_EXTENSION name="soap" level="optional">
486
        <FEEDBACK>
487
          <ON_CHECK message="soaprecommended" />
488
        </FEEDBACK>
489
      </PHP_EXTENSION>
490
      <PHP_EXTENSION name="ctype" level="required">
491
        <FEEDBACK>
492
          <ON_ERROR message="ctyperequired" />
493
        </FEEDBACK>
494
      </PHP_EXTENSION>
495
      <PHP_EXTENSION name="zip" level="required">
496
        <FEEDBACK>
497
          <ON_ERROR message="ziprequired" />
498
        </FEEDBACK>
499
      </PHP_EXTENSION>
500
      <PHP_EXTENSION name="gd" level="optional">
501
        <FEEDBACK>
502
          <ON_CHECK message="gdrecommended" />
503
        </FEEDBACK>
504
      </PHP_EXTENSION>
505
      <PHP_EXTENSION name="simplexml" level="required">
506
        <FEEDBACK>
507
          <ON_ERROR message="simplexmlrequired" />
508
        </FEEDBACK>
509
      </PHP_EXTENSION>
510
      <PHP_EXTENSION name="spl" level="required">
511
        <FEEDBACK>
512
          <ON_ERROR message="splrequired" />
513
        </FEEDBACK>
514
      </PHP_EXTENSION>
515
      <PHP_EXTENSION name="pcre" level="required">
516
      </PHP_EXTENSION>
517
      <PHP_EXTENSION name="dom" level="required">
518
      </PHP_EXTENSION>
519
      <PHP_EXTENSION name="xml" level="required">
520
      </PHP_EXTENSION>
521
      <PHP_EXTENSION name="intl" level="optional">
522
        <FEEDBACK>
523
          <ON_CHECK message="intlrecommended" />
524
        </FEEDBACK>
525
      </PHP_EXTENSION>
526
      <PHP_EXTENSION name="json" level="required">
527
      </PHP_EXTENSION>
528
    </PHP_EXTENSIONS>
529
    <PHP_SETTINGS>
530
      <PHP_SETTING name="memory_limit" value="40M" level="required">
531
        <FEEDBACK>
532
          <ON_ERROR message="settingmemorylimit" />
533
        </FEEDBACK>
534
      </PHP_SETTING>
535
      <PHP_SETTING name="safe_mode" value="0" level="optional">
536
        <FEEDBACK>
537
          <ON_CHECK message="settingsafemode" />
538
        </FEEDBACK>
539
      </PHP_SETTING>
540
      <PHP_SETTING name="file_uploads" value="1" level="optional">
541
        <FEEDBACK>
542
          <ON_CHECK message="settingfileuploads" />
543
        </FEEDBACK>
544
      </PHP_SETTING>
545
    </PHP_SETTINGS>
546
  </MOODLE>
547
  <MOODLE version="2.3" requires="2.2">
548
    <UNICODE level="required">
549
      <FEEDBACK>
550
        <ON_ERROR message="unicoderequired" />
551
      </FEEDBACK>
552
    </UNICODE>
553
    <DATABASE level="required">
554
      <VENDOR name="mysql" version="5.1.33" />
555
      <VENDOR name="postgres" version="8.3" />
556
      <VENDOR name="mssql" version="9.0" />
557
      <VENDOR name="odbc_mssql" version="9.0" />
558
      <VENDOR name="mssql_n" version="9.0" />
559
      <VENDOR name="oracle" version="10.2" />
560
      <VENDOR name="sqlite" version="2.0" />
561
    </DATABASE>
562
    <PHP version="5.3.2" level="required">
563
    </PHP>
564
    <PCREUNICODE level="optional">
565
      <FEEDBACK>
566
        <ON_CHECK message="pcreunicodewarning" />
567
      </FEEDBACK>
568
    </PCREUNICODE>
569
    <PHP_EXTENSIONS>
570
      <PHP_EXTENSION name="iconv" level="required">
571
        <FEEDBACK>
572
          <ON_ERROR message="iconvrequired" />
573
        </FEEDBACK>
574
      </PHP_EXTENSION>
575
      <PHP_EXTENSION name="mbstring" level="optional">
576
        <FEEDBACK>
577
          <ON_CHECK message="mbstringrecommended" />
578
        </FEEDBACK>
579
      </PHP_EXTENSION>
580
      <PHP_EXTENSION name="curl" level="required">
581
        <FEEDBACK>
582
          <ON_ERROR message="curlrequired" />
583
        </FEEDBACK>
584
      </PHP_EXTENSION>
585
      <PHP_EXTENSION name="openssl" level="optional">
586
        <FEEDBACK>
587
          <ON_CHECK message="opensslrecommended" />
588
        </FEEDBACK>
589
      </PHP_EXTENSION>
590
      <PHP_EXTENSION name="tokenizer" level="optional">
591
        <FEEDBACK>
592
          <ON_CHECK message="tokenizerrecommended" />
593
        </FEEDBACK>
594
      </PHP_EXTENSION>
595
      <PHP_EXTENSION name="xmlrpc" level="optional">
596
        <FEEDBACK>
597
          <ON_CHECK message="xmlrpcrecommended" />
598
        </FEEDBACK>
599
      </PHP_EXTENSION>
600
      <PHP_EXTENSION name="soap" level="optional">
601
        <FEEDBACK>
602
          <ON_CHECK message="soaprecommended" />
603
        </FEEDBACK>
604
      </PHP_EXTENSION>
605
      <PHP_EXTENSION name="ctype" level="required">
606
        <FEEDBACK>
607
          <ON_ERROR message="ctyperequired" />
608
        </FEEDBACK>
609
      </PHP_EXTENSION>
610
      <PHP_EXTENSION name="zip" level="required">
611
        <FEEDBACK>
612
          <ON_ERROR message="ziprequired" />
613
        </FEEDBACK>
614
      </PHP_EXTENSION>
615
      <PHP_EXTENSION name="gd" level="optional">
616
        <FEEDBACK>
617
          <ON_CHECK message="gdrecommended" />
618
        </FEEDBACK>
619
      </PHP_EXTENSION>
620
      <PHP_EXTENSION name="simplexml" level="required">
621
        <FEEDBACK>
622
          <ON_ERROR message="simplexmlrequired" />
623
        </FEEDBACK>
624
      </PHP_EXTENSION>
625
      <PHP_EXTENSION name="spl" level="required">
626
        <FEEDBACK>
627
          <ON_ERROR message="splrequired" />
628
        </FEEDBACK>
629
      </PHP_EXTENSION>
630
      <PHP_EXTENSION name="pcre" level="required">
631
      </PHP_EXTENSION>
632
      <PHP_EXTENSION name="dom" level="required">
633
      </PHP_EXTENSION>
634
      <PHP_EXTENSION name="xml" level="required">
635
      </PHP_EXTENSION>
636
      <PHP_EXTENSION name="intl" level="optional">
637
        <FEEDBACK>
638
          <ON_CHECK message="intlrecommended" />
639
        </FEEDBACK>
640
      </PHP_EXTENSION>
641
      <PHP_EXTENSION name="json" level="required">
642
      </PHP_EXTENSION>
643
      <PHP_EXTENSION name="hash" level="required"/>
644
    </PHP_EXTENSIONS>
645
    <PHP_SETTINGS>
646
      <PHP_SETTING name="memory_limit" value="40M" level="required">
647
        <FEEDBACK>
648
          <ON_ERROR message="settingmemorylimit" />
649
        </FEEDBACK>
650
      </PHP_SETTING>
651
      <PHP_SETTING name="safe_mode" value="0" level="optional">
652
        <FEEDBACK>
653
          <ON_CHECK message="settingsafemode" />
654
        </FEEDBACK>
655
      </PHP_SETTING>
656
      <PHP_SETTING name="file_uploads" value="1" level="optional">
657
        <FEEDBACK>
658
          <ON_CHECK message="settingfileuploads" />
659
        </FEEDBACK>
660
      </PHP_SETTING>
661
    </PHP_SETTINGS>
662
  </MOODLE>
663
  <MOODLE version="2.4" requires="2.2">
664
    <UNICODE level="required">
665
      <FEEDBACK>
666
        <ON_ERROR message="unicoderequired" />
667
      </FEEDBACK>
668
    </UNICODE>
669
    <DATABASE level="required">
670
      <VENDOR name="mysql" version="5.1.33" />
671
      <VENDOR name="postgres" version="8.3" />
672
      <VENDOR name="mssql" version="9.0" />
673
      <VENDOR name="odbc_mssql" version="9.0" />
674
      <VENDOR name="mssql_n" version="9.0" />
675
      <VENDOR name="oracle" version="10.2" />
676
      <VENDOR name="sqlite" version="2.0" />
677
    </DATABASE>
678
    <PHP version="5.3.2" level="required">
679
    </PHP>
680
    <PCREUNICODE level="optional">
681
      <FEEDBACK>
682
        <ON_CHECK message="pcreunicodewarning" />
683
      </FEEDBACK>
684
    </PCREUNICODE>
685
    <PHP_EXTENSIONS>
686
      <PHP_EXTENSION name="iconv" level="required">
687
        <FEEDBACK>
688
          <ON_ERROR message="iconvrequired" />
689
        </FEEDBACK>
690
      </PHP_EXTENSION>
691
      <PHP_EXTENSION name="mbstring" level="optional">
692
        <FEEDBACK>
693
          <ON_CHECK message="mbstringrecommended" />
694
        </FEEDBACK>
695
      </PHP_EXTENSION>
696
      <PHP_EXTENSION name="curl" level="required">
697
        <FEEDBACK>
698
          <ON_ERROR message="curlrequired" />
699
        </FEEDBACK>
700
      </PHP_EXTENSION>
701
      <PHP_EXTENSION name="openssl" level="optional">
702
        <FEEDBACK>
703
          <ON_CHECK message="opensslrecommended" />
704
        </FEEDBACK>
705
      </PHP_EXTENSION>
706
      <PHP_EXTENSION name="tokenizer" level="optional">
707
        <FEEDBACK>
708
          <ON_CHECK message="tokenizerrecommended" />
709
        </FEEDBACK>
710
      </PHP_EXTENSION>
711
      <PHP_EXTENSION name="xmlrpc" level="optional">
712
        <FEEDBACK>
713
          <ON_CHECK message="xmlrpcrecommended" />
714
        </FEEDBACK>
715
      </PHP_EXTENSION>
716
      <PHP_EXTENSION name="soap" level="optional">
717
        <FEEDBACK>
718
          <ON_CHECK message="soaprecommended" />
719
        </FEEDBACK>
720
      </PHP_EXTENSION>
721
      <PHP_EXTENSION name="ctype" level="required">
722
        <FEEDBACK>
723
          <ON_ERROR message="ctyperequired" />
724
        </FEEDBACK>
725
      </PHP_EXTENSION>
726
      <PHP_EXTENSION name="zip" level="required">
727
        <FEEDBACK>
728
          <ON_ERROR message="ziprequired" />
729
        </FEEDBACK>
730
      </PHP_EXTENSION>
731
      <PHP_EXTENSION name="gd" level="optional">
732
        <FEEDBACK>
733
          <ON_CHECK message="gdrecommended" />
734
        </FEEDBACK>
735
      </PHP_EXTENSION>
736
      <PHP_EXTENSION name="simplexml" level="required">
737
        <FEEDBACK>
738
          <ON_ERROR message="simplexmlrequired" />
739
        </FEEDBACK>
740
      </PHP_EXTENSION>
741
      <PHP_EXTENSION name="spl" level="required">
742
        <FEEDBACK>
743
          <ON_ERROR message="splrequired" />
744
        </FEEDBACK>
745
      </PHP_EXTENSION>
746
      <PHP_EXTENSION name="pcre" level="required">
747
      </PHP_EXTENSION>
748
      <PHP_EXTENSION name="dom" level="required">
749
      </PHP_EXTENSION>
750
      <PHP_EXTENSION name="xml" level="required">
751
      </PHP_EXTENSION>
752
      <PHP_EXTENSION name="intl" level="optional">
753
        <FEEDBACK>
754
          <ON_CHECK message="intlrecommended" />
755
        </FEEDBACK>
756
      </PHP_EXTENSION>
757
      <PHP_EXTENSION name="json" level="required">
758
      </PHP_EXTENSION>
759
      <PHP_EXTENSION name="hash" level="required"/>
760
    </PHP_EXTENSIONS>
761
    <PHP_SETTINGS>
762
      <PHP_SETTING name="memory_limit" value="40M" level="required">
763
        <FEEDBACK>
764
          <ON_ERROR message="settingmemorylimit" />
765
        </FEEDBACK>
766
      </PHP_SETTING>
767
      <PHP_SETTING name="safe_mode" value="0" level="optional">
768
        <FEEDBACK>
769
          <ON_CHECK message="settingsafemode" />
770
        </FEEDBACK>
771
      </PHP_SETTING>
772
      <PHP_SETTING name="file_uploads" value="1" level="optional">
773
        <FEEDBACK>
774
          <ON_CHECK message="settingfileuploads" />
775
        </FEEDBACK>
776
      </PHP_SETTING>
777
    </PHP_SETTINGS>
778
  </MOODLE>
779
  <MOODLE version="2.5" requires="2.2">
780
    <UNICODE level="required">
781
      <FEEDBACK>
782
        <ON_ERROR message="unicoderequired" />
783
      </FEEDBACK>
784
    </UNICODE>
785
    <DATABASE level="required">
786
      <VENDOR name="mysql" version="5.1.33" />
787
      <VENDOR name="postgres" version="8.3" />
788
      <VENDOR name="mssql" version="9.0" />
789
      <VENDOR name="odbc_mssql" version="9.0" />
790
      <VENDOR name="mssql_n" version="9.0" />
791
      <VENDOR name="oracle" version="10.2" />
792
      <VENDOR name="sqlite" version="2.0" />
793
    </DATABASE>
794
    <PHP version="5.3.3" level="required">
795
    </PHP>
796
    <PCREUNICODE level="optional">
797
      <FEEDBACK>
798
        <ON_CHECK message="pcreunicodewarning" />
799
      </FEEDBACK>
800
    </PCREUNICODE>
801
    <PHP_EXTENSIONS>
802
      <PHP_EXTENSION name="iconv" level="required">
803
        <FEEDBACK>
804
          <ON_ERROR message="iconvrequired" />
805
        </FEEDBACK>
806
      </PHP_EXTENSION>
807
      <PHP_EXTENSION name="mbstring" level="optional">
808
        <FEEDBACK>
809
          <ON_CHECK message="mbstringrecommended" />
810
        </FEEDBACK>
811
      </PHP_EXTENSION>
812
      <PHP_EXTENSION name="curl" level="required">
813
        <FEEDBACK>
814
          <ON_ERROR message="curlrequired" />
815
        </FEEDBACK>
816
      </PHP_EXTENSION>
817
      <PHP_EXTENSION name="openssl" level="optional">
818
        <FEEDBACK>
819
          <ON_CHECK message="opensslrecommended" />
820
        </FEEDBACK>
821
      </PHP_EXTENSION>
822
      <PHP_EXTENSION name="tokenizer" level="optional">
823
        <FEEDBACK>
824
          <ON_CHECK message="tokenizerrecommended" />
825
        </FEEDBACK>
826
      </PHP_EXTENSION>
827
      <PHP_EXTENSION name="xmlrpc" level="optional">
828
        <FEEDBACK>
829
          <ON_CHECK message="xmlrpcrecommended" />
830
        </FEEDBACK>
831
      </PHP_EXTENSION>
832
      <PHP_EXTENSION name="soap" level="optional">
833
        <FEEDBACK>
834
          <ON_CHECK message="soaprecommended" />
835
        </FEEDBACK>
836
      </PHP_EXTENSION>
837
      <PHP_EXTENSION name="ctype" level="required">
838
        <FEEDBACK>
839
          <ON_ERROR message="ctyperequired" />
840
        </FEEDBACK>
841
      </PHP_EXTENSION>
842
      <PHP_EXTENSION name="zip" level="required">
843
        <FEEDBACK>
844
          <ON_ERROR message="ziprequired" />
845
        </FEEDBACK>
846
      </PHP_EXTENSION>
847
      <PHP_EXTENSION name="gd" level="required">
848
        <FEEDBACK>
849
          <ON_ERROR message="gdrequired" />
850
        </FEEDBACK>
851
      </PHP_EXTENSION>
852
      <PHP_EXTENSION name="simplexml" level="required">
853
        <FEEDBACK>
854
          <ON_ERROR message="simplexmlrequired" />
855
        </FEEDBACK>
856
      </PHP_EXTENSION>
857
      <PHP_EXTENSION name="spl" level="required">
858
        <FEEDBACK>
859
          <ON_ERROR message="splrequired" />
860
        </FEEDBACK>
861
      </PHP_EXTENSION>
862
      <PHP_EXTENSION name="pcre" level="required">
863
      </PHP_EXTENSION>
864
      <PHP_EXTENSION name="dom" level="required">
865
      </PHP_EXTENSION>
866
      <PHP_EXTENSION name="xml" level="required">
867
      </PHP_EXTENSION>
868
      <PHP_EXTENSION name="intl" level="optional">
869
        <FEEDBACK>
870
          <ON_CHECK message="intlrecommended" />
871
        </FEEDBACK>
872
      </PHP_EXTENSION>
873
      <PHP_EXTENSION name="json" level="required">
874
      </PHP_EXTENSION>
875
      <PHP_EXTENSION name="hash" level="required"/>
876
    </PHP_EXTENSIONS>
877
    <PHP_SETTINGS>
878
      <PHP_SETTING name="memory_limit" value="40M" level="required">
879
        <FEEDBACK>
880
          <ON_ERROR message="settingmemorylimit" />
881
        </FEEDBACK>
882
      </PHP_SETTING>
883
      <PHP_SETTING name="safe_mode" value="0" level="optional">
884
        <FEEDBACK>
885
          <ON_CHECK message="settingsafemode" />
886
        </FEEDBACK>
887
      </PHP_SETTING>
888
      <PHP_SETTING name="file_uploads" value="1" level="optional">
889
        <FEEDBACK>
890
          <ON_CHECK message="settingfileuploads" />
891
        </FEEDBACK>
892
      </PHP_SETTING>
893
    </PHP_SETTINGS>
894
  </MOODLE>
895
  <MOODLE version="2.6" requires="2.2">
896
    <UNICODE level="required">
897
      <FEEDBACK>
898
        <ON_ERROR message="unicoderequired" />
899
      </FEEDBACK>
900
    </UNICODE>
901
    <DATABASE level="required">
902
      <VENDOR name="mariadb" version="5.3.5" />
903
      <VENDOR name="mysql" version="5.1.33" />
904
      <VENDOR name="postgres" version="8.3" />
905
      <VENDOR name="mssql" version="9.0" />
906
      <VENDOR name="oracle" version="10.2" />
907
    </DATABASE>
908
    <PHP version="5.3.3" level="required">
909
    </PHP>
910
    <PCREUNICODE level="optional">
911
      <FEEDBACK>
912
        <ON_CHECK message="pcreunicodewarning" />
913
      </FEEDBACK>
914
    </PCREUNICODE>
915
    <PHP_EXTENSIONS>
916
      <PHP_EXTENSION name="iconv" level="required">
917
        <FEEDBACK>
918
          <ON_ERROR message="iconvrequired" />
919
        </FEEDBACK>
920
      </PHP_EXTENSION>
921
      <PHP_EXTENSION name="mbstring" level="optional">
922
        <FEEDBACK>
923
          <ON_CHECK message="mbstringrecommended" />
924
        </FEEDBACK>
925
      </PHP_EXTENSION>
926
      <PHP_EXTENSION name="curl" level="required">
927
        <FEEDBACK>
928
          <ON_ERROR message="curlrequired" />
929
        </FEEDBACK>
930
      </PHP_EXTENSION>
931
      <PHP_EXTENSION name="openssl" level="optional">
932
        <FEEDBACK>
933
          <ON_CHECK message="opensslrecommended" />
934
        </FEEDBACK>
935
      </PHP_EXTENSION>
936
      <PHP_EXTENSION name="tokenizer" level="optional">
937
        <FEEDBACK>
938
          <ON_CHECK message="tokenizerrecommended" />
939
        </FEEDBACK>
940
      </PHP_EXTENSION>
941
      <PHP_EXTENSION name="xmlrpc" level="optional">
942
        <FEEDBACK>
943
          <ON_CHECK message="xmlrpcrecommended" />
944
        </FEEDBACK>
945
      </PHP_EXTENSION>
946
      <PHP_EXTENSION name="soap" level="optional">
947
        <FEEDBACK>
948
          <ON_CHECK message="soaprecommended" />
949
        </FEEDBACK>
950
      </PHP_EXTENSION>
951
      <PHP_EXTENSION name="ctype" level="required">
952
        <FEEDBACK>
953
          <ON_ERROR message="ctyperequired" />
954
        </FEEDBACK>
955
      </PHP_EXTENSION>
956
      <PHP_EXTENSION name="zip" level="required">
957
        <FEEDBACK>
958
          <ON_ERROR message="ziprequired" />
959
        </FEEDBACK>
960
      </PHP_EXTENSION>
961
      <PHP_EXTENSION name="zlib" level="optional">
962
      </PHP_EXTENSION>
963
      <PHP_EXTENSION name="gd" level="required">
964
        <FEEDBACK>
965
          <ON_ERROR message="gdrequired" />
966
        </FEEDBACK>
967
      </PHP_EXTENSION>
968
      <PHP_EXTENSION name="simplexml" level="required">
969
        <FEEDBACK>
970
          <ON_ERROR message="simplexmlrequired" />
971
        </FEEDBACK>
972
      </PHP_EXTENSION>
973
      <PHP_EXTENSION name="spl" level="required">
974
        <FEEDBACK>
975
          <ON_ERROR message="splrequired" />
976
        </FEEDBACK>
977
      </PHP_EXTENSION>
978
      <PHP_EXTENSION name="pcre" level="required">
979
      </PHP_EXTENSION>
980
      <PHP_EXTENSION name="dom" level="required">
981
      </PHP_EXTENSION>
982
      <PHP_EXTENSION name="xml" level="required">
983
      </PHP_EXTENSION>
984
      <PHP_EXTENSION name="intl" level="optional">
985
        <FEEDBACK>
986
          <ON_CHECK message="intlrecommended" />
987
        </FEEDBACK>
988
      </PHP_EXTENSION>
989
      <PHP_EXTENSION name="json" level="required">
990
      </PHP_EXTENSION>
991
      <PHP_EXTENSION name="hash" level="required"/>
992
    </PHP_EXTENSIONS>
993
    <PHP_SETTINGS>
994
      <PHP_SETTING name="memory_limit" value="64M" level="required">
995
        <FEEDBACK>
996
          <ON_ERROR message="settingmemorylimit" />
997
        </FEEDBACK>
998
      </PHP_SETTING>
999
      <PHP_SETTING name="safe_mode" value="0" level="optional">
1000
        <FEEDBACK>
1001
          <ON_CHECK message="settingsafemode" />
1002
        </FEEDBACK>
1003
      </PHP_SETTING>
1004
      <PHP_SETTING name="file_uploads" value="1" level="optional">
1005
        <FEEDBACK>
1006
          <ON_CHECK message="settingfileuploads" />
1007
        </FEEDBACK>
1008
      </PHP_SETTING>
1009
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
1010
        <FEEDBACK>
1011
          <ON_CHECK message="opcacherecommended" />
1012
        </FEEDBACK>
1013
      </PHP_SETTING>
1014
    </PHP_SETTINGS>
1015
  </MOODLE>
1016
  <MOODLE version="2.7" requires="2.2">
1017
    <UNICODE level="required">
1018
      <FEEDBACK>
1019
        <ON_ERROR message="unicoderequired" />
1020
      </FEEDBACK>
1021
    </UNICODE>
1022
    <DATABASE level="required">
1023
      <VENDOR name="mariadb" version="5.5.31" />
1024
      <VENDOR name="mysql" version="5.5.31" />
1025
      <VENDOR name="postgres" version="9.1" />
1026
      <VENDOR name="mssql" version="10.0" />
1027
      <VENDOR name="oracle" version="10.2" />
1028
    </DATABASE>
1029
    <PHP version="5.4.4" level="required">
1030
      <RESTRICT function="restrict_php_version_7" message="unsupportedphpversion7" />
1031
    </PHP>
1032
    <PCREUNICODE level="optional">
1033
      <FEEDBACK>
1034
        <ON_CHECK message="pcreunicodewarning" />
1035
      </FEEDBACK>
1036
    </PCREUNICODE>
1037
    <PHP_EXTENSIONS>
1038
      <PHP_EXTENSION name="iconv" level="required">
1039
        <FEEDBACK>
1040
          <ON_ERROR message="iconvrequired" />
1041
        </FEEDBACK>
1042
      </PHP_EXTENSION>
1043
      <PHP_EXTENSION name="mbstring" level="optional">
1044
        <FEEDBACK>
1045
          <ON_CHECK message="mbstringrecommended" />
1046
        </FEEDBACK>
1047
      </PHP_EXTENSION>
1048
      <PHP_EXTENSION name="curl" level="required">
1049
        <FEEDBACK>
1050
          <ON_ERROR message="curlrequired" />
1051
        </FEEDBACK>
1052
      </PHP_EXTENSION>
1053
      <PHP_EXTENSION name="openssl" level="optional">
1054
        <FEEDBACK>
1055
          <ON_CHECK message="opensslrecommended" />
1056
        </FEEDBACK>
1057
      </PHP_EXTENSION>
1058
      <PHP_EXTENSION name="tokenizer" level="optional">
1059
        <FEEDBACK>
1060
          <ON_CHECK message="tokenizerrecommended" />
1061
        </FEEDBACK>
1062
      </PHP_EXTENSION>
1063
      <PHP_EXTENSION name="xmlrpc" level="optional">
1064
        <FEEDBACK>
1065
          <ON_CHECK message="xmlrpcrecommended" />
1066
        </FEEDBACK>
1067
      </PHP_EXTENSION>
1068
      <PHP_EXTENSION name="soap" level="optional">
1069
        <FEEDBACK>
1070
          <ON_CHECK message="soaprecommended" />
1071
        </FEEDBACK>
1072
      </PHP_EXTENSION>
1073
      <PHP_EXTENSION name="ctype" level="required">
1074
        <FEEDBACK>
1075
          <ON_ERROR message="ctyperequired" />
1076
        </FEEDBACK>
1077
      </PHP_EXTENSION>
1078
      <PHP_EXTENSION name="zip" level="required">
1079
        <FEEDBACK>
1080
          <ON_ERROR message="ziprequired" />
1081
        </FEEDBACK>
1082
      </PHP_EXTENSION>
1083
      <PHP_EXTENSION name="zlib" level="required">
1084
      </PHP_EXTENSION>
1085
      <PHP_EXTENSION name="gd" level="required">
1086
        <FEEDBACK>
1087
          <ON_ERROR message="gdrequired" />
1088
        </FEEDBACK>
1089
      </PHP_EXTENSION>
1090
      <PHP_EXTENSION name="simplexml" level="required">
1091
        <FEEDBACK>
1092
          <ON_ERROR message="simplexmlrequired" />
1093
        </FEEDBACK>
1094
      </PHP_EXTENSION>
1095
      <PHP_EXTENSION name="spl" level="required">
1096
        <FEEDBACK>
1097
          <ON_ERROR message="splrequired" />
1098
        </FEEDBACK>
1099
      </PHP_EXTENSION>
1100
      <PHP_EXTENSION name="pcre" level="required">
1101
      </PHP_EXTENSION>
1102
      <PHP_EXTENSION name="dom" level="required">
1103
      </PHP_EXTENSION>
1104
      <PHP_EXTENSION name="xml" level="required">
1105
      </PHP_EXTENSION>
1106
      <PHP_EXTENSION name="intl" level="optional">
1107
        <FEEDBACK>
1108
          <ON_CHECK message="intlrecommended" />
1109
        </FEEDBACK>
1110
      </PHP_EXTENSION>
1111
      <PHP_EXTENSION name="json" level="required">
1112
      </PHP_EXTENSION>
1113
      <PHP_EXTENSION name="hash" level="required"/>
1114
    </PHP_EXTENSIONS>
1115
    <PHP_SETTINGS>
1116
      <PHP_SETTING name="memory_limit" value="96M" level="required">
1117
        <FEEDBACK>
1118
          <ON_ERROR message="settingmemorylimit" />
1119
        </FEEDBACK>
1120
      </PHP_SETTING>
1121
      <PHP_SETTING name="file_uploads" value="1" level="optional">
1122
        <FEEDBACK>
1123
          <ON_CHECK message="settingfileuploads" />
1124
        </FEEDBACK>
1125
      </PHP_SETTING>
1126
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
1127
        <FEEDBACK>
1128
          <ON_CHECK message="opcacherecommended" />
1129
        </FEEDBACK>
1130
      </PHP_SETTING>
1131
    </PHP_SETTINGS>
1132
    <CUSTOM_CHECKS>
1133
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1134
        <FEEDBACK>
1135
          <ON_ERROR message="quizattemptsupgradedmessage" />
1136
        </FEEDBACK>
1137
      </CUSTOM_CHECK>
1138
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1139
        <FEEDBACK>
1140
          <ON_CHECK message="slashargumentswarning" />
1141
        </FEEDBACK>
1142
      </CUSTOM_CHECK>
1143
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1144
        <FEEDBACK>
1145
          <ON_CHECK message="unsupporteddbtablerowformat" />
1146
        </FEEDBACK>
1147
      </CUSTOM_CHECK>
1148
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
1149
        <FEEDBACK>
1150
          <ON_CHECK message="libcurlwarning" />
1151
        </FEEDBACK>
1152
      </CUSTOM_CHECK>
1153
    </CUSTOM_CHECKS>
1154
  </MOODLE>
1155
  <MOODLE version="2.8" requires="2.2">
1156
    <UNICODE level="required">
1157
      <FEEDBACK>
1158
        <ON_ERROR message="unicoderequired" />
1159
      </FEEDBACK>
1160
    </UNICODE>
1161
    <DATABASE level="required">
1162
      <VENDOR name="mariadb" version="5.5.31" />
1163
      <VENDOR name="mysql" version="5.5.31" />
1164
      <VENDOR name="postgres" version="9.1" />
1165
      <VENDOR name="mssql" version="10.0" />
1166
      <VENDOR name="oracle" version="10.2" />
1167
    </DATABASE>
1168
    <PHP version="5.4.4" level="required">
1169
      <RESTRICT function="restrict_php_version_7" message="unsupportedphpversion7" />
1170
    </PHP>
1171
    <PCREUNICODE level="optional">
1172
      <FEEDBACK>
1173
        <ON_CHECK message="pcreunicodewarning" />
1174
      </FEEDBACK>
1175
    </PCREUNICODE>
1176
    <PHP_EXTENSIONS>
1177
      <PHP_EXTENSION name="iconv" level="required">
1178
        <FEEDBACK>
1179
          <ON_ERROR message="iconvrequired" />
1180
        </FEEDBACK>
1181
      </PHP_EXTENSION>
1182
      <PHP_EXTENSION name="mbstring" level="optional">
1183
        <FEEDBACK>
1184
          <ON_CHECK message="mbstringrecommended" />
1185
        </FEEDBACK>
1186
      </PHP_EXTENSION>
1187
      <PHP_EXTENSION name="curl" level="required">
1188
        <FEEDBACK>
1189
          <ON_ERROR message="curlrequired" />
1190
        </FEEDBACK>
1191
      </PHP_EXTENSION>
1192
      <PHP_EXTENSION name="openssl" level="optional">
1193
        <FEEDBACK>
1194
          <ON_CHECK message="opensslrecommended" />
1195
        </FEEDBACK>
1196
      </PHP_EXTENSION>
1197
      <PHP_EXTENSION name="tokenizer" level="optional">
1198
        <FEEDBACK>
1199
          <ON_CHECK message="tokenizerrecommended" />
1200
        </FEEDBACK>
1201
      </PHP_EXTENSION>
1202
      <PHP_EXTENSION name="xmlrpc" level="optional">
1203
        <FEEDBACK>
1204
          <ON_CHECK message="xmlrpcrecommended" />
1205
        </FEEDBACK>
1206
      </PHP_EXTENSION>
1207
      <PHP_EXTENSION name="soap" level="optional">
1208
        <FEEDBACK>
1209
          <ON_CHECK message="soaprecommended" />
1210
        </FEEDBACK>
1211
      </PHP_EXTENSION>
1212
      <PHP_EXTENSION name="ctype" level="required">
1213
        <FEEDBACK>
1214
          <ON_ERROR message="ctyperequired" />
1215
        </FEEDBACK>
1216
      </PHP_EXTENSION>
1217
      <PHP_EXTENSION name="zip" level="required">
1218
        <FEEDBACK>
1219
          <ON_ERROR message="ziprequired" />
1220
        </FEEDBACK>
1221
      </PHP_EXTENSION>
1222
      <PHP_EXTENSION name="zlib" level="required">
1223
      </PHP_EXTENSION>
1224
      <PHP_EXTENSION name="gd" level="required">
1225
        <FEEDBACK>
1226
          <ON_ERROR message="gdrequired" />
1227
        </FEEDBACK>
1228
      </PHP_EXTENSION>
1229
      <PHP_EXTENSION name="simplexml" level="required">
1230
        <FEEDBACK>
1231
          <ON_ERROR message="simplexmlrequired" />
1232
        </FEEDBACK>
1233
      </PHP_EXTENSION>
1234
      <PHP_EXTENSION name="spl" level="required">
1235
        <FEEDBACK>
1236
          <ON_ERROR message="splrequired" />
1237
        </FEEDBACK>
1238
      </PHP_EXTENSION>
1239
      <PHP_EXTENSION name="pcre" level="required">
1240
      </PHP_EXTENSION>
1241
      <PHP_EXTENSION name="dom" level="required">
1242
      </PHP_EXTENSION>
1243
      <PHP_EXTENSION name="xml" level="required">
1244
      </PHP_EXTENSION>
1245
      <PHP_EXTENSION name="intl" level="optional">
1246
        <FEEDBACK>
1247
          <ON_CHECK message="intlrecommended" />
1248
        </FEEDBACK>
1249
      </PHP_EXTENSION>
1250
      <PHP_EXTENSION name="json" level="required">
1251
      </PHP_EXTENSION>
1252
      <PHP_EXTENSION name="hash" level="required"/>
1253
    </PHP_EXTENSIONS>
1254
    <PHP_SETTINGS>
1255
      <PHP_SETTING name="memory_limit" value="96M" level="required">
1256
        <FEEDBACK>
1257
          <ON_ERROR message="settingmemorylimit" />
1258
        </FEEDBACK>
1259
      </PHP_SETTING>
1260
      <PHP_SETTING name="file_uploads" value="1" level="optional">
1261
        <FEEDBACK>
1262
          <ON_CHECK message="settingfileuploads" />
1263
        </FEEDBACK>
1264
      </PHP_SETTING>
1265
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
1266
        <FEEDBACK>
1267
          <ON_CHECK message="opcacherecommended" />
1268
        </FEEDBACK>
1269
      </PHP_SETTING>
1270
    </PHP_SETTINGS>
1271
    <CUSTOM_CHECKS>
1272
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1273
        <FEEDBACK>
1274
          <ON_ERROR message="quizattemptsupgradedmessage" />
1275
        </FEEDBACK>
1276
      </CUSTOM_CHECK>
1277
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1278
        <FEEDBACK>
1279
          <ON_CHECK message="slashargumentswarning" />
1280
        </FEEDBACK>
1281
      </CUSTOM_CHECK>
1282
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1283
        <FEEDBACK>
1284
          <ON_CHECK message="unsupporteddbtablerowformat" />
1285
        </FEEDBACK>
1286
      </CUSTOM_CHECK>
1287
    </CUSTOM_CHECKS>
1288
  </MOODLE>
1289
  <MOODLE version="2.9" requires="2.2">
1290
    <UNICODE level="required">
1291
      <FEEDBACK>
1292
        <ON_ERROR message="unicoderequired" />
1293
      </FEEDBACK>
1294
    </UNICODE>
1295
    <DATABASE level="required">
1296
      <VENDOR name="mariadb" version="5.5.31" />
1297
      <VENDOR name="mysql" version="5.5.31" />
1298
      <VENDOR name="postgres" version="9.1" />
1299
      <VENDOR name="mssql" version="10.0" />
1300
      <VENDOR name="oracle" version="10.2" />
1301
    </DATABASE>
1302
    <PHP version="5.4.4" level="required">
1303
      <RESTRICT function="restrict_php_version_7" message="unsupportedphpversion7" />
1304
    </PHP>
1305
    <PCREUNICODE level="optional">
1306
      <FEEDBACK>
1307
        <ON_CHECK message="pcreunicodewarning" />
1308
      </FEEDBACK>
1309
    </PCREUNICODE>
1310
    <PHP_EXTENSIONS>
1311
      <PHP_EXTENSION name="iconv" level="required">
1312
        <FEEDBACK>
1313
          <ON_ERROR message="iconvrequired" />
1314
        </FEEDBACK>
1315
      </PHP_EXTENSION>
1316
      <PHP_EXTENSION name="mbstring" level="optional">
1317
        <FEEDBACK>
1318
          <ON_CHECK message="mbstringrecommended" />
1319
        </FEEDBACK>
1320
      </PHP_EXTENSION>
1321
      <PHP_EXTENSION name="curl" level="required">
1322
        <FEEDBACK>
1323
          <ON_ERROR message="curlrequired" />
1324
        </FEEDBACK>
1325
      </PHP_EXTENSION>
1326
      <PHP_EXTENSION name="openssl" level="optional">
1327
        <FEEDBACK>
1328
          <ON_CHECK message="opensslrecommended" />
1329
        </FEEDBACK>
1330
      </PHP_EXTENSION>
1331
      <PHP_EXTENSION name="tokenizer" level="optional">
1332
        <FEEDBACK>
1333
          <ON_CHECK message="tokenizerrecommended" />
1334
        </FEEDBACK>
1335
      </PHP_EXTENSION>
1336
      <PHP_EXTENSION name="xmlrpc" level="optional">
1337
        <FEEDBACK>
1338
          <ON_CHECK message="xmlrpcrecommended" />
1339
        </FEEDBACK>
1340
      </PHP_EXTENSION>
1341
      <PHP_EXTENSION name="soap" level="optional">
1342
        <FEEDBACK>
1343
          <ON_CHECK message="soaprecommended" />
1344
        </FEEDBACK>
1345
      </PHP_EXTENSION>
1346
      <PHP_EXTENSION name="ctype" level="required">
1347
        <FEEDBACK>
1348
          <ON_ERROR message="ctyperequired" />
1349
        </FEEDBACK>
1350
      </PHP_EXTENSION>
1351
      <PHP_EXTENSION name="zip" level="required">
1352
        <FEEDBACK>
1353
          <ON_ERROR message="ziprequired" />
1354
        </FEEDBACK>
1355
      </PHP_EXTENSION>
1356
      <PHP_EXTENSION name="zlib" level="required">
1357
      </PHP_EXTENSION>
1358
      <PHP_EXTENSION name="gd" level="required">
1359
        <FEEDBACK>
1360
          <ON_ERROR message="gdrequired" />
1361
        </FEEDBACK>
1362
      </PHP_EXTENSION>
1363
      <PHP_EXTENSION name="simplexml" level="required">
1364
        <FEEDBACK>
1365
          <ON_ERROR message="simplexmlrequired" />
1366
        </FEEDBACK>
1367
      </PHP_EXTENSION>
1368
      <PHP_EXTENSION name="spl" level="required">
1369
        <FEEDBACK>
1370
          <ON_ERROR message="splrequired" />
1371
        </FEEDBACK>
1372
      </PHP_EXTENSION>
1373
      <PHP_EXTENSION name="pcre" level="required">
1374
      </PHP_EXTENSION>
1375
      <PHP_EXTENSION name="dom" level="required">
1376
      </PHP_EXTENSION>
1377
      <PHP_EXTENSION name="xml" level="required">
1378
      </PHP_EXTENSION>
1379
      <PHP_EXTENSION name="intl" level="optional">
1380
        <FEEDBACK>
1381
          <ON_CHECK message="intlrecommended" />
1382
        </FEEDBACK>
1383
      </PHP_EXTENSION>
1384
      <PHP_EXTENSION name="json" level="required">
1385
      </PHP_EXTENSION>
1386
      <PHP_EXTENSION name="hash" level="required"/>
1387
    </PHP_EXTENSIONS>
1388
    <PHP_SETTINGS>
1389
      <PHP_SETTING name="memory_limit" value="96M" level="required">
1390
        <FEEDBACK>
1391
          <ON_ERROR message="settingmemorylimit" />
1392
        </FEEDBACK>
1393
      </PHP_SETTING>
1394
      <PHP_SETTING name="file_uploads" value="1" level="optional">
1395
        <FEEDBACK>
1396
          <ON_CHECK message="settingfileuploads" />
1397
        </FEEDBACK>
1398
      </PHP_SETTING>
1399
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
1400
        <FEEDBACK>
1401
          <ON_CHECK message="opcacherecommended" />
1402
        </FEEDBACK>
1403
      </PHP_SETTING>
1404
    </PHP_SETTINGS>
1405
    <CUSTOM_CHECKS>
1406
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
1407
        <FEEDBACK>
1408
          <ON_ERROR message="unsupporteddbstorageengine" />
1409
        </FEEDBACK>
1410
      </CUSTOM_CHECK>
1411
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1412
        <FEEDBACK>
1413
          <ON_ERROR message="quizattemptsupgradedmessage" />
1414
        </FEEDBACK>
1415
      </CUSTOM_CHECK>
1416
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1417
        <FEEDBACK>
1418
          <ON_CHECK message="slashargumentswarning" />
1419
        </FEEDBACK>
1420
      </CUSTOM_CHECK>
1421
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1422
        <FEEDBACK>
1423
          <ON_CHECK message="unsupporteddbtablerowformat" />
1424
        </FEEDBACK>
1425
      </CUSTOM_CHECK>
1426
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
1427
        <FEEDBACK>
1428
          <ON_CHECK message="libcurlwarning" />
1429
        </FEEDBACK>
1430
      </CUSTOM_CHECK>
1431
    </CUSTOM_CHECKS>
1432
  </MOODLE>
1433
  <MOODLE version="3.0" requires="2.2">
1434
    <UNICODE level="required">
1435
      <FEEDBACK>
1436
        <ON_ERROR message="unicoderequired" />
1437
      </FEEDBACK>
1438
    </UNICODE>
1439
    <DATABASE level="required">
1440
      <VENDOR name="mariadb" version="5.5.31" />
1441
      <VENDOR name="mysql" version="5.5.31" />
1442
      <VENDOR name="postgres" version="9.1" />
1443
      <VENDOR name="mssql" version="10.0" />
1444
      <VENDOR name="oracle" version="10.2" />
1445
    </DATABASE>
1446
    <PHP version="5.4.4" level="required">
1447
      <RESTRICT function="restrict_php_version_71" message="unsupportedphpversion71" />
1448
    </PHP>
1449
    <PCREUNICODE level="optional">
1450
      <FEEDBACK>
1451
        <ON_CHECK message="pcreunicodewarning" />
1452
      </FEEDBACK>
1453
    </PCREUNICODE>
1454
    <PHP_EXTENSIONS>
1455
      <PHP_EXTENSION name="iconv" level="required">
1456
        <FEEDBACK>
1457
          <ON_ERROR message="iconvrequired" />
1458
        </FEEDBACK>
1459
      </PHP_EXTENSION>
1460
      <PHP_EXTENSION name="mbstring" level="optional">
1461
        <FEEDBACK>
1462
          <ON_CHECK message="mbstringrecommended" />
1463
        </FEEDBACK>
1464
      </PHP_EXTENSION>
1465
      <PHP_EXTENSION name="curl" level="required">
1466
        <FEEDBACK>
1467
          <ON_ERROR message="curlrequired" />
1468
        </FEEDBACK>
1469
      </PHP_EXTENSION>
1470
      <PHP_EXTENSION name="openssl" level="optional">
1471
        <FEEDBACK>
1472
          <ON_CHECK message="opensslrecommended" />
1473
        </FEEDBACK>
1474
      </PHP_EXTENSION>
1475
      <PHP_EXTENSION name="tokenizer" level="optional">
1476
        <FEEDBACK>
1477
          <ON_CHECK message="tokenizerrecommended" />
1478
        </FEEDBACK>
1479
      </PHP_EXTENSION>
1480
      <PHP_EXTENSION name="xmlrpc" level="optional">
1481
        <FEEDBACK>
1482
          <ON_CHECK message="xmlrpcrecommended" />
1483
        </FEEDBACK>
1484
      </PHP_EXTENSION>
1485
      <PHP_EXTENSION name="soap" level="optional">
1486
        <FEEDBACK>
1487
          <ON_CHECK message="soaprecommended" />
1488
        </FEEDBACK>
1489
      </PHP_EXTENSION>
1490
      <PHP_EXTENSION name="ctype" level="required">
1491
        <FEEDBACK>
1492
          <ON_ERROR message="ctyperequired" />
1493
        </FEEDBACK>
1494
      </PHP_EXTENSION>
1495
      <PHP_EXTENSION name="zip" level="required">
1496
        <FEEDBACK>
1497
          <ON_ERROR message="ziprequired" />
1498
        </FEEDBACK>
1499
      </PHP_EXTENSION>
1500
      <PHP_EXTENSION name="zlib" level="required">
1501
      </PHP_EXTENSION>
1502
      <PHP_EXTENSION name="gd" level="required">
1503
        <FEEDBACK>
1504
          <ON_ERROR message="gdrequired" />
1505
        </FEEDBACK>
1506
      </PHP_EXTENSION>
1507
      <PHP_EXTENSION name="simplexml" level="required">
1508
        <FEEDBACK>
1509
          <ON_ERROR message="simplexmlrequired" />
1510
        </FEEDBACK>
1511
      </PHP_EXTENSION>
1512
      <PHP_EXTENSION name="spl" level="required">
1513
        <FEEDBACK>
1514
          <ON_ERROR message="splrequired" />
1515
        </FEEDBACK>
1516
      </PHP_EXTENSION>
1517
      <PHP_EXTENSION name="pcre" level="required">
1518
      </PHP_EXTENSION>
1519
      <PHP_EXTENSION name="dom" level="required">
1520
      </PHP_EXTENSION>
1521
      <PHP_EXTENSION name="xml" level="required">
1522
      </PHP_EXTENSION>
1523
      <PHP_EXTENSION name="intl" level="optional">
1524
        <FEEDBACK>
1525
          <ON_CHECK message="intlrecommended" />
1526
        </FEEDBACK>
1527
      </PHP_EXTENSION>
1528
      <PHP_EXTENSION name="json" level="required">
1529
      </PHP_EXTENSION>
1530
      <PHP_EXTENSION name="hash" level="required"/>
1531
    </PHP_EXTENSIONS>
1532
    <PHP_SETTINGS>
1533
      <PHP_SETTING name="memory_limit" value="96M" level="required">
1534
        <FEEDBACK>
1535
          <ON_ERROR message="settingmemorylimit" />
1536
        </FEEDBACK>
1537
      </PHP_SETTING>
1538
      <PHP_SETTING name="file_uploads" value="1" level="optional">
1539
        <FEEDBACK>
1540
          <ON_CHECK message="settingfileuploads" />
1541
        </FEEDBACK>
1542
      </PHP_SETTING>
1543
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
1544
        <FEEDBACK>
1545
          <ON_CHECK message="opcacherecommended" />
1546
        </FEEDBACK>
1547
      </PHP_SETTING>
1548
    </PHP_SETTINGS>
1549
    <CUSTOM_CHECKS>
1550
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
1551
        <FEEDBACK>
1552
          <ON_ERROR message="unsupporteddbstorageengine" />
1553
        </FEEDBACK>
1554
      </CUSTOM_CHECK>
1555
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1556
        <FEEDBACK>
1557
          <ON_ERROR message="quizattemptsupgradedmessage" />
1558
        </FEEDBACK>
1559
      </CUSTOM_CHECK>
1560
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1561
        <FEEDBACK>
1562
          <ON_CHECK message="slashargumentswarning" />
1563
        </FEEDBACK>
1564
      </CUSTOM_CHECK>
1565
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1566
        <FEEDBACK>
1567
          <ON_CHECK message="unsupporteddbtablerowformat" />
1568
        </FEEDBACK>
1569
      </CUSTOM_CHECK>
1570
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
1571
        <FEEDBACK>
1572
          <ON_CHECK message="libcurlwarning" />
1573
        </FEEDBACK>
1574
      </CUSTOM_CHECK>
1575
    </CUSTOM_CHECKS>
1576
  </MOODLE>
1577
  <MOODLE version="3.1" requires="2.7">
1578
    <UNICODE level="required">
1579
      <FEEDBACK>
1580
        <ON_ERROR message="unicoderequired" />
1581
      </FEEDBACK>
1582
    </UNICODE>
1583
    <DATABASE level="required">
1584
      <VENDOR name="mariadb" version="5.5.31" />
1585
      <VENDOR name="mysql" version="5.5.31" />
1586
      <VENDOR name="postgres" version="9.1" />
1587
      <VENDOR name="mssql" version="10.0" />
1588
      <VENDOR name="oracle" version="10.2" />
1589
    </DATABASE>
1590
    <PHP version="5.4.4" level="required">
1591
      <RESTRICT function="restrict_php_version_71" message="unsupportedphpversion71" />
1592
    </PHP>
1593
    <PCREUNICODE level="optional">
1594
      <FEEDBACK>
1595
        <ON_CHECK message="pcreunicodewarning" />
1596
      </FEEDBACK>
1597
    </PCREUNICODE>
1598
    <PHP_EXTENSIONS>
1599
      <PHP_EXTENSION name="iconv" level="required">
1600
        <FEEDBACK>
1601
          <ON_ERROR message="iconvrequired" />
1602
        </FEEDBACK>
1603
      </PHP_EXTENSION>
1604
      <PHP_EXTENSION name="mbstring" level="optional">
1605
        <FEEDBACK>
1606
          <ON_CHECK message="mbstringrecommended" />
1607
        </FEEDBACK>
1608
      </PHP_EXTENSION>
1609
      <PHP_EXTENSION name="curl" level="required">
1610
        <FEEDBACK>
1611
          <ON_ERROR message="curlrequired" />
1612
        </FEEDBACK>
1613
      </PHP_EXTENSION>
1614
      <PHP_EXTENSION name="openssl" level="optional">
1615
        <FEEDBACK>
1616
          <ON_CHECK message="opensslrecommended" />
1617
        </FEEDBACK>
1618
      </PHP_EXTENSION>
1619
      <PHP_EXTENSION name="tokenizer" level="optional">
1620
        <FEEDBACK>
1621
          <ON_CHECK message="tokenizerrecommended" />
1622
        </FEEDBACK>
1623
      </PHP_EXTENSION>
1624
      <PHP_EXTENSION name="xmlrpc" level="optional">
1625
        <FEEDBACK>
1626
          <ON_CHECK message="xmlrpcrecommended" />
1627
        </FEEDBACK>
1628
      </PHP_EXTENSION>
1629
      <PHP_EXTENSION name="soap" level="optional">
1630
        <FEEDBACK>
1631
          <ON_CHECK message="soaprecommended" />
1632
        </FEEDBACK>
1633
      </PHP_EXTENSION>
1634
      <PHP_EXTENSION name="ctype" level="required">
1635
        <FEEDBACK>
1636
          <ON_ERROR message="ctyperequired" />
1637
        </FEEDBACK>
1638
      </PHP_EXTENSION>
1639
      <PHP_EXTENSION name="zip" level="required">
1640
        <FEEDBACK>
1641
          <ON_ERROR message="ziprequired" />
1642
        </FEEDBACK>
1643
      </PHP_EXTENSION>
1644
      <PHP_EXTENSION name="zlib" level="required">
1645
      </PHP_EXTENSION>
1646
      <PHP_EXTENSION name="gd" level="required">
1647
        <FEEDBACK>
1648
          <ON_ERROR message="gdrequired" />
1649
        </FEEDBACK>
1650
      </PHP_EXTENSION>
1651
      <PHP_EXTENSION name="simplexml" level="required">
1652
        <FEEDBACK>
1653
          <ON_ERROR message="simplexmlrequired" />
1654
        </FEEDBACK>
1655
      </PHP_EXTENSION>
1656
      <PHP_EXTENSION name="spl" level="required">
1657
        <FEEDBACK>
1658
          <ON_ERROR message="splrequired" />
1659
        </FEEDBACK>
1660
      </PHP_EXTENSION>
1661
      <PHP_EXTENSION name="pcre" level="required">
1662
      </PHP_EXTENSION>
1663
      <PHP_EXTENSION name="dom" level="required">
1664
      </PHP_EXTENSION>
1665
      <PHP_EXTENSION name="xml" level="required">
1666
      </PHP_EXTENSION>
1667
      <PHP_EXTENSION name="xmlreader" level="required">
1668
      </PHP_EXTENSION>
1669
      <PHP_EXTENSION name="intl" level="optional">
1670
        <FEEDBACK>
1671
          <ON_CHECK message="intlrecommended" />
1672
        </FEEDBACK>
1673
      </PHP_EXTENSION>
1674
      <PHP_EXTENSION name="json" level="required">
1675
      </PHP_EXTENSION>
1676
      <PHP_EXTENSION name="hash" level="required"/>
1677
    </PHP_EXTENSIONS>
1678
    <PHP_SETTINGS>
1679
      <PHP_SETTING name="memory_limit" value="96M" level="required">
1680
        <FEEDBACK>
1681
          <ON_ERROR message="settingmemorylimit" />
1682
        </FEEDBACK>
1683
      </PHP_SETTING>
1684
      <PHP_SETTING name="file_uploads" value="1" level="optional">
1685
        <FEEDBACK>
1686
          <ON_CHECK message="settingfileuploads" />
1687
        </FEEDBACK>
1688
      </PHP_SETTING>
1689
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
1690
        <FEEDBACK>
1691
          <ON_CHECK message="opcacherecommended" />
1692
        </FEEDBACK>
1693
      </PHP_SETTING>
1694
    </PHP_SETTINGS>
1695
    <CUSTOM_CHECKS>
1696
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
1697
        <FEEDBACK>
1698
          <ON_ERROR message="unsupporteddbstorageengine" />
1699
        </FEEDBACK>
1700
      </CUSTOM_CHECK>
1701
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1702
        <FEEDBACK>
1703
          <ON_ERROR message="quizattemptsupgradedmessage" />
1704
        </FEEDBACK>
1705
      </CUSTOM_CHECK>
1706
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1707
        <FEEDBACK>
1708
          <ON_CHECK message="slashargumentswarning" />
1709
        </FEEDBACK>
1710
      </CUSTOM_CHECK>
1711
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1712
        <FEEDBACK>
1713
          <ON_CHECK message="unsupporteddbtablerowformat" />
1714
        </FEEDBACK>
1715
      </CUSTOM_CHECK>
1716
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
1717
        <FEEDBACK>
1718
          <ON_CHECK message="unoconvwarning" />
1719
        </FEEDBACK>
1720
      </CUSTOM_CHECK>
1721
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
1722
        <FEEDBACK>
1723
          <ON_CHECK message="libcurlwarning" />
1724
        </FEEDBACK>
1725
      </CUSTOM_CHECK>
1726
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
1727
        <FEEDBACK>
1728
          <ON_ERROR message="unsupporteddbfileformat" />
1729
        </FEEDBACK>
1730
      </CUSTOM_CHECK>
1731
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
1732
        <FEEDBACK>
1733
          <ON_ERROR message="unsupporteddbfilepertable" />
1734
        </FEEDBACK>
1735
      </CUSTOM_CHECK>
1736
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
1737
        <FEEDBACK>
1738
          <ON_ERROR message="unsupporteddblargeprefix" />
1739
        </FEEDBACK>
1740
      </CUSTOM_CHECK>
1741
    </CUSTOM_CHECKS>
1742
  </MOODLE>
1743
  <MOODLE version="3.2" requires="2.7">
1744
    <UNICODE level="required">
1745
      <FEEDBACK>
1746
        <ON_ERROR message="unicoderequired" />
1747
      </FEEDBACK>
1748
    </UNICODE>
1749
    <DATABASE level="required">
1750
      <VENDOR name="mariadb" version="5.5.31" />
1751
      <VENDOR name="mysql" version="5.5.31" />
1752
      <VENDOR name="postgres" version="9.1" />
1753
      <VENDOR name="mssql" version="10.0" />
1754
      <VENDOR name="oracle" version="10.2" />
1755
    </DATABASE>
1756
    <PHP version="5.6.5" level="required">
1757
      <RESTRICT function="restrict_php_version_72" message="unsupportedphpversion72" />
1758
    </PHP>
1759
    <PCREUNICODE level="optional">
1760
      <FEEDBACK>
1761
        <ON_CHECK message="pcreunicodewarning" />
1762
      </FEEDBACK>
1763
    </PCREUNICODE>
1764
    <PHP_EXTENSIONS>
1765
      <PHP_EXTENSION name="iconv" level="required">
1766
        <FEEDBACK>
1767
          <ON_ERROR message="iconvrequired" />
1768
        </FEEDBACK>
1769
      </PHP_EXTENSION>
1770
      <PHP_EXTENSION name="mbstring" level="optional">
1771
        <FEEDBACK>
1772
          <ON_CHECK message="mbstringrecommended" />
1773
        </FEEDBACK>
1774
      </PHP_EXTENSION>
1775
      <PHP_EXTENSION name="curl" level="required">
1776
        <FEEDBACK>
1777
          <ON_ERROR message="curlrequired" />
1778
        </FEEDBACK>
1779
      </PHP_EXTENSION>
1780
      <PHP_EXTENSION name="openssl" level="optional">
1781
        <FEEDBACK>
1782
          <ON_CHECK message="opensslrecommended" />
1783
        </FEEDBACK>
1784
      </PHP_EXTENSION>
1785
      <PHP_EXTENSION name="tokenizer" level="optional">
1786
        <FEEDBACK>
1787
          <ON_CHECK message="tokenizerrecommended" />
1788
        </FEEDBACK>
1789
      </PHP_EXTENSION>
1790
      <PHP_EXTENSION name="xmlrpc" level="optional">
1791
        <FEEDBACK>
1792
          <ON_CHECK message="xmlrpcrecommended" />
1793
        </FEEDBACK>
1794
      </PHP_EXTENSION>
1795
      <PHP_EXTENSION name="soap" level="optional">
1796
        <FEEDBACK>
1797
          <ON_CHECK message="soaprecommended" />
1798
        </FEEDBACK>
1799
      </PHP_EXTENSION>
1800
      <PHP_EXTENSION name="ctype" level="required">
1801
        <FEEDBACK>
1802
          <ON_ERROR message="ctyperequired" />
1803
        </FEEDBACK>
1804
      </PHP_EXTENSION>
1805
      <PHP_EXTENSION name="zip" level="required">
1806
        <FEEDBACK>
1807
          <ON_ERROR message="ziprequired" />
1808
        </FEEDBACK>
1809
      </PHP_EXTENSION>
1810
      <PHP_EXTENSION name="zlib" level="required">
1811
      </PHP_EXTENSION>
1812
      <PHP_EXTENSION name="gd" level="required">
1813
        <FEEDBACK>
1814
          <ON_ERROR message="gdrequired" />
1815
        </FEEDBACK>
1816
      </PHP_EXTENSION>
1817
      <PHP_EXTENSION name="simplexml" level="required">
1818
        <FEEDBACK>
1819
          <ON_ERROR message="simplexmlrequired" />
1820
        </FEEDBACK>
1821
      </PHP_EXTENSION>
1822
      <PHP_EXTENSION name="spl" level="required">
1823
        <FEEDBACK>
1824
          <ON_ERROR message="splrequired" />
1825
        </FEEDBACK>
1826
      </PHP_EXTENSION>
1827
      <PHP_EXTENSION name="pcre" level="required">
1828
      </PHP_EXTENSION>
1829
      <PHP_EXTENSION name="dom" level="required">
1830
      </PHP_EXTENSION>
1831
      <PHP_EXTENSION name="xml" level="required">
1832
      </PHP_EXTENSION>
1833
      <PHP_EXTENSION name="xmlreader" level="required">
1834
      </PHP_EXTENSION>
1835
      <PHP_EXTENSION name="intl" level="optional">
1836
        <FEEDBACK>
1837
          <ON_CHECK message="intlrecommended" />
1838
        </FEEDBACK>
1839
      </PHP_EXTENSION>
1840
      <PHP_EXTENSION name="json" level="required">
1841
      </PHP_EXTENSION>
1842
      <PHP_EXTENSION name="hash" level="required"/>
1843
    </PHP_EXTENSIONS>
1844
    <PHP_SETTINGS>
1845
      <PHP_SETTING name="memory_limit" value="96M" level="required">
1846
        <FEEDBACK>
1847
          <ON_ERROR message="settingmemorylimit" />
1848
        </FEEDBACK>
1849
      </PHP_SETTING>
1850
      <PHP_SETTING name="file_uploads" value="1" level="optional">
1851
        <FEEDBACK>
1852
          <ON_CHECK message="settingfileuploads" />
1853
        </FEEDBACK>
1854
      </PHP_SETTING>
1855
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
1856
        <FEEDBACK>
1857
          <ON_CHECK message="opcacherecommended" />
1858
        </FEEDBACK>
1859
      </PHP_SETTING>
1860
    </PHP_SETTINGS>
1861
    <CUSTOM_CHECKS>
1862
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
1863
        <FEEDBACK>
1864
          <ON_ERROR message="unsupporteddbstorageengine" />
1865
        </FEEDBACK>
1866
      </CUSTOM_CHECK>
1867
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1868
        <FEEDBACK>
1869
          <ON_ERROR message="quizattemptsupgradedmessage" />
1870
        </FEEDBACK>
1871
      </CUSTOM_CHECK>
1872
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1873
        <FEEDBACK>
1874
          <ON_CHECK message="slashargumentswarning" />
1875
        </FEEDBACK>
1876
      </CUSTOM_CHECK>
1877
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1878
        <FEEDBACK>
1879
          <ON_CHECK message="unsupporteddbtablerowformat" />
1880
        </FEEDBACK>
1881
      </CUSTOM_CHECK>
1882
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
1883
        <FEEDBACK>
1884
          <ON_CHECK message="unoconvwarning" />
1885
        </FEEDBACK>
1886
      </CUSTOM_CHECK>
1887
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
1888
        <FEEDBACK>
1889
          <ON_CHECK message="libcurlwarning" />
1890
        </FEEDBACK>
1891
      </CUSTOM_CHECK>
1892
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
1893
        <FEEDBACK>
1894
          <ON_ERROR message="unsupporteddbfileformat" />
1895
        </FEEDBACK>
1896
      </CUSTOM_CHECK>
1897
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
1898
        <FEEDBACK>
1899
          <ON_ERROR message="unsupporteddbfilepertable" />
1900
        </FEEDBACK>
1901
      </CUSTOM_CHECK>
1902
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
1903
        <FEEDBACK>
1904
          <ON_ERROR message="unsupporteddblargeprefix" />
1905
        </FEEDBACK>
1906
      </CUSTOM_CHECK>
1907
    </CUSTOM_CHECKS>
1908
  </MOODLE>
1909
  <MOODLE version="3.3" requires="2.7">
1910
    <UNICODE level="required">
1911
      <FEEDBACK>
1912
        <ON_ERROR message="unicoderequired" />
1913
      </FEEDBACK>
1914
    </UNICODE>
1915
    <DATABASE level="required">
1916
      <VENDOR name="mariadb" version="5.5.31" />
1917
      <VENDOR name="mysql" version="5.5.31" />
1918
      <VENDOR name="postgres" version="9.3" />
1919
      <VENDOR name="mssql" version="10.0" />
1920
      <VENDOR name="oracle" version="10.2" />
1921
    </DATABASE>
1922
    <PHP version="5.6.5" level="required">
1923
      <RESTRICT function="restrict_php_version_72" message="unsupportedphpversion72" />
1924
    </PHP>
1925
    <PCREUNICODE level="optional">
1926
      <FEEDBACK>
1927
        <ON_CHECK message="pcreunicodewarning" />
1928
      </FEEDBACK>
1929
    </PCREUNICODE>
1930
    <PHP_EXTENSIONS>
1931
      <PHP_EXTENSION name="iconv" level="required">
1932
        <FEEDBACK>
1933
          <ON_ERROR message="iconvrequired" />
1934
        </FEEDBACK>
1935
      </PHP_EXTENSION>
1936
      <PHP_EXTENSION name="mbstring" level="optional">
1937
        <FEEDBACK>
1938
          <ON_CHECK message="mbstringrecommended" />
1939
        </FEEDBACK>
1940
      </PHP_EXTENSION>
1941
      <PHP_EXTENSION name="curl" level="required">
1942
        <FEEDBACK>
1943
          <ON_ERROR message="curlrequired" />
1944
        </FEEDBACK>
1945
      </PHP_EXTENSION>
1946
      <PHP_EXTENSION name="openssl" level="required">
1947
        <FEEDBACK>
1948
          <ON_ERROR message="opensslrequired" />
1949
        </FEEDBACK>
1950
      </PHP_EXTENSION>
1951
      <PHP_EXTENSION name="tokenizer" level="optional">
1952
        <FEEDBACK>
1953
          <ON_CHECK message="tokenizerrecommended" />
1954
        </FEEDBACK>
1955
      </PHP_EXTENSION>
1956
      <PHP_EXTENSION name="xmlrpc" level="optional">
1957
        <FEEDBACK>
1958
          <ON_CHECK message="xmlrpcrecommended" />
1959
        </FEEDBACK>
1960
      </PHP_EXTENSION>
1961
      <PHP_EXTENSION name="soap" level="optional">
1962
        <FEEDBACK>
1963
          <ON_CHECK message="soaprecommended" />
1964
        </FEEDBACK>
1965
      </PHP_EXTENSION>
1966
      <PHP_EXTENSION name="ctype" level="required">
1967
        <FEEDBACK>
1968
          <ON_ERROR message="ctyperequired" />
1969
        </FEEDBACK>
1970
      </PHP_EXTENSION>
1971
      <PHP_EXTENSION name="zip" level="required">
1972
        <FEEDBACK>
1973
          <ON_ERROR message="ziprequired" />
1974
        </FEEDBACK>
1975
      </PHP_EXTENSION>
1976
      <PHP_EXTENSION name="zlib" level="required">
1977
      </PHP_EXTENSION>
1978
      <PHP_EXTENSION name="gd" level="required">
1979
        <FEEDBACK>
1980
          <ON_ERROR message="gdrequired" />
1981
        </FEEDBACK>
1982
      </PHP_EXTENSION>
1983
      <PHP_EXTENSION name="simplexml" level="required">
1984
        <FEEDBACK>
1985
          <ON_ERROR message="simplexmlrequired" />
1986
        </FEEDBACK>
1987
      </PHP_EXTENSION>
1988
      <PHP_EXTENSION name="spl" level="required">
1989
        <FEEDBACK>
1990
          <ON_ERROR message="splrequired" />
1991
        </FEEDBACK>
1992
      </PHP_EXTENSION>
1993
      <PHP_EXTENSION name="pcre" level="required">
1994
      </PHP_EXTENSION>
1995
      <PHP_EXTENSION name="dom" level="required">
1996
      </PHP_EXTENSION>
1997
      <PHP_EXTENSION name="xml" level="required">
1998
      </PHP_EXTENSION>
1999
      <PHP_EXTENSION name="xmlreader" level="required">
2000
      </PHP_EXTENSION>
2001
      <PHP_EXTENSION name="intl" level="optional">
2002
        <FEEDBACK>
2003
          <ON_CHECK message="intlrecommended" />
2004
        </FEEDBACK>
2005
      </PHP_EXTENSION>
2006
      <PHP_EXTENSION name="json" level="required">
2007
      </PHP_EXTENSION>
2008
      <PHP_EXTENSION name="hash" level="required"/>
2009
      <PHP_EXTENSION name="fileinfo" level="required"/>
2010
    </PHP_EXTENSIONS>
2011
    <PHP_SETTINGS>
2012
      <PHP_SETTING name="memory_limit" value="96M" level="required">
2013
        <FEEDBACK>
2014
          <ON_ERROR message="settingmemorylimit" />
2015
        </FEEDBACK>
2016
      </PHP_SETTING>
2017
      <PHP_SETTING name="file_uploads" value="1" level="optional">
2018
        <FEEDBACK>
2019
          <ON_CHECK message="settingfileuploads" />
2020
        </FEEDBACK>
2021
      </PHP_SETTING>
2022
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
2023
        <FEEDBACK>
2024
          <ON_CHECK message="opcacherecommended" />
2025
        </FEEDBACK>
2026
      </PHP_SETTING>
2027
    </PHP_SETTINGS>
2028
    <CUSTOM_CHECKS>
2029
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
2030
        <FEEDBACK>
2031
          <ON_ERROR message="unsupporteddbstorageengine" />
2032
        </FEEDBACK>
2033
      </CUSTOM_CHECK>
2034
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
2035
        <FEEDBACK>
2036
          <ON_ERROR message="quizattemptsupgradedmessage" />
2037
        </FEEDBACK>
2038
      </CUSTOM_CHECK>
2039
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
2040
        <FEEDBACK>
2041
          <ON_CHECK message="slashargumentswarning" />
2042
        </FEEDBACK>
2043
      </CUSTOM_CHECK>
2044
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
2045
        <FEEDBACK>
2046
          <ON_CHECK message="unsupporteddbtablerowformat" />
2047
        </FEEDBACK>
2048
      </CUSTOM_CHECK>
2049
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
2050
        <FEEDBACK>
2051
          <ON_CHECK message="unoconvwarning" />
2052
        </FEEDBACK>
2053
      </CUSTOM_CHECK>
2054
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
2055
        <FEEDBACK>
2056
          <ON_CHECK message="libcurlwarning" />
2057
        </FEEDBACK>
2058
      </CUSTOM_CHECK>
2059
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
2060
        <FEEDBACK>
2061
          <ON_ERROR message="unsupporteddbfileformat" />
2062
        </FEEDBACK>
2063
      </CUSTOM_CHECK>
2064
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
2065
        <FEEDBACK>
2066
          <ON_ERROR message="unsupporteddbfilepertable" />
2067
        </FEEDBACK>
2068
      </CUSTOM_CHECK>
2069
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
2070
        <FEEDBACK>
2071
          <ON_ERROR message="unsupporteddblargeprefix" />
2072
        </FEEDBACK>
2073
      </CUSTOM_CHECK>
2074
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
2075
        <FEEDBACK>
2076
          <ON_CHECK message="ishttpswarning" />
2077
        </FEEDBACK>
2078
      </CUSTOM_CHECK>
2079
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
2080
        <FEEDBACK>
2081
          <ON_CHECK message="incompleteunicodesupport" />
2082
        </FEEDBACK>
2083
      </CUSTOM_CHECK>
2084
    </CUSTOM_CHECKS>
2085
  </MOODLE>
2086
  <MOODLE version="3.4" requires="3.0">
2087
    <UNICODE level="required">
2088
      <FEEDBACK>
2089
        <ON_ERROR message="unicoderequired" />
2090
      </FEEDBACK>
2091
    </UNICODE>
2092
    <DATABASE level="required">
2093
      <VENDOR name="mariadb" version="5.5.31" />
2094
      <VENDOR name="mysql" version="5.5.31" />
2095
      <VENDOR name="postgres" version="9.3" />
2096
      <VENDOR name="mssql" version="10.0" />
2097
      <VENDOR name="oracle" version="10.2" />
2098
    </DATABASE>
2099
    <PHP version="7.0.0" level="required">
2100
      <RESTRICT function="restrict_php_version_73" message="unsupportedphpversion73" />
2101
    </PHP>
2102
    <PCREUNICODE level="optional">
2103
      <FEEDBACK>
2104
        <ON_CHECK message="pcreunicodewarning" />
2105
      </FEEDBACK>
2106
    </PCREUNICODE>
2107
    <PHP_EXTENSIONS>
2108
      <PHP_EXTENSION name="iconv" level="required">
2109
        <FEEDBACK>
2110
          <ON_ERROR message="iconvrequired" />
2111
        </FEEDBACK>
2112
      </PHP_EXTENSION>
2113
      <PHP_EXTENSION name="mbstring" level="optional">
2114
        <FEEDBACK>
2115
          <ON_CHECK message="mbstringrecommended" />
2116
        </FEEDBACK>
2117
      </PHP_EXTENSION>
2118
      <PHP_EXTENSION name="curl" level="required">
2119
        <FEEDBACK>
2120
          <ON_ERROR message="curlrequired" />
2121
        </FEEDBACK>
2122
      </PHP_EXTENSION>
2123
      <PHP_EXTENSION name="openssl" level="required">
2124
        <FEEDBACK>
2125
          <ON_ERROR message="opensslrequired" />
2126
        </FEEDBACK>
2127
      </PHP_EXTENSION>
2128
      <PHP_EXTENSION name="tokenizer" level="optional">
2129
        <FEEDBACK>
2130
          <ON_CHECK message="tokenizerrecommended" />
2131
        </FEEDBACK>
2132
      </PHP_EXTENSION>
2133
      <PHP_EXTENSION name="xmlrpc" level="optional">
2134
        <FEEDBACK>
2135
          <ON_CHECK message="xmlrpcrecommended" />
2136
        </FEEDBACK>
2137
      </PHP_EXTENSION>
2138
      <PHP_EXTENSION name="soap" level="optional">
2139
        <FEEDBACK>
2140
          <ON_CHECK message="soaprecommended" />
2141
        </FEEDBACK>
2142
      </PHP_EXTENSION>
2143
      <PHP_EXTENSION name="ctype" level="required">
2144
        <FEEDBACK>
2145
          <ON_ERROR message="ctyperequired" />
2146
        </FEEDBACK>
2147
      </PHP_EXTENSION>
2148
      <PHP_EXTENSION name="zip" level="required">
2149
        <FEEDBACK>
2150
          <ON_ERROR message="ziprequired" />
2151
        </FEEDBACK>
2152
      </PHP_EXTENSION>
2153
      <PHP_EXTENSION name="zlib" level="required">
2154
      </PHP_EXTENSION>
2155
      <PHP_EXTENSION name="gd" level="required">
2156
        <FEEDBACK>
2157
          <ON_ERROR message="gdrequired" />
2158
        </FEEDBACK>
2159
      </PHP_EXTENSION>
2160
      <PHP_EXTENSION name="simplexml" level="required">
2161
        <FEEDBACK>
2162
          <ON_ERROR message="simplexmlrequired" />
2163
        </FEEDBACK>
2164
      </PHP_EXTENSION>
2165
      <PHP_EXTENSION name="spl" level="required">
2166
        <FEEDBACK>
2167
          <ON_ERROR message="splrequired" />
2168
        </FEEDBACK>
2169
      </PHP_EXTENSION>
2170
      <PHP_EXTENSION name="pcre" level="required">
2171
      </PHP_EXTENSION>
2172
      <PHP_EXTENSION name="dom" level="required">
2173
      </PHP_EXTENSION>
2174
      <PHP_EXTENSION name="xml" level="required">
2175
      </PHP_EXTENSION>
2176
      <PHP_EXTENSION name="xmlreader" level="required">
2177
      </PHP_EXTENSION>
2178
      <PHP_EXTENSION name="intl" level="required">
2179
        <FEEDBACK>
2180
          <ON_ERROR message="intlrequired" />
2181
        </FEEDBACK>
2182
      </PHP_EXTENSION>
2183
      <PHP_EXTENSION name="json" level="required">
2184
      </PHP_EXTENSION>
2185
      <PHP_EXTENSION name="hash" level="required"/>
2186
      <PHP_EXTENSION name="fileinfo" level="required"/>
2187
    </PHP_EXTENSIONS>
2188
    <PHP_SETTINGS>
2189
      <PHP_SETTING name="memory_limit" value="96M" level="required">
2190
        <FEEDBACK>
2191
          <ON_ERROR message="settingmemorylimit" />
2192
        </FEEDBACK>
2193
      </PHP_SETTING>
2194
      <PHP_SETTING name="file_uploads" value="1" level="optional">
2195
        <FEEDBACK>
2196
          <ON_CHECK message="settingfileuploads" />
2197
        </FEEDBACK>
2198
      </PHP_SETTING>
2199
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
2200
        <FEEDBACK>
2201
          <ON_CHECK message="opcacherecommended" />
2202
        </FEEDBACK>
2203
      </PHP_SETTING>
2204
    </PHP_SETTINGS>
2205
    <CUSTOM_CHECKS>
2206
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
2207
        <FEEDBACK>
2208
          <ON_ERROR message="unsupporteddbstorageengine" />
2209
        </FEEDBACK>
2210
      </CUSTOM_CHECK>
2211
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
2212
        <FEEDBACK>
2213
          <ON_ERROR message="quizattemptsupgradedmessage" />
2214
        </FEEDBACK>
2215
      </CUSTOM_CHECK>
2216
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
2217
        <FEEDBACK>
2218
          <ON_CHECK message="slashargumentswarning" />
2219
        </FEEDBACK>
2220
      </CUSTOM_CHECK>
2221
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
2222
        <FEEDBACK>
2223
          <ON_CHECK message="unsupporteddbtablerowformat" />
2224
        </FEEDBACK>
2225
      </CUSTOM_CHECK>
2226
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
2227
        <FEEDBACK>
2228
          <ON_CHECK message="unoconvwarning" />
2229
        </FEEDBACK>
2230
      </CUSTOM_CHECK>
2231
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
2232
        <FEEDBACK>
2233
          <ON_CHECK message="libcurlwarning" />
2234
        </FEEDBACK>
2235
      </CUSTOM_CHECK>
2236
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
2237
        <FEEDBACK>
2238
          <ON_ERROR message="unsupporteddbfileformat" />
2239
        </FEEDBACK>
2240
      </CUSTOM_CHECK>
2241
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
2242
        <FEEDBACK>
2243
          <ON_ERROR message="unsupporteddbfilepertable" />
2244
        </FEEDBACK>
2245
      </CUSTOM_CHECK>
2246
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
2247
        <FEEDBACK>
2248
          <ON_ERROR message="unsupporteddblargeprefix" />
2249
        </FEEDBACK>
2250
      </CUSTOM_CHECK>
2251
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
2252
        <FEEDBACK>
2253
          <ON_CHECK message="ishttpswarning" />
2254
        </FEEDBACK>
2255
      </CUSTOM_CHECK>
2256
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
2257
        <FEEDBACK>
2258
          <ON_CHECK message="incompleteunicodesupport" />
2259
        </FEEDBACK>
2260
      </CUSTOM_CHECK>
2261
    </CUSTOM_CHECKS>
2262
  </MOODLE>
2263
  <MOODLE version="3.5" requires="3.1">
2264
    <UNICODE level="required">
2265
      <FEEDBACK>
2266
        <ON_ERROR message="unicoderequired" />
2267
      </FEEDBACK>
2268
    </UNICODE>
2269
    <DATABASE level="required">
2270
      <VENDOR name="mariadb" version="5.5.31" />
2271
      <VENDOR name="mysql" version="5.5.31" />
2272
      <VENDOR name="postgres" version="9.3" />
2273
      <VENDOR name="mssql" version="10.0" />
2274
      <VENDOR name="oracle" version="10.2" />
2275
    </DATABASE>
2276
    <PHP version="7.0.0" level="required">
2277
      <RESTRICT function="restrict_php_version_73" message="unsupportedphpversion73" />
2278
    </PHP>
2279
    <PCREUNICODE level="optional">
2280
      <FEEDBACK>
2281
        <ON_CHECK message="pcreunicodewarning" />
2282
      </FEEDBACK>
2283
    </PCREUNICODE>
2284
    <PHP_EXTENSIONS>
2285
      <PHP_EXTENSION name="iconv" level="required">
2286
        <FEEDBACK>
2287
          <ON_ERROR message="iconvrequired" />
2288
        </FEEDBACK>
2289
      </PHP_EXTENSION>
2290
      <PHP_EXTENSION name="mbstring" level="optional">
2291
        <FEEDBACK>
2292
          <ON_CHECK message="mbstringrecommended" />
2293
        </FEEDBACK>
2294
      </PHP_EXTENSION>
2295
      <PHP_EXTENSION name="curl" level="required">
2296
        <FEEDBACK>
2297
          <ON_ERROR message="curlrequired" />
2298
        </FEEDBACK>
2299
      </PHP_EXTENSION>
2300
      <PHP_EXTENSION name="openssl" level="required">
2301
        <FEEDBACK>
2302
          <ON_ERROR message="opensslrequired" />
2303
        </FEEDBACK>
2304
      </PHP_EXTENSION>
2305
      <PHP_EXTENSION name="tokenizer" level="optional">
2306
        <FEEDBACK>
2307
          <ON_CHECK message="tokenizerrecommended" />
2308
        </FEEDBACK>
2309
      </PHP_EXTENSION>
2310
      <PHP_EXTENSION name="xmlrpc" level="optional">
2311
        <FEEDBACK>
2312
          <ON_CHECK message="xmlrpcrecommended" />
2313
        </FEEDBACK>
2314
      </PHP_EXTENSION>
2315
      <PHP_EXTENSION name="soap" level="optional">
2316
        <FEEDBACK>
2317
          <ON_CHECK message="soaprecommended" />
2318
        </FEEDBACK>
2319
      </PHP_EXTENSION>
2320
      <PHP_EXTENSION name="ctype" level="required">
2321
        <FEEDBACK>
2322
          <ON_ERROR message="ctyperequired" />
2323
        </FEEDBACK>
2324
      </PHP_EXTENSION>
2325
      <PHP_EXTENSION name="zip" level="required">
2326
        <FEEDBACK>
2327
          <ON_ERROR message="ziprequired" />
2328
        </FEEDBACK>
2329
      </PHP_EXTENSION>
2330
      <PHP_EXTENSION name="zlib" level="required">
2331
      </PHP_EXTENSION>
2332
      <PHP_EXTENSION name="gd" level="required">
2333
        <FEEDBACK>
2334
          <ON_ERROR message="gdrequired" />
2335
        </FEEDBACK>
2336
      </PHP_EXTENSION>
2337
      <PHP_EXTENSION name="simplexml" level="required">
2338
        <FEEDBACK>
2339
          <ON_ERROR message="simplexmlrequired" />
2340
        </FEEDBACK>
2341
      </PHP_EXTENSION>
2342
      <PHP_EXTENSION name="spl" level="required">
2343
        <FEEDBACK>
2344
          <ON_ERROR message="splrequired" />
2345
        </FEEDBACK>
2346
      </PHP_EXTENSION>
2347
      <PHP_EXTENSION name="pcre" level="required">
2348
      </PHP_EXTENSION>
2349
      <PHP_EXTENSION name="dom" level="required">
2350
      </PHP_EXTENSION>
2351
      <PHP_EXTENSION name="xml" level="required">
2352
      </PHP_EXTENSION>
2353
      <PHP_EXTENSION name="xmlreader" level="required">
2354
      </PHP_EXTENSION>
2355
      <PHP_EXTENSION name="intl" level="required">
2356
        <FEEDBACK>
2357
          <ON_ERROR message="intlrequired" />
2358
        </FEEDBACK>
2359
      </PHP_EXTENSION>
2360
      <PHP_EXTENSION name="json" level="required">
2361
      </PHP_EXTENSION>
2362
      <PHP_EXTENSION name="hash" level="required"/>
2363
      <PHP_EXTENSION name="fileinfo" level="required"/>
2364
    </PHP_EXTENSIONS>
2365
    <PHP_SETTINGS>
2366
      <PHP_SETTING name="memory_limit" value="96M" level="required">
2367
        <FEEDBACK>
2368
          <ON_ERROR message="settingmemorylimit" />
2369
        </FEEDBACK>
2370
      </PHP_SETTING>
2371
      <PHP_SETTING name="file_uploads" value="1" level="optional">
2372
        <FEEDBACK>
2373
          <ON_CHECK message="settingfileuploads" />
2374
        </FEEDBACK>
2375
      </PHP_SETTING>
2376
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
2377
        <FEEDBACK>
2378
          <ON_CHECK message="opcacherecommended" />
2379
        </FEEDBACK>
2380
      </PHP_SETTING>
2381
    </PHP_SETTINGS>
2382
    <CUSTOM_CHECKS>
2383
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
2384
        <FEEDBACK>
2385
          <ON_ERROR message="unsupporteddbstorageengine" />
2386
        </FEEDBACK>
2387
      </CUSTOM_CHECK>
2388
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
2389
        <FEEDBACK>
2390
          <ON_ERROR message="quizattemptsupgradedmessage" />
2391
        </FEEDBACK>
2392
      </CUSTOM_CHECK>
2393
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
2394
        <FEEDBACK>
2395
          <ON_CHECK message="slashargumentswarning" />
2396
        </FEEDBACK>
2397
      </CUSTOM_CHECK>
2398
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
2399
        <FEEDBACK>
2400
          <ON_CHECK message="unsupporteddbtablerowformat" />
2401
        </FEEDBACK>
2402
      </CUSTOM_CHECK>
2403
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
2404
        <FEEDBACK>
2405
          <ON_CHECK message="unoconvwarning" />
2406
        </FEEDBACK>
2407
      </CUSTOM_CHECK>
2408
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
2409
        <FEEDBACK>
2410
          <ON_CHECK message="libcurlwarning" />
2411
        </FEEDBACK>
2412
      </CUSTOM_CHECK>
2413
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
2414
        <FEEDBACK>
2415
          <ON_ERROR message="unsupporteddbfileformat" />
2416
        </FEEDBACK>
2417
      </CUSTOM_CHECK>
2418
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
2419
        <FEEDBACK>
2420
          <ON_ERROR message="unsupporteddbfilepertable" />
2421
        </FEEDBACK>
2422
      </CUSTOM_CHECK>
2423
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
2424
        <FEEDBACK>
2425
          <ON_ERROR message="unsupporteddblargeprefix" />
2426
        </FEEDBACK>
2427
      </CUSTOM_CHECK>
2428
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
2429
        <FEEDBACK>
2430
          <ON_CHECK message="ishttpswarning" />
2431
        </FEEDBACK>
2432
      </CUSTOM_CHECK>
2433
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
2434
        <FEEDBACK>
2435
          <ON_CHECK message="incompleteunicodesupport" />
2436
        </FEEDBACK>
2437
      </CUSTOM_CHECK>
2438
    </CUSTOM_CHECKS>
2439
  </MOODLE>
2440
  <MOODLE version="3.6" requires="3.1">
2441
    <UNICODE level="required">
2442
      <FEEDBACK>
2443
        <ON_ERROR message="unicoderequired" />
2444
      </FEEDBACK>
2445
    </UNICODE>
2446
    <DATABASE level="required">
2447
      <VENDOR name="mariadb" version="5.5.31" />
2448
      <VENDOR name="mysql" version="5.6" />
2449
      <VENDOR name="postgres" version="9.4" />
2450
      <VENDOR name="mssql" version="10.0" />
2451
      <VENDOR name="oracle" version="11.2" />
2452
    </DATABASE>
2453
    <PHP version="7.0.0" level="required">
2454
      <RESTRICT function="restrict_php_version_74" message="unsupportedphpversion74" />
2455
    </PHP>
2456
    <PCREUNICODE level="optional">
2457
      <FEEDBACK>
2458
        <ON_CHECK message="pcreunicodewarning" />
2459
      </FEEDBACK>
2460
    </PCREUNICODE>
2461
    <PHP_EXTENSIONS>
2462
      <PHP_EXTENSION name="iconv" level="required">
2463
        <FEEDBACK>
2464
          <ON_ERROR message="iconvrequired" />
2465
        </FEEDBACK>
2466
      </PHP_EXTENSION>
2467
      <PHP_EXTENSION name="mbstring" level="optional">
2468
        <FEEDBACK>
2469
          <ON_CHECK message="mbstringrecommended" />
2470
        </FEEDBACK>
2471
      </PHP_EXTENSION>
2472
      <PHP_EXTENSION name="curl" level="required">
2473
        <FEEDBACK>
2474
          <ON_ERROR message="curlrequired" />
2475
        </FEEDBACK>
2476
      </PHP_EXTENSION>
2477
      <PHP_EXTENSION name="openssl" level="required">
2478
        <FEEDBACK>
2479
          <ON_ERROR message="opensslrequired" />
2480
        </FEEDBACK>
2481
      </PHP_EXTENSION>
2482
      <PHP_EXTENSION name="tokenizer" level="optional">
2483
        <FEEDBACK>
2484
          <ON_CHECK message="tokenizerrecommended" />
2485
        </FEEDBACK>
2486
      </PHP_EXTENSION>
2487
      <PHP_EXTENSION name="xmlrpc" level="optional">
2488
        <FEEDBACK>
2489
          <ON_CHECK message="xmlrpcrecommended" />
2490
        </FEEDBACK>
2491
      </PHP_EXTENSION>
2492
      <PHP_EXTENSION name="soap" level="optional">
2493
        <FEEDBACK>
2494
          <ON_CHECK message="soaprecommended" />
2495
        </FEEDBACK>
2496
      </PHP_EXTENSION>
2497
      <PHP_EXTENSION name="ctype" level="required">
2498
        <FEEDBACK>
2499
          <ON_ERROR message="ctyperequired" />
2500
        </FEEDBACK>
2501
      </PHP_EXTENSION>
2502
      <PHP_EXTENSION name="zip" level="required">
2503
        <FEEDBACK>
2504
          <ON_ERROR message="ziprequired" />
2505
        </FEEDBACK>
2506
      </PHP_EXTENSION>
2507
      <PHP_EXTENSION name="zlib" level="required">
2508
      </PHP_EXTENSION>
2509
      <PHP_EXTENSION name="gd" level="required">
2510
        <FEEDBACK>
2511
          <ON_ERROR message="gdrequired" />
2512
        </FEEDBACK>
2513
      </PHP_EXTENSION>
2514
      <PHP_EXTENSION name="simplexml" level="required">
2515
        <FEEDBACK>
2516
          <ON_ERROR message="simplexmlrequired" />
2517
        </FEEDBACK>
2518
      </PHP_EXTENSION>
2519
      <PHP_EXTENSION name="spl" level="required">
2520
        <FEEDBACK>
2521
          <ON_ERROR message="splrequired" />
2522
        </FEEDBACK>
2523
      </PHP_EXTENSION>
2524
      <PHP_EXTENSION name="pcre" level="required">
2525
      </PHP_EXTENSION>
2526
      <PHP_EXTENSION name="dom" level="required">
2527
      </PHP_EXTENSION>
2528
      <PHP_EXTENSION name="xml" level="required">
2529
      </PHP_EXTENSION>
2530
      <PHP_EXTENSION name="xmlreader" level="required">
2531
      </PHP_EXTENSION>
2532
      <PHP_EXTENSION name="intl" level="required">
2533
        <FEEDBACK>
2534
          <ON_ERROR message="intlrequired" />
2535
        </FEEDBACK>
2536
      </PHP_EXTENSION>
2537
      <PHP_EXTENSION name="json" level="required">
2538
      </PHP_EXTENSION>
2539
      <PHP_EXTENSION name="hash" level="required"/>
2540
      <PHP_EXTENSION name="fileinfo" level="required"/>
2541
    </PHP_EXTENSIONS>
2542
    <PHP_SETTINGS>
2543
      <PHP_SETTING name="memory_limit" value="96M" level="required">
2544
        <FEEDBACK>
2545
          <ON_ERROR message="settingmemorylimit" />
2546
        </FEEDBACK>
2547
      </PHP_SETTING>
2548
      <PHP_SETTING name="file_uploads" value="1" level="optional">
2549
        <FEEDBACK>
2550
          <ON_CHECK message="settingfileuploads" />
2551
        </FEEDBACK>
2552
      </PHP_SETTING>
2553
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
2554
        <FEEDBACK>
2555
          <ON_CHECK message="opcacherecommended" />
2556
        </FEEDBACK>
2557
      </PHP_SETTING>
2558
    </PHP_SETTINGS>
2559
    <CUSTOM_CHECKS>
2560
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
2561
        <FEEDBACK>
2562
          <ON_ERROR message="unsupporteddbstorageengine" />
2563
        </FEEDBACK>
2564
      </CUSTOM_CHECK>
2565
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
2566
        <FEEDBACK>
2567
          <ON_ERROR message="quizattemptsupgradedmessage" />
2568
        </FEEDBACK>
2569
      </CUSTOM_CHECK>
2570
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
2571
        <FEEDBACK>
2572
          <ON_CHECK message="slashargumentswarning" />
2573
        </FEEDBACK>
2574
      </CUSTOM_CHECK>
2575
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
2576
        <FEEDBACK>
2577
          <ON_CHECK message="unsupporteddbtablerowformat" />
2578
        </FEEDBACK>
2579
      </CUSTOM_CHECK>
2580
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
2581
        <FEEDBACK>
2582
          <ON_CHECK message="unoconvwarning" />
2583
        </FEEDBACK>
2584
      </CUSTOM_CHECK>
2585
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
2586
        <FEEDBACK>
2587
          <ON_CHECK message="libcurlwarning" />
2588
        </FEEDBACK>
2589
      </CUSTOM_CHECK>
2590
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
2591
        <FEEDBACK>
2592
          <ON_ERROR message="unsupporteddbfileformat" />
2593
        </FEEDBACK>
2594
      </CUSTOM_CHECK>
2595
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
2596
        <FEEDBACK>
2597
          <ON_ERROR message="unsupporteddbfilepertable" />
2598
        </FEEDBACK>
2599
      </CUSTOM_CHECK>
2600
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
2601
        <FEEDBACK>
2602
          <ON_ERROR message="unsupporteddblargeprefix" />
2603
        </FEEDBACK>
2604
      </CUSTOM_CHECK>
2605
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
2606
        <FEEDBACK>
2607
          <ON_CHECK message="ishttpswarning" />
2608
        </FEEDBACK>
2609
      </CUSTOM_CHECK>
2610
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
2611
        <FEEDBACK>
2612
          <ON_CHECK message="incompleteunicodesupport" />
2613
        </FEEDBACK>
2614
      </CUSTOM_CHECK>
2615
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
2616
        <FEEDBACK>
2617
          <ON_CHECK message="sixtyfourbitswarning" />
2618
        </FEEDBACK>
2619
      </CUSTOM_CHECK>
2620
    </CUSTOM_CHECKS>
2621
  </MOODLE>
2622
  <MOODLE version="3.7" requires="3.2">
2623
    <UNICODE level="required">
2624
      <FEEDBACK>
2625
        <ON_ERROR message="unicoderequired" />
2626
      </FEEDBACK>
2627
    </UNICODE>
2628
    <DATABASE level="required">
2629
      <VENDOR name="mariadb" version="5.5.31" />
2630
      <VENDOR name="mysql" version="5.6" />
2631
      <VENDOR name="postgres" version="9.4" />
2632
      <VENDOR name="mssql" version="10.0" />
2633
      <VENDOR name="oracle" version="11.2" />
2634
    </DATABASE>
2635
    <PHP version="7.1.0" level="required">
2636
      <RESTRICT function="restrict_php_version_74" message="unsupportedphpversion74" />
2637
    </PHP>
2638
    <PCREUNICODE level="optional">
2639
      <FEEDBACK>
2640
        <ON_CHECK message="pcreunicodewarning" />
2641
      </FEEDBACK>
2642
    </PCREUNICODE>
2643
    <PHP_EXTENSIONS>
2644
      <PHP_EXTENSION name="iconv" level="required">
2645
        <FEEDBACK>
2646
          <ON_ERROR message="iconvrequired" />
2647
        </FEEDBACK>
2648
      </PHP_EXTENSION>
2649
      <PHP_EXTENSION name="mbstring" level="optional">
2650
        <FEEDBACK>
2651
          <ON_CHECK message="mbstringrecommended" />
2652
        </FEEDBACK>
2653
      </PHP_EXTENSION>
2654
      <PHP_EXTENSION name="curl" level="required">
2655
        <FEEDBACK>
2656
          <ON_ERROR message="curlrequired" />
2657
        </FEEDBACK>
2658
      </PHP_EXTENSION>
2659
      <PHP_EXTENSION name="openssl" level="required">
2660
        <FEEDBACK>
2661
          <ON_ERROR message="opensslrequired" />
2662
        </FEEDBACK>
2663
      </PHP_EXTENSION>
2664
      <PHP_EXTENSION name="tokenizer" level="optional">
2665
        <FEEDBACK>
2666
          <ON_CHECK message="tokenizerrecommended" />
2667
        </FEEDBACK>
2668
      </PHP_EXTENSION>
2669
      <PHP_EXTENSION name="xmlrpc" level="optional">
2670
        <FEEDBACK>
2671
          <ON_CHECK message="xmlrpcrecommended" />
2672
        </FEEDBACK>
2673
      </PHP_EXTENSION>
2674
      <PHP_EXTENSION name="soap" level="optional">
2675
        <FEEDBACK>
2676
          <ON_CHECK message="soaprecommended" />
2677
        </FEEDBACK>
2678
      </PHP_EXTENSION>
2679
      <PHP_EXTENSION name="ctype" level="required">
2680
        <FEEDBACK>
2681
          <ON_ERROR message="ctyperequired" />
2682
        </FEEDBACK>
2683
      </PHP_EXTENSION>
2684
      <PHP_EXTENSION name="zip" level="required">
2685
        <FEEDBACK>
2686
          <ON_ERROR message="ziprequired" />
2687
        </FEEDBACK>
2688
      </PHP_EXTENSION>
2689
      <PHP_EXTENSION name="zlib" level="required">
2690
      </PHP_EXTENSION>
2691
      <PHP_EXTENSION name="gd" level="required">
2692
        <FEEDBACK>
2693
          <ON_ERROR message="gdrequired" />
2694
        </FEEDBACK>
2695
      </PHP_EXTENSION>
2696
      <PHP_EXTENSION name="simplexml" level="required">
2697
        <FEEDBACK>
2698
          <ON_ERROR message="simplexmlrequired" />
2699
        </FEEDBACK>
2700
      </PHP_EXTENSION>
2701
      <PHP_EXTENSION name="spl" level="required">
2702
        <FEEDBACK>
2703
          <ON_ERROR message="splrequired" />
2704
        </FEEDBACK>
2705
      </PHP_EXTENSION>
2706
      <PHP_EXTENSION name="pcre" level="required">
2707
      </PHP_EXTENSION>
2708
      <PHP_EXTENSION name="dom" level="required">
2709
      </PHP_EXTENSION>
2710
      <PHP_EXTENSION name="xml" level="required">
2711
      </PHP_EXTENSION>
2712
      <PHP_EXTENSION name="xmlreader" level="required">
2713
      </PHP_EXTENSION>
2714
      <PHP_EXTENSION name="intl" level="required">
2715
        <FEEDBACK>
2716
          <ON_ERROR message="intlrequired" />
2717
        </FEEDBACK>
2718
      </PHP_EXTENSION>
2719
      <PHP_EXTENSION name="json" level="required">
2720
      </PHP_EXTENSION>
2721
      <PHP_EXTENSION name="hash" level="required"/>
2722
      <PHP_EXTENSION name="fileinfo" level="required"/>
2723
    </PHP_EXTENSIONS>
2724
    <PHP_SETTINGS>
2725
      <PHP_SETTING name="memory_limit" value="96M" level="required">
2726
        <FEEDBACK>
2727
          <ON_ERROR message="settingmemorylimit" />
2728
        </FEEDBACK>
2729
      </PHP_SETTING>
2730
      <PHP_SETTING name="file_uploads" value="1" level="optional">
2731
        <FEEDBACK>
2732
          <ON_CHECK message="settingfileuploads" />
2733
        </FEEDBACK>
2734
      </PHP_SETTING>
2735
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
2736
        <FEEDBACK>
2737
          <ON_CHECK message="opcacherecommended" />
2738
        </FEEDBACK>
2739
      </PHP_SETTING>
2740
    </PHP_SETTINGS>
2741
    <CUSTOM_CHECKS>
2742
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
2743
        <FEEDBACK>
2744
          <ON_ERROR message="unsupporteddbstorageengine" />
2745
        </FEEDBACK>
2746
      </CUSTOM_CHECK>
2747
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
2748
        <FEEDBACK>
2749
          <ON_ERROR message="quizattemptsupgradedmessage" />
2750
        </FEEDBACK>
2751
      </CUSTOM_CHECK>
2752
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
2753
        <FEEDBACK>
2754
          <ON_CHECK message="slashargumentswarning" />
2755
        </FEEDBACK>
2756
      </CUSTOM_CHECK>
2757
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
2758
        <FEEDBACK>
2759
          <ON_CHECK message="unsupporteddbtablerowformat" />
2760
        </FEEDBACK>
2761
      </CUSTOM_CHECK>
2762
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
2763
        <FEEDBACK>
2764
          <ON_CHECK message="unoconvwarning" />
2765
        </FEEDBACK>
2766
      </CUSTOM_CHECK>
2767
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
2768
        <FEEDBACK>
2769
          <ON_CHECK message="libcurlwarning" />
2770
        </FEEDBACK>
2771
      </CUSTOM_CHECK>
2772
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
2773
        <FEEDBACK>
2774
          <ON_ERROR message="unsupporteddbfileformat" />
2775
        </FEEDBACK>
2776
      </CUSTOM_CHECK>
2777
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
2778
        <FEEDBACK>
2779
          <ON_ERROR message="unsupporteddbfilepertable" />
2780
        </FEEDBACK>
2781
      </CUSTOM_CHECK>
2782
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
2783
        <FEEDBACK>
2784
          <ON_ERROR message="unsupporteddblargeprefix" />
2785
        </FEEDBACK>
2786
      </CUSTOM_CHECK>
2787
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
2788
        <FEEDBACK>
2789
          <ON_CHECK message="ishttpswarning" />
2790
        </FEEDBACK>
2791
      </CUSTOM_CHECK>
2792
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
2793
        <FEEDBACK>
2794
          <ON_CHECK message="incompleteunicodesupport" />
2795
        </FEEDBACK>
2796
      </CUSTOM_CHECK>
2797
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
2798
        <FEEDBACK>
2799
          <ON_CHECK message="sixtyfourbitswarning" />
2800
        </FEEDBACK>
2801
      </CUSTOM_CHECK>
2802
    </CUSTOM_CHECKS>
2803
  </MOODLE>
2804
  <MOODLE version="3.8" requires="3.2">
2805
    <UNICODE level="required">
2806
      <FEEDBACK>
2807
        <ON_ERROR message="unicoderequired" />
2808
      </FEEDBACK>
2809
    </UNICODE>
2810
    <DATABASE level="required">
2811
      <VENDOR name="mariadb" version="5.5.31" />
2812
      <VENDOR name="mysql" version="5.6" />
2813
      <VENDOR name="postgres" version="9.4" />
2814
      <VENDOR name="mssql" version="11.0" />
2815
      <VENDOR name="oracle" version="11.2" />
2816
    </DATABASE>
2817
    <PHP version="7.1.0" level="required">
2818
      <RESTRICT function="restrict_php_version_80" message="unsupportedphpversion80" />
2819
    </PHP>
2820
    <PCREUNICODE level="optional">
2821
      <FEEDBACK>
2822
        <ON_CHECK message="pcreunicodewarning" />
2823
      </FEEDBACK>
2824
    </PCREUNICODE>
2825
    <PHP_EXTENSIONS>
2826
      <PHP_EXTENSION name="iconv" level="required">
2827
        <FEEDBACK>
2828
          <ON_ERROR message="iconvrequired" />
2829
        </FEEDBACK>
2830
      </PHP_EXTENSION>
2831
      <PHP_EXTENSION name="mbstring" level="optional">
2832
        <FEEDBACK>
2833
          <ON_CHECK message="mbstringrecommended" />
2834
        </FEEDBACK>
2835
      </PHP_EXTENSION>
2836
      <PHP_EXTENSION name="curl" level="required">
2837
        <FEEDBACK>
2838
          <ON_ERROR message="curlrequired" />
2839
        </FEEDBACK>
2840
      </PHP_EXTENSION>
2841
      <PHP_EXTENSION name="openssl" level="required">
2842
        <FEEDBACK>
2843
          <ON_ERROR message="opensslrequired" />
2844
        </FEEDBACK>
2845
      </PHP_EXTENSION>
2846
      <PHP_EXTENSION name="tokenizer" level="optional">
2847
        <FEEDBACK>
2848
          <ON_CHECK message="tokenizerrecommended" />
2849
        </FEEDBACK>
2850
      </PHP_EXTENSION>
2851
      <PHP_EXTENSION name="xmlrpc" level="optional">
2852
        <FEEDBACK>
2853
          <ON_CHECK message="xmlrpcrecommended" />
2854
        </FEEDBACK>
2855
      </PHP_EXTENSION>
2856
      <PHP_EXTENSION name="soap" level="optional">
2857
        <FEEDBACK>
2858
          <ON_CHECK message="soaprecommended" />
2859
        </FEEDBACK>
2860
      </PHP_EXTENSION>
2861
      <PHP_EXTENSION name="ctype" level="required">
2862
        <FEEDBACK>
2863
          <ON_ERROR message="ctyperequired" />
2864
        </FEEDBACK>
2865
      </PHP_EXTENSION>
2866
      <PHP_EXTENSION name="zip" level="required">
2867
        <FEEDBACK>
2868
          <ON_ERROR message="ziprequired" />
2869
        </FEEDBACK>
2870
      </PHP_EXTENSION>
2871
      <PHP_EXTENSION name="zlib" level="required">
2872
      </PHP_EXTENSION>
2873
      <PHP_EXTENSION name="gd" level="required">
2874
        <FEEDBACK>
2875
          <ON_ERROR message="gdrequired" />
2876
        </FEEDBACK>
2877
      </PHP_EXTENSION>
2878
      <PHP_EXTENSION name="simplexml" level="required">
2879
        <FEEDBACK>
2880
          <ON_ERROR message="simplexmlrequired" />
2881
        </FEEDBACK>
2882
      </PHP_EXTENSION>
2883
      <PHP_EXTENSION name="spl" level="required">
2884
        <FEEDBACK>
2885
          <ON_ERROR message="splrequired" />
2886
        </FEEDBACK>
2887
      </PHP_EXTENSION>
2888
      <PHP_EXTENSION name="pcre" level="required">
2889
      </PHP_EXTENSION>
2890
      <PHP_EXTENSION name="dom" level="required">
2891
      </PHP_EXTENSION>
2892
      <PHP_EXTENSION name="xml" level="required">
2893
      </PHP_EXTENSION>
2894
      <PHP_EXTENSION name="xmlreader" level="required">
2895
      </PHP_EXTENSION>
2896
      <PHP_EXTENSION name="intl" level="required">
2897
        <FEEDBACK>
2898
          <ON_ERROR message="intlrequired" />
2899
        </FEEDBACK>
2900
      </PHP_EXTENSION>
2901
      <PHP_EXTENSION name="json" level="required">
2902
      </PHP_EXTENSION>
2903
      <PHP_EXTENSION name="hash" level="required"/>
2904
      <PHP_EXTENSION name="fileinfo" level="required"/>
2905
    </PHP_EXTENSIONS>
2906
    <PHP_SETTINGS>
2907
      <PHP_SETTING name="memory_limit" value="96M" level="required">
2908
        <FEEDBACK>
2909
          <ON_ERROR message="settingmemorylimit" />
2910
        </FEEDBACK>
2911
      </PHP_SETTING>
2912
      <PHP_SETTING name="file_uploads" value="1" level="optional">
2913
        <FEEDBACK>
2914
          <ON_CHECK message="settingfileuploads" />
2915
        </FEEDBACK>
2916
      </PHP_SETTING>
2917
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
2918
        <FEEDBACK>
2919
          <ON_CHECK message="opcacherecommended" />
2920
        </FEEDBACK>
2921
      </PHP_SETTING>
2922
    </PHP_SETTINGS>
2923
    <CUSTOM_CHECKS>
2924
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
2925
        <FEEDBACK>
2926
          <ON_ERROR message="unsupporteddbstorageengine" />
2927
        </FEEDBACK>
2928
      </CUSTOM_CHECK>
2929
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
2930
        <FEEDBACK>
2931
          <ON_ERROR message="quizattemptsupgradedmessage" />
2932
        </FEEDBACK>
2933
      </CUSTOM_CHECK>
2934
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
2935
        <FEEDBACK>
2936
          <ON_CHECK message="slashargumentswarning" />
2937
        </FEEDBACK>
2938
      </CUSTOM_CHECK>
2939
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
2940
        <FEEDBACK>
2941
          <ON_CHECK message="unsupporteddbtablerowformat" />
2942
        </FEEDBACK>
2943
      </CUSTOM_CHECK>
2944
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
2945
        <FEEDBACK>
2946
          <ON_CHECK message="unoconvwarning" />
2947
        </FEEDBACK>
2948
      </CUSTOM_CHECK>
2949
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
2950
        <FEEDBACK>
2951
          <ON_CHECK message="libcurlwarning" />
2952
        </FEEDBACK>
2953
      </CUSTOM_CHECK>
2954
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
2955
        <FEEDBACK>
2956
          <ON_ERROR message="unsupporteddbfileformat" />
2957
        </FEEDBACK>
2958
      </CUSTOM_CHECK>
2959
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
2960
        <FEEDBACK>
2961
          <ON_ERROR message="unsupporteddbfilepertable" />
2962
        </FEEDBACK>
2963
      </CUSTOM_CHECK>
2964
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
2965
        <FEEDBACK>
2966
          <ON_ERROR message="unsupporteddblargeprefix" />
2967
        </FEEDBACK>
2968
      </CUSTOM_CHECK>
2969
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
2970
        <FEEDBACK>
2971
          <ON_CHECK message="ishttpswarning" />
2972
        </FEEDBACK>
2973
      </CUSTOM_CHECK>
2974
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
2975
        <FEEDBACK>
2976
          <ON_CHECK message="incompleteunicodesupport" />
2977
        </FEEDBACK>
2978
      </CUSTOM_CHECK>
2979
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
2980
        <FEEDBACK>
2981
          <ON_CHECK message="sixtyfourbitswarning" />
2982
        </FEEDBACK>
2983
      </CUSTOM_CHECK>
2984
    </CUSTOM_CHECKS>
2985
  </MOODLE>
2986
  <MOODLE version="3.9" requires="3.5">
2987
    <UNICODE level="required">
2988
      <FEEDBACK>
2989
        <ON_ERROR message="unicoderequired" />
2990
      </FEEDBACK>
2991
    </UNICODE>
2992
    <DATABASE level="required">
2993
      <VENDOR name="mariadb" version="10.2.29" />
2994
      <VENDOR name="mysql" version="5.6" />
2995
      <VENDOR name="postgres" version="9.5" />
2996
      <VENDOR name="mssql" version="11.0" />
2997
      <VENDOR name="oracle" version="11.2" />
2998
    </DATABASE>
2999
    <PHP version="7.2.0" level="required">
3000
      <RESTRICT function="restrict_php_version_80" message="unsupportedphpversion80" />
3001
    </PHP>
3002
    <PCREUNICODE level="optional">
3003
      <FEEDBACK>
3004
        <ON_CHECK message="pcreunicodewarning" />
3005
      </FEEDBACK>
3006
    </PCREUNICODE>
3007
    <PHP_EXTENSIONS>
3008
      <PHP_EXTENSION name="iconv" level="required">
3009
        <FEEDBACK>
3010
          <ON_ERROR message="iconvrequired" />
3011
        </FEEDBACK>
3012
      </PHP_EXTENSION>
3013
      <PHP_EXTENSION name="mbstring" level="required">
3014
        <FEEDBACK>
3015
          <ON_ERROR message="mbstringrequired" />
3016
        </FEEDBACK>
3017
      </PHP_EXTENSION>
3018
      <PHP_EXTENSION name="curl" level="required">
3019
        <FEEDBACK>
3020
          <ON_ERROR message="curlrequired" />
3021
        </FEEDBACK>
3022
      </PHP_EXTENSION>
3023
      <PHP_EXTENSION name="openssl" level="required">
3024
        <FEEDBACK>
3025
          <ON_ERROR message="opensslrequired" />
3026
        </FEEDBACK>
3027
      </PHP_EXTENSION>
3028
      <PHP_EXTENSION name="tokenizer" level="optional">
3029
        <FEEDBACK>
3030
          <ON_CHECK message="tokenizerrecommended" />
3031
        </FEEDBACK>
3032
      </PHP_EXTENSION>
3033
      <PHP_EXTENSION name="xmlrpc" level="optional">
3034
        <FEEDBACK>
3035
          <ON_CHECK message="xmlrpcrecommended" />
3036
        </FEEDBACK>
3037
      </PHP_EXTENSION>
3038
      <PHP_EXTENSION name="soap" level="optional">
3039
        <FEEDBACK>
3040
          <ON_CHECK message="soaprecommended" />
3041
        </FEEDBACK>
3042
      </PHP_EXTENSION>
3043
      <PHP_EXTENSION name="ctype" level="required">
3044
        <FEEDBACK>
3045
          <ON_ERROR message="ctyperequired" />
3046
        </FEEDBACK>
3047
      </PHP_EXTENSION>
3048
      <PHP_EXTENSION name="zip" level="required">
3049
        <FEEDBACK>
3050
          <ON_ERROR message="ziprequired" />
3051
        </FEEDBACK>
3052
      </PHP_EXTENSION>
3053
      <PHP_EXTENSION name="zlib" level="required">
3054
      </PHP_EXTENSION>
3055
      <PHP_EXTENSION name="gd" level="required">
3056
        <FEEDBACK>
3057
          <ON_ERROR message="gdrequired" />
3058
        </FEEDBACK>
3059
      </PHP_EXTENSION>
3060
      <PHP_EXTENSION name="simplexml" level="required">
3061
        <FEEDBACK>
3062
          <ON_ERROR message="simplexmlrequired" />
3063
        </FEEDBACK>
3064
      </PHP_EXTENSION>
3065
      <PHP_EXTENSION name="spl" level="required">
3066
        <FEEDBACK>
3067
          <ON_ERROR message="splrequired" />
3068
        </FEEDBACK>
3069
      </PHP_EXTENSION>
3070
      <PHP_EXTENSION name="pcre" level="required">
3071
      </PHP_EXTENSION>
3072
      <PHP_EXTENSION name="dom" level="required">
3073
      </PHP_EXTENSION>
3074
      <PHP_EXTENSION name="xml" level="required">
3075
      </PHP_EXTENSION>
3076
      <PHP_EXTENSION name="xmlreader" level="required">
3077
      </PHP_EXTENSION>
3078
      <PHP_EXTENSION name="intl" level="required">
3079
        <FEEDBACK>
3080
          <ON_ERROR message="intlrequired" />
3081
        </FEEDBACK>
3082
      </PHP_EXTENSION>
3083
      <PHP_EXTENSION name="json" level="required">
3084
      </PHP_EXTENSION>
3085
      <PHP_EXTENSION name="hash" level="required"/>
3086
      <PHP_EXTENSION name="fileinfo" level="required"/>
3087
    </PHP_EXTENSIONS>
3088
    <PHP_SETTINGS>
3089
      <PHP_SETTING name="memory_limit" value="96M" level="required">
3090
        <FEEDBACK>
3091
          <ON_ERROR message="settingmemorylimit" />
3092
        </FEEDBACK>
3093
      </PHP_SETTING>
3094
      <PHP_SETTING name="file_uploads" value="1" level="optional">
3095
        <FEEDBACK>
3096
          <ON_CHECK message="settingfileuploads" />
3097
        </FEEDBACK>
3098
      </PHP_SETTING>
3099
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
3100
        <FEEDBACK>
3101
          <ON_CHECK message="opcacherecommended" />
3102
        </FEEDBACK>
3103
      </PHP_SETTING>
3104
    </PHP_SETTINGS>
3105
    <CUSTOM_CHECKS>
3106
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
3107
        <FEEDBACK>
3108
          <ON_ERROR message="unsupporteddbstorageengine" />
3109
        </FEEDBACK>
3110
      </CUSTOM_CHECK>
3111
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
3112
        <FEEDBACK>
3113
          <ON_ERROR message="quizattemptsupgradedmessage" />
3114
        </FEEDBACK>
3115
      </CUSTOM_CHECK>
3116
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
3117
        <FEEDBACK>
3118
          <ON_CHECK message="slashargumentswarning" />
3119
        </FEEDBACK>
3120
      </CUSTOM_CHECK>
3121
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
3122
        <FEEDBACK>
3123
          <ON_CHECK message="unsupporteddbtablerowformat" />
3124
        </FEEDBACK>
3125
      </CUSTOM_CHECK>
3126
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
3127
        <FEEDBACK>
3128
          <ON_CHECK message="unoconvwarning" />
3129
        </FEEDBACK>
3130
      </CUSTOM_CHECK>
3131
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
3132
        <FEEDBACK>
3133
          <ON_CHECK message="libcurlwarning" />
3134
        </FEEDBACK>
3135
      </CUSTOM_CHECK>
3136
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
3137
        <FEEDBACK>
3138
          <ON_ERROR message="unsupporteddbfileformat" />
3139
        </FEEDBACK>
3140
      </CUSTOM_CHECK>
3141
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
3142
        <FEEDBACK>
3143
          <ON_ERROR message="unsupporteddbfilepertable" />
3144
        </FEEDBACK>
3145
      </CUSTOM_CHECK>
3146
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
3147
        <FEEDBACK>
3148
          <ON_ERROR message="unsupporteddblargeprefix" />
3149
        </FEEDBACK>
3150
      </CUSTOM_CHECK>
3151
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
3152
        <FEEDBACK>
3153
          <ON_CHECK message="ishttpswarning" />
3154
        </FEEDBACK>
3155
      </CUSTOM_CHECK>
3156
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
3157
        <FEEDBACK>
3158
          <ON_CHECK message="incompleteunicodesupport" />
3159
        </FEEDBACK>
3160
      </CUSTOM_CHECK>
3161
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
3162
        <FEEDBACK>
3163
          <ON_CHECK message="sixtyfourbitswarning" />
3164
        </FEEDBACK>
3165
      </CUSTOM_CHECK>
3166
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_igbinary322_version" level="optional">
3167
        <FEEDBACK>
3168
          <ON_CHECK message="igbinary322buggyversion" />
3169
        </FEEDBACK>
3170
      </CUSTOM_CHECK>
3171
    </CUSTOM_CHECKS>
3172
  </MOODLE>
3173
  <MOODLE version="3.10" requires="3.5">
3174
    <UNICODE level="required">
3175
      <FEEDBACK>
3176
        <ON_ERROR message="unicoderequired" />
3177
      </FEEDBACK>
3178
    </UNICODE>
3179
    <DATABASE level="required">
3180
      <VENDOR name="mariadb" version="10.2.29" />
3181
      <VENDOR name="mysql" version="5.7" />
3182
      <VENDOR name="postgres" version="9.6" />
3183
      <VENDOR name="mssql" version="11.0" />
3184
      <VENDOR name="oracle" version="11.2" />
3185
    </DATABASE>
3186
    <PHP version="7.2.0" level="required">
3187
      <RESTRICT function="restrict_php_version_80" message="unsupportedphpversion80" />
3188
    </PHP>
3189
    <PCREUNICODE level="optional">
3190
      <FEEDBACK>
3191
        <ON_CHECK message="pcreunicodewarning" />
3192
      </FEEDBACK>
3193
    </PCREUNICODE>
3194
    <PHP_EXTENSIONS>
3195
      <PHP_EXTENSION name="iconv" level="required">
3196
        <FEEDBACK>
3197
          <ON_ERROR message="iconvrequired" />
3198
        </FEEDBACK>
3199
      </PHP_EXTENSION>
3200
      <PHP_EXTENSION name="mbstring" level="required">
3201
        <FEEDBACK>
3202
          <ON_ERROR message="mbstringrequired" />
3203
        </FEEDBACK>
3204
      </PHP_EXTENSION>
3205
      <PHP_EXTENSION name="curl" level="required">
3206
        <FEEDBACK>
3207
          <ON_ERROR message="curlrequired" />
3208
        </FEEDBACK>
3209
      </PHP_EXTENSION>
3210
      <PHP_EXTENSION name="openssl" level="required">
3211
        <FEEDBACK>
3212
          <ON_ERROR message="opensslrequired" />
3213
        </FEEDBACK>
3214
      </PHP_EXTENSION>
3215
      <PHP_EXTENSION name="tokenizer" level="optional">
3216
        <FEEDBACK>
3217
          <ON_CHECK message="tokenizerrecommended" />
3218
        </FEEDBACK>
3219
      </PHP_EXTENSION>
3220
      <PHP_EXTENSION name="xmlrpc" level="optional">
3221
        <FEEDBACK>
3222
          <ON_CHECK message="xmlrpcrecommended" />
3223
        </FEEDBACK>
3224
      </PHP_EXTENSION>
3225
      <PHP_EXTENSION name="soap" level="optional">
3226
        <FEEDBACK>
3227
          <ON_CHECK message="soaprecommended" />
3228
        </FEEDBACK>
3229
      </PHP_EXTENSION>
3230
      <PHP_EXTENSION name="ctype" level="required">
3231
        <FEEDBACK>
3232
          <ON_ERROR message="ctyperequired" />
3233
        </FEEDBACK>
3234
      </PHP_EXTENSION>
3235
      <PHP_EXTENSION name="zip" level="required">
3236
        <FEEDBACK>
3237
          <ON_ERROR message="ziprequired" />
3238
        </FEEDBACK>
3239
      </PHP_EXTENSION>
3240
      <PHP_EXTENSION name="zlib" level="required">
3241
      </PHP_EXTENSION>
3242
      <PHP_EXTENSION name="gd" level="required">
3243
        <FEEDBACK>
3244
          <ON_ERROR message="gdrequired" />
3245
        </FEEDBACK>
3246
      </PHP_EXTENSION>
3247
      <PHP_EXTENSION name="simplexml" level="required">
3248
        <FEEDBACK>
3249
          <ON_ERROR message="simplexmlrequired" />
3250
        </FEEDBACK>
3251
      </PHP_EXTENSION>
3252
      <PHP_EXTENSION name="spl" level="required">
3253
        <FEEDBACK>
3254
          <ON_ERROR message="splrequired" />
3255
        </FEEDBACK>
3256
      </PHP_EXTENSION>
3257
      <PHP_EXTENSION name="pcre" level="required">
3258
      </PHP_EXTENSION>
3259
      <PHP_EXTENSION name="dom" level="required">
3260
      </PHP_EXTENSION>
3261
      <PHP_EXTENSION name="xml" level="required">
3262
      </PHP_EXTENSION>
3263
      <PHP_EXTENSION name="xmlreader" level="required">
3264
      </PHP_EXTENSION>
3265
      <PHP_EXTENSION name="intl" level="required">
3266
        <FEEDBACK>
3267
          <ON_ERROR message="intlrequired" />
3268
        </FEEDBACK>
3269
      </PHP_EXTENSION>
3270
      <PHP_EXTENSION name="json" level="required">
3271
      </PHP_EXTENSION>
3272
      <PHP_EXTENSION name="hash" level="required"/>
3273
      <PHP_EXTENSION name="fileinfo" level="required"/>
3274
    </PHP_EXTENSIONS>
3275
    <PHP_SETTINGS>
3276
      <PHP_SETTING name="memory_limit" value="96M" level="required">
3277
        <FEEDBACK>
3278
          <ON_ERROR message="settingmemorylimit" />
3279
        </FEEDBACK>
3280
      </PHP_SETTING>
3281
      <PHP_SETTING name="file_uploads" value="1" level="optional">
3282
        <FEEDBACK>
3283
          <ON_CHECK message="settingfileuploads" />
3284
        </FEEDBACK>
3285
      </PHP_SETTING>
3286
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
3287
        <FEEDBACK>
3288
          <ON_CHECK message="opcacherecommended" />
3289
        </FEEDBACK>
3290
      </PHP_SETTING>
3291
    </PHP_SETTINGS>
3292
    <CUSTOM_CHECKS>
3293
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
3294
        <FEEDBACK>
3295
          <ON_ERROR message="unsupporteddbstorageengine" />
3296
        </FEEDBACK>
3297
      </CUSTOM_CHECK>
3298
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
3299
        <FEEDBACK>
3300
          <ON_ERROR message="quizattemptsupgradedmessage" />
3301
        </FEEDBACK>
3302
      </CUSTOM_CHECK>
3303
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
3304
        <FEEDBACK>
3305
          <ON_CHECK message="slashargumentswarning" />
3306
        </FEEDBACK>
3307
      </CUSTOM_CHECK>
3308
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
3309
        <FEEDBACK>
3310
          <ON_CHECK message="unsupporteddbtablerowformat" />
3311
        </FEEDBACK>
3312
      </CUSTOM_CHECK>
3313
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
3314
        <FEEDBACK>
3315
          <ON_CHECK message="unoconvwarning" />
3316
        </FEEDBACK>
3317
      </CUSTOM_CHECK>
3318
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
3319
        <FEEDBACK>
3320
          <ON_CHECK message="libcurlwarning" />
3321
        </FEEDBACK>
3322
      </CUSTOM_CHECK>
3323
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
3324
        <FEEDBACK>
3325
          <ON_ERROR message="unsupporteddbfileformat" />
3326
        </FEEDBACK>
3327
      </CUSTOM_CHECK>
3328
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
3329
        <FEEDBACK>
3330
          <ON_ERROR message="unsupporteddbfilepertable" />
3331
        </FEEDBACK>
3332
      </CUSTOM_CHECK>
3333
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
3334
        <FEEDBACK>
3335
          <ON_ERROR message="unsupporteddblargeprefix" />
3336
        </FEEDBACK>
3337
      </CUSTOM_CHECK>
3338
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
3339
        <FEEDBACK>
3340
          <ON_CHECK message="ishttpswarning" />
3341
        </FEEDBACK>
3342
      </CUSTOM_CHECK>
3343
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
3344
        <FEEDBACK>
3345
          <ON_CHECK message="incompleteunicodesupport" />
3346
        </FEEDBACK>
3347
      </CUSTOM_CHECK>
3348
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
3349
        <FEEDBACK>
3350
          <ON_CHECK message="sixtyfourbitswarning" />
3351
        </FEEDBACK>
3352
      </CUSTOM_CHECK>
3353
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_igbinary322_version" level="optional">
3354
        <FEEDBACK>
3355
          <ON_CHECK message="igbinary322buggyversion" />
3356
        </FEEDBACK>
3357
      </CUSTOM_CHECK>
3358
    </CUSTOM_CHECKS>
3359
  </MOODLE>
3360
  <MOODLE version="3.11" requires="3.6">
3361
    <UNICODE level="required">
3362
      <FEEDBACK>
3363
        <ON_ERROR message="unicoderequired" />
3364
      </FEEDBACK>
3365
    </UNICODE>
3366
    <DATABASE level="required">
3367
      <VENDOR name="mariadb" version="10.2.29" />
3368
      <VENDOR name="mysql" version="5.7" />
3369
      <VENDOR name="postgres" version="9.6" />
3370
      <VENDOR name="mssql" version="14.0" />
3371
      <VENDOR name="oracle" version="11.2" />
3372
    </DATABASE>
3373
    <PHP version="7.3.0" level="required">
3374
      <RESTRICT function="restrict_php_version_81" message="unsupportedphpversion81" />
3375
    </PHP>
3376
    <PCREUNICODE level="optional">
3377
      <FEEDBACK>
3378
        <ON_CHECK message="pcreunicodewarning" />
3379
      </FEEDBACK>
3380
    </PCREUNICODE>
3381
    <PHP_EXTENSIONS>
3382
      <PHP_EXTENSION name="iconv" level="required">
3383
        <FEEDBACK>
3384
          <ON_ERROR message="iconvrequired" />
3385
        </FEEDBACK>
3386
      </PHP_EXTENSION>
3387
      <PHP_EXTENSION name="mbstring" level="required">
3388
        <FEEDBACK>
3389
          <ON_ERROR message="mbstringrequired" />
3390
        </FEEDBACK>
3391
      </PHP_EXTENSION>
3392
      <PHP_EXTENSION name="curl" level="required">
3393
        <FEEDBACK>
3394
          <ON_ERROR message="curlrequired" />
3395
        </FEEDBACK>
3396
      </PHP_EXTENSION>
3397
      <PHP_EXTENSION name="openssl" level="required">
3398
        <FEEDBACK>
3399
          <ON_ERROR message="opensslrequired" />
3400
        </FEEDBACK>
3401
      </PHP_EXTENSION>
3402
      <PHP_EXTENSION name="tokenizer" level="optional">
3403
        <FEEDBACK>
3404
          <ON_CHECK message="tokenizerrecommended" />
3405
        </FEEDBACK>
3406
      </PHP_EXTENSION>
3407
      <PHP_EXTENSION name="xmlrpc" level="optional">
3408
        <FEEDBACK>
3409
          <ON_CHECK message="xmlrpcrecommended" />
3410
        </FEEDBACK>
3411
      </PHP_EXTENSION>
3412
      <PHP_EXTENSION name="soap" level="optional">
3413
        <FEEDBACK>
3414
          <ON_CHECK message="soaprecommended" />
3415
        </FEEDBACK>
3416
      </PHP_EXTENSION>
3417
      <PHP_EXTENSION name="ctype" level="required">
3418
        <FEEDBACK>
3419
          <ON_ERROR message="ctyperequired" />
3420
        </FEEDBACK>
3421
      </PHP_EXTENSION>
3422
      <PHP_EXTENSION name="zip" level="required">
3423
        <FEEDBACK>
3424
          <ON_ERROR message="ziprequired" />
3425
        </FEEDBACK>
3426
      </PHP_EXTENSION>
3427
      <PHP_EXTENSION name="zlib" level="required">
3428
      </PHP_EXTENSION>
3429
      <PHP_EXTENSION name="gd" level="required">
3430
        <FEEDBACK>
3431
          <ON_ERROR message="gdrequired" />
3432
        </FEEDBACK>
3433
      </PHP_EXTENSION>
3434
      <PHP_EXTENSION name="simplexml" level="required">
3435
        <FEEDBACK>
3436
          <ON_ERROR message="simplexmlrequired" />
3437
        </FEEDBACK>
3438
      </PHP_EXTENSION>
3439
      <PHP_EXTENSION name="spl" level="required">
3440
        <FEEDBACK>
3441
          <ON_ERROR message="splrequired" />
3442
        </FEEDBACK>
3443
      </PHP_EXTENSION>
3444
      <PHP_EXTENSION name="pcre" level="required">
3445
      </PHP_EXTENSION>
3446
      <PHP_EXTENSION name="dom" level="required">
3447
      </PHP_EXTENSION>
3448
      <PHP_EXTENSION name="xml" level="required">
3449
      </PHP_EXTENSION>
3450
      <PHP_EXTENSION name="xmlreader" level="required">
3451
      </PHP_EXTENSION>
3452
      <PHP_EXTENSION name="intl" level="required">
3453
        <FEEDBACK>
3454
          <ON_ERROR message="intlrequired" />
3455
        </FEEDBACK>
3456
      </PHP_EXTENSION>
3457
      <PHP_EXTENSION name="json" level="required">
3458
      </PHP_EXTENSION>
3459
      <PHP_EXTENSION name="hash" level="required"/>
3460
      <PHP_EXTENSION name="fileinfo" level="required"/>
3461
      <PHP_EXTENSION name="sodium" level="optional"/>
3462
    </PHP_EXTENSIONS>
3463
    <PHP_SETTINGS>
3464
      <PHP_SETTING name="memory_limit" value="96M" level="required">
3465
        <FEEDBACK>
3466
          <ON_ERROR message="settingmemorylimit" />
3467
        </FEEDBACK>
3468
      </PHP_SETTING>
3469
      <PHP_SETTING name="file_uploads" value="1" level="optional">
3470
        <FEEDBACK>
3471
          <ON_CHECK message="settingfileuploads" />
3472
        </FEEDBACK>
3473
      </PHP_SETTING>
3474
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
3475
        <FEEDBACK>
3476
          <ON_CHECK message="opcacherecommended" />
3477
        </FEEDBACK>
3478
      </PHP_SETTING>
3479
    </PHP_SETTINGS>
3480
    <CUSTOM_CHECKS>
3481
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
3482
        <FEEDBACK>
3483
          <ON_ERROR message="unsupporteddbstorageengine" />
3484
        </FEEDBACK>
3485
      </CUSTOM_CHECK>
3486
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
3487
        <FEEDBACK>
3488
          <ON_ERROR message="quizattemptsupgradedmessage" />
3489
        </FEEDBACK>
3490
      </CUSTOM_CHECK>
3491
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
3492
        <FEEDBACK>
3493
          <ON_CHECK message="slashargumentswarning" />
3494
        </FEEDBACK>
3495
      </CUSTOM_CHECK>
3496
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
3497
        <FEEDBACK>
3498
          <ON_CHECK message="unsupporteddbtablerowformat" />
3499
        </FEEDBACK>
3500
      </CUSTOM_CHECK>
3501
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
3502
        <FEEDBACK>
3503
          <ON_CHECK message="unoconvwarning" />
3504
        </FEEDBACK>
3505
      </CUSTOM_CHECK>
3506
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
3507
        <FEEDBACK>
3508
          <ON_CHECK message="libcurlwarning" />
3509
        </FEEDBACK>
3510
      </CUSTOM_CHECK>
3511
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
3512
        <FEEDBACK>
3513
          <ON_ERROR message="unsupporteddbfileformat" />
3514
        </FEEDBACK>
3515
      </CUSTOM_CHECK>
3516
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
3517
        <FEEDBACK>
3518
          <ON_ERROR message="unsupporteddbfilepertable" />
3519
        </FEEDBACK>
3520
      </CUSTOM_CHECK>
3521
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
3522
        <FEEDBACK>
3523
          <ON_ERROR message="unsupporteddblargeprefix" />
3524
        </FEEDBACK>
3525
      </CUSTOM_CHECK>
3526
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
3527
        <FEEDBACK>
3528
          <ON_CHECK message="ishttpswarning" />
3529
        </FEEDBACK>
3530
      </CUSTOM_CHECK>
3531
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
3532
        <FEEDBACK>
3533
          <ON_CHECK message="incompleteunicodesupport" />
3534
        </FEEDBACK>
3535
      </CUSTOM_CHECK>
3536
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
3537
        <FEEDBACK>
3538
          <ON_CHECK message="sixtyfourbitswarning" />
3539
        </FEEDBACK>
3540
      </CUSTOM_CHECK>
3541
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
3542
      </CUSTOM_CHECK>
3543
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
3544
      </CUSTOM_CHECK>
3545
    </CUSTOM_CHECKS>
3546
  </MOODLE>
3547
  <MOODLE version="4.0" requires="3.6">
3548
    <UNICODE level="required">
3549
      <FEEDBACK>
3550
        <ON_ERROR message="unicoderequired" />
3551
      </FEEDBACK>
3552
    </UNICODE>
3553
    <DATABASE level="required">
3554
      <VENDOR name="mariadb" version="10.2.29" />
3555
      <VENDOR name="mysql" version="5.7" />
3556
      <VENDOR name="postgres" version="10" />
3557
      <VENDOR name="mssql" version="14.0" />
3558
      <VENDOR name="oracle" version="11.2" />
3559
    </DATABASE>
3560
    <PHP version="7.3.0" level="required">
3561
      <RESTRICT function="restrict_php_version_81" message="unsupportedphpversion81" />
3562
    </PHP>
3563
    <PCREUNICODE level="optional">
3564
      <FEEDBACK>
3565
        <ON_CHECK message="pcreunicodewarning" />
3566
      </FEEDBACK>
3567
    </PCREUNICODE>
3568
    <PHP_EXTENSIONS>
3569
      <PHP_EXTENSION name="iconv" level="required">
3570
        <FEEDBACK>
3571
          <ON_ERROR message="iconvrequired" />
3572
        </FEEDBACK>
3573
      </PHP_EXTENSION>
3574
      <PHP_EXTENSION name="mbstring" level="required">
3575
        <FEEDBACK>
3576
          <ON_ERROR message="mbstringrequired" />
3577
        </FEEDBACK>
3578
      </PHP_EXTENSION>
3579
      <PHP_EXTENSION name="curl" level="required">
3580
        <FEEDBACK>
3581
          <ON_ERROR message="curlrequired" />
3582
        </FEEDBACK>
3583
      </PHP_EXTENSION>
3584
      <PHP_EXTENSION name="openssl" level="required">
3585
        <FEEDBACK>
3586
          <ON_ERROR message="opensslrequired" />
3587
        </FEEDBACK>
3588
      </PHP_EXTENSION>
3589
      <PHP_EXTENSION name="tokenizer" level="optional">
3590
        <FEEDBACK>
3591
          <ON_CHECK message="tokenizerrecommended" />
3592
        </FEEDBACK>
3593
      </PHP_EXTENSION>
3594
      <PHP_EXTENSION name="xmlrpc" level="optional">
3595
        <FEEDBACK>
3596
          <ON_CHECK message="xmlrpcrecommended" />
3597
        </FEEDBACK>
3598
      </PHP_EXTENSION>
3599
      <PHP_EXTENSION name="soap" level="optional">
3600
        <FEEDBACK>
3601
          <ON_CHECK message="soaprecommended" />
3602
        </FEEDBACK>
3603
      </PHP_EXTENSION>
3604
      <PHP_EXTENSION name="ctype" level="required">
3605
        <FEEDBACK>
3606
          <ON_ERROR message="ctyperequired" />
3607
        </FEEDBACK>
3608
      </PHP_EXTENSION>
3609
      <PHP_EXTENSION name="zip" level="required">
3610
        <FEEDBACK>
3611
          <ON_ERROR message="ziprequired" />
3612
        </FEEDBACK>
3613
      </PHP_EXTENSION>
3614
      <PHP_EXTENSION name="zlib" level="required">
3615
      </PHP_EXTENSION>
3616
      <PHP_EXTENSION name="gd" level="required">
3617
        <FEEDBACK>
3618
          <ON_ERROR message="gdrequired" />
3619
        </FEEDBACK>
3620
      </PHP_EXTENSION>
3621
      <PHP_EXTENSION name="simplexml" level="required">
3622
        <FEEDBACK>
3623
          <ON_ERROR message="simplexmlrequired" />
3624
        </FEEDBACK>
3625
      </PHP_EXTENSION>
3626
      <PHP_EXTENSION name="spl" level="required">
3627
        <FEEDBACK>
3628
          <ON_ERROR message="splrequired" />
3629
        </FEEDBACK>
3630
      </PHP_EXTENSION>
3631
      <PHP_EXTENSION name="pcre" level="required">
3632
      </PHP_EXTENSION>
3633
      <PHP_EXTENSION name="dom" level="required">
3634
      </PHP_EXTENSION>
3635
      <PHP_EXTENSION name="xml" level="required">
3636
      </PHP_EXTENSION>
3637
      <PHP_EXTENSION name="xmlreader" level="required">
3638
      </PHP_EXTENSION>
3639
      <PHP_EXTENSION name="intl" level="required">
3640
        <FEEDBACK>
3641
          <ON_ERROR message="intlrequired" />
3642
        </FEEDBACK>
3643
      </PHP_EXTENSION>
3644
      <PHP_EXTENSION name="json" level="required">
3645
      </PHP_EXTENSION>
3646
      <PHP_EXTENSION name="hash" level="required"/>
3647
      <PHP_EXTENSION name="fileinfo" level="required"/>
3648
      <PHP_EXTENSION name="sodium" level="optional"/>
3649
      <PHP_EXTENSION name="exif" level="optional"/>
3650
    </PHP_EXTENSIONS>
3651
    <PHP_SETTINGS>
3652
      <PHP_SETTING name="memory_limit" value="96M" level="required">
3653
        <FEEDBACK>
3654
          <ON_ERROR message="settingmemorylimit" />
3655
        </FEEDBACK>
3656
      </PHP_SETTING>
3657
      <PHP_SETTING name="file_uploads" value="1" level="optional">
3658
        <FEEDBACK>
3659
          <ON_CHECK message="settingfileuploads" />
3660
        </FEEDBACK>
3661
      </PHP_SETTING>
3662
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
3663
        <FEEDBACK>
3664
          <ON_CHECK message="opcacherecommended" />
3665
        </FEEDBACK>
3666
      </PHP_SETTING>
3667
    </PHP_SETTINGS>
3668
    <CUSTOM_CHECKS>
3669
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
3670
        <FEEDBACK>
3671
          <ON_ERROR message="unsupporteddbstorageengine" />
3672
        </FEEDBACK>
3673
      </CUSTOM_CHECK>
3674
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
3675
        <FEEDBACK>
3676
          <ON_ERROR message="quizattemptsupgradedmessage" />
3677
        </FEEDBACK>
3678
      </CUSTOM_CHECK>
3679
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
3680
        <FEEDBACK>
3681
          <ON_CHECK message="slashargumentswarning" />
3682
        </FEEDBACK>
3683
      </CUSTOM_CHECK>
3684
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
3685
        <FEEDBACK>
3686
          <ON_CHECK message="unsupporteddbtablerowformat" />
3687
        </FEEDBACK>
3688
      </CUSTOM_CHECK>
3689
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
3690
        <FEEDBACK>
3691
          <ON_CHECK message="unoconvwarning" />
3692
        </FEEDBACK>
3693
      </CUSTOM_CHECK>
3694
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
3695
        <FEEDBACK>
3696
          <ON_CHECK message="libcurlwarning" />
3697
        </FEEDBACK>
3698
      </CUSTOM_CHECK>
3699
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
3700
        <FEEDBACK>
3701
          <ON_ERROR message="unsupporteddbfileformat" />
3702
        </FEEDBACK>
3703
      </CUSTOM_CHECK>
3704
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
3705
        <FEEDBACK>
3706
          <ON_ERROR message="unsupporteddbfilepertable" />
3707
        </FEEDBACK>
3708
      </CUSTOM_CHECK>
3709
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
3710
        <FEEDBACK>
3711
          <ON_ERROR message="unsupporteddblargeprefix" />
3712
        </FEEDBACK>
3713
      </CUSTOM_CHECK>
3714
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
3715
        <FEEDBACK>
3716
          <ON_CHECK message="ishttpswarning" />
3717
        </FEEDBACK>
3718
      </CUSTOM_CHECK>
3719
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
3720
        <FEEDBACK>
3721
          <ON_CHECK message="incompleteunicodesupport" />
3722
        </FEEDBACK>
3723
      </CUSTOM_CHECK>
3724
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
3725
        <FEEDBACK>
3726
          <ON_CHECK message="sixtyfourbitswarning" />
3727
        </FEEDBACK>
3728
      </CUSTOM_CHECK>
3729
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
3730
      </CUSTOM_CHECK>
3731
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
3732
        <FEEDBACK>
3733
          <ON_CHECK message="iscustomadminwarnings" />
3734
        </FEEDBACK>
3735
      </CUSTOM_CHECK>
3736
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
3737
      </CUSTOM_CHECK>
3738
    </CUSTOM_CHECKS>
3739
  </MOODLE>
3740
  <MOODLE version="4.1" requires="3.9">
3741
    <UNICODE level="required">
3742
      <FEEDBACK>
3743
        <ON_ERROR message="unicoderequired" />
3744
      </FEEDBACK>
3745
    </UNICODE>
3746
    <DATABASE level="required">
3747
      <VENDOR name="mariadb" version="10.4" />
3748
      <VENDOR name="mysql" version="5.7" />
3749
      <VENDOR name="postgres" version="12" />
3750
      <VENDOR name="mssql" version="14.0" />
3751
      <VENDOR name="oracle" version="19" />
3752
    </DATABASE>
3753
    <PHP version="7.4.0" level="required">
3754
      <RESTRICT function="restrict_php_version_82" message="unsupportedphpversion82" />
3755
    </PHP>
3756
    <PCREUNICODE level="optional">
3757
      <FEEDBACK>
3758
        <ON_CHECK message="pcreunicodewarning" />
3759
      </FEEDBACK>
3760
    </PCREUNICODE>
3761
    <PHP_EXTENSIONS>
3762
      <PHP_EXTENSION name="iconv" level="required">
3763
        <FEEDBACK>
3764
          <ON_ERROR message="iconvrequired" />
3765
        </FEEDBACK>
3766
      </PHP_EXTENSION>
3767
      <PHP_EXTENSION name="mbstring" level="required">
3768
        <FEEDBACK>
3769
          <ON_ERROR message="mbstringrequired" />
3770
        </FEEDBACK>
3771
      </PHP_EXTENSION>
3772
      <PHP_EXTENSION name="curl" level="required">
3773
        <FEEDBACK>
3774
          <ON_ERROR message="curlrequired" />
3775
        </FEEDBACK>
3776
      </PHP_EXTENSION>
3777
      <PHP_EXTENSION name="openssl" level="required">
3778
        <FEEDBACK>
3779
          <ON_ERROR message="opensslrequired" />
3780
        </FEEDBACK>
3781
      </PHP_EXTENSION>
3782
      <PHP_EXTENSION name="tokenizer" level="optional">
3783
        <FEEDBACK>
3784
          <ON_CHECK message="tokenizerrecommended" />
3785
        </FEEDBACK>
3786
      </PHP_EXTENSION>
3787
      <PHP_EXTENSION name="soap" level="optional">
3788
        <FEEDBACK>
3789
          <ON_CHECK message="soaprecommended" />
3790
        </FEEDBACK>
3791
      </PHP_EXTENSION>
3792
      <PHP_EXTENSION name="ctype" level="required">
3793
        <FEEDBACK>
3794
          <ON_ERROR message="ctyperequired" />
3795
        </FEEDBACK>
3796
      </PHP_EXTENSION>
3797
      <PHP_EXTENSION name="zip" level="required">
3798
        <FEEDBACK>
3799
          <ON_ERROR message="ziprequired" />
3800
        </FEEDBACK>
3801
      </PHP_EXTENSION>
3802
      <PHP_EXTENSION name="zlib" level="required">
3803
      </PHP_EXTENSION>
3804
      <PHP_EXTENSION name="gd" level="required">
3805
        <FEEDBACK>
3806
          <ON_ERROR message="gdrequired" />
3807
        </FEEDBACK>
3808
      </PHP_EXTENSION>
3809
      <PHP_EXTENSION name="simplexml" level="required">
3810
        <FEEDBACK>
3811
          <ON_ERROR message="simplexmlrequired" />
3812
        </FEEDBACK>
3813
      </PHP_EXTENSION>
3814
      <PHP_EXTENSION name="spl" level="required">
3815
        <FEEDBACK>
3816
          <ON_ERROR message="splrequired" />
3817
        </FEEDBACK>
3818
      </PHP_EXTENSION>
3819
      <PHP_EXTENSION name="pcre" level="required">
3820
      </PHP_EXTENSION>
3821
      <PHP_EXTENSION name="dom" level="required">
3822
      </PHP_EXTENSION>
3823
      <PHP_EXTENSION name="xml" level="required">
3824
      </PHP_EXTENSION>
3825
      <PHP_EXTENSION name="xmlreader" level="required">
3826
      </PHP_EXTENSION>
3827
      <PHP_EXTENSION name="intl" level="required">
3828
        <FEEDBACK>
3829
          <ON_ERROR message="intlrequired" />
3830
        </FEEDBACK>
3831
      </PHP_EXTENSION>
3832
      <PHP_EXTENSION name="json" level="required">
3833
      </PHP_EXTENSION>
3834
      <PHP_EXTENSION name="hash" level="required"/>
3835
      <PHP_EXTENSION name="fileinfo" level="required"/>
3836
      <PHP_EXTENSION name="sodium" level="optional"/>
3837
      <PHP_EXTENSION name="exif" level="optional"/>
3838
    </PHP_EXTENSIONS>
3839
    <PHP_SETTINGS>
3840
      <PHP_SETTING name="memory_limit" value="96M" level="required">
3841
        <FEEDBACK>
3842
          <ON_ERROR message="settingmemorylimit" />
3843
        </FEEDBACK>
3844
      </PHP_SETTING>
3845
      <PHP_SETTING name="file_uploads" value="1" level="optional">
3846
        <FEEDBACK>
3847
          <ON_CHECK message="settingfileuploads" />
3848
        </FEEDBACK>
3849
      </PHP_SETTING>
3850
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
3851
        <FEEDBACK>
3852
          <ON_CHECK message="opcacherecommended" />
3853
        </FEEDBACK>
3854
      </PHP_SETTING>
3855
    </PHP_SETTINGS>
3856
    <CUSTOM_CHECKS>
3857
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
3858
        <FEEDBACK>
3859
          <ON_ERROR message="unsupporteddbstorageengine" />
3860
        </FEEDBACK>
3861
      </CUSTOM_CHECK>
3862
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
3863
        <FEEDBACK>
3864
          <ON_ERROR message="quizattemptsupgradedmessage" />
3865
        </FEEDBACK>
3866
      </CUSTOM_CHECK>
3867
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
3868
        <FEEDBACK>
3869
          <ON_CHECK message="slashargumentswarning" />
3870
        </FEEDBACK>
3871
      </CUSTOM_CHECK>
3872
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
3873
        <FEEDBACK>
3874
          <ON_CHECK message="unsupporteddbtablerowformat" />
3875
        </FEEDBACK>
3876
      </CUSTOM_CHECK>
3877
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
3878
        <FEEDBACK>
3879
          <ON_CHECK message="unoconvwarning" />
3880
        </FEEDBACK>
3881
      </CUSTOM_CHECK>
3882
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
3883
        <FEEDBACK>
3884
          <ON_CHECK message="libcurlwarning" />
3885
        </FEEDBACK>
3886
      </CUSTOM_CHECK>
3887
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
3888
        <FEEDBACK>
3889
          <ON_ERROR message="unsupporteddbfileformat" />
3890
        </FEEDBACK>
3891
      </CUSTOM_CHECK>
3892
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
3893
        <FEEDBACK>
3894
          <ON_ERROR message="unsupporteddbfilepertable" />
3895
        </FEEDBACK>
3896
      </CUSTOM_CHECK>
3897
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
3898
        <FEEDBACK>
3899
          <ON_ERROR message="unsupporteddblargeprefix" />
3900
        </FEEDBACK>
3901
      </CUSTOM_CHECK>
3902
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
3903
        <FEEDBACK>
3904
          <ON_CHECK message="ishttpswarning" />
3905
        </FEEDBACK>
3906
      </CUSTOM_CHECK>
3907
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
3908
        <FEEDBACK>
3909
          <ON_CHECK message="incompleteunicodesupport" />
3910
        </FEEDBACK>
3911
      </CUSTOM_CHECK>
3912
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
3913
        <FEEDBACK>
3914
          <ON_CHECK message="sixtyfourbitswarning" />
3915
        </FEEDBACK>
3916
      </CUSTOM_CHECK>
3917
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
3918
      </CUSTOM_CHECK>
3919
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
3920
        <FEEDBACK>
3921
          <ON_CHECK message="iscustomadminwarnings" />
3922
        </FEEDBACK>
3923
      </CUSTOM_CHECK>
3924
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
3925
      </CUSTOM_CHECK>
3926
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
3927
      </CUSTOM_CHECK>
3928
    </CUSTOM_CHECKS>
3929
  </MOODLE>
3930
  <MOODLE version="4.2" requires="3.11.8">
3931
    <UNICODE level="required">
3932
      <FEEDBACK>
3933
        <ON_ERROR message="unicoderequired" />
3934
      </FEEDBACK>
3935
    </UNICODE>
3936
    <DATABASE level="required">
3937
      <VENDOR name="mariadb" version="10.6.7" />
3938
      <VENDOR name="mysql" version="8.0" />
3939
      <VENDOR name="postgres" version="13" />
3940
      <VENDOR name="mssql" version="14.0" />
3941
      <VENDOR name="oracle" version="19" />
3942
    </DATABASE>
3943
    <PHP version="8.0.0" level="required">
3944
      <RESTRICT function="restrict_php_version_83" message="unsupportedphpversion83" />
3945
    </PHP>
3946
    <PCREUNICODE level="optional">
3947
      <FEEDBACK>
3948
        <ON_CHECK message="pcreunicodewarning" />
3949
      </FEEDBACK>
3950
    </PCREUNICODE>
3951
    <PHP_EXTENSIONS>
3952
      <PHP_EXTENSION name="iconv" level="required">
3953
        <FEEDBACK>
3954
          <ON_ERROR message="iconvrequired" />
3955
        </FEEDBACK>
3956
      </PHP_EXTENSION>
3957
      <PHP_EXTENSION name="mbstring" level="required">
3958
        <FEEDBACK>
3959
          <ON_ERROR message="mbstringrequired" />
3960
        </FEEDBACK>
3961
      </PHP_EXTENSION>
3962
      <PHP_EXTENSION name="curl" level="required">
3963
        <FEEDBACK>
3964
          <ON_ERROR message="curlrequired" />
3965
        </FEEDBACK>
3966
      </PHP_EXTENSION>
3967
      <PHP_EXTENSION name="openssl" level="required">
3968
        <FEEDBACK>
3969
          <ON_ERROR message="opensslrequired" />
3970
        </FEEDBACK>
3971
      </PHP_EXTENSION>
3972
      <PHP_EXTENSION name="tokenizer" level="optional">
3973
        <FEEDBACK>
3974
          <ON_CHECK message="tokenizerrecommended" />
3975
        </FEEDBACK>
3976
      </PHP_EXTENSION>
3977
      <PHP_EXTENSION name="soap" level="optional">
3978
        <FEEDBACK>
3979
          <ON_CHECK message="soaprecommended" />
3980
        </FEEDBACK>
3981
      </PHP_EXTENSION>
3982
      <PHP_EXTENSION name="ctype" level="required">
3983
        <FEEDBACK>
3984
          <ON_ERROR message="ctyperequired" />
3985
        </FEEDBACK>
3986
      </PHP_EXTENSION>
3987
      <PHP_EXTENSION name="zip" level="required">
3988
        <FEEDBACK>
3989
          <ON_ERROR message="ziprequired" />
3990
        </FEEDBACK>
3991
      </PHP_EXTENSION>
3992
      <PHP_EXTENSION name="zlib" level="required">
3993
      </PHP_EXTENSION>
3994
      <PHP_EXTENSION name="gd" level="required">
3995
        <FEEDBACK>
3996
          <ON_ERROR message="gdrequired" />
3997
        </FEEDBACK>
3998
      </PHP_EXTENSION>
3999
      <PHP_EXTENSION name="simplexml" level="required">
4000
        <FEEDBACK>
4001
          <ON_ERROR message="simplexmlrequired" />
4002
        </FEEDBACK>
4003
      </PHP_EXTENSION>
4004
      <PHP_EXTENSION name="spl" level="required">
4005
        <FEEDBACK>
4006
          <ON_ERROR message="splrequired" />
4007
        </FEEDBACK>
4008
      </PHP_EXTENSION>
4009
      <PHP_EXTENSION name="pcre" level="required">
4010
      </PHP_EXTENSION>
4011
      <PHP_EXTENSION name="dom" level="required">
4012
      </PHP_EXTENSION>
4013
      <PHP_EXTENSION name="xml" level="required">
4014
      </PHP_EXTENSION>
4015
      <PHP_EXTENSION name="xmlreader" level="required">
4016
      </PHP_EXTENSION>
4017
      <PHP_EXTENSION name="intl" level="required">
4018
        <FEEDBACK>
4019
          <ON_ERROR message="intlrequired" />
4020
        </FEEDBACK>
4021
      </PHP_EXTENSION>
4022
      <PHP_EXTENSION name="json" level="required">
4023
      </PHP_EXTENSION>
4024
      <PHP_EXTENSION name="hash" level="required"/>
4025
      <PHP_EXTENSION name="fileinfo" level="required"/>
4026
      <PHP_EXTENSION name="sodium" level="required"/>
4027
      <PHP_EXTENSION name="exif" level="optional"/>
4028
    </PHP_EXTENSIONS>
4029
    <PHP_SETTINGS>
4030
      <PHP_SETTING name="memory_limit" value="96M" level="required">
4031
        <FEEDBACK>
4032
          <ON_ERROR message="settingmemorylimit" />
4033
        </FEEDBACK>
4034
      </PHP_SETTING>
4035
      <PHP_SETTING name="file_uploads" value="1" level="optional">
4036
        <FEEDBACK>
4037
          <ON_CHECK message="settingfileuploads" />
4038
        </FEEDBACK>
4039
      </PHP_SETTING>
4040
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
4041
        <FEEDBACK>
4042
          <ON_CHECK message="opcacherecommended" />
4043
        </FEEDBACK>
4044
      </PHP_SETTING>
4045
    </PHP_SETTINGS>
4046
    <CUSTOM_CHECKS>
4047
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
4048
        <FEEDBACK>
4049
          <ON_ERROR message="unsupporteddbstorageengine" />
4050
        </FEEDBACK>
4051
      </CUSTOM_CHECK>
4052
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
4053
        <FEEDBACK>
4054
          <ON_ERROR message="quizattemptsupgradedmessage" />
4055
        </FEEDBACK>
4056
      </CUSTOM_CHECK>
4057
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
4058
        <FEEDBACK>
4059
          <ON_CHECK message="slashargumentswarning" />
4060
        </FEEDBACK>
4061
      </CUSTOM_CHECK>
4062
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
4063
        <FEEDBACK>
4064
          <ON_CHECK message="unsupporteddbtablerowformat" />
4065
        </FEEDBACK>
4066
      </CUSTOM_CHECK>
4067
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
4068
        <FEEDBACK>
4069
          <ON_CHECK message="unoconvwarning" />
4070
        </FEEDBACK>
4071
      </CUSTOM_CHECK>
4072
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
4073
        <FEEDBACK>
4074
          <ON_CHECK message="libcurlwarning" />
4075
        </FEEDBACK>
4076
      </CUSTOM_CHECK>
4077
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
4078
        <FEEDBACK>
4079
          <ON_ERROR message="unsupporteddbfileformat" />
4080
        </FEEDBACK>
4081
      </CUSTOM_CHECK>
4082
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
4083
        <FEEDBACK>
4084
          <ON_ERROR message="unsupporteddbfilepertable" />
4085
        </FEEDBACK>
4086
      </CUSTOM_CHECK>
4087
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
4088
        <FEEDBACK>
4089
          <ON_ERROR message="unsupporteddblargeprefix" />
4090
        </FEEDBACK>
4091
      </CUSTOM_CHECK>
4092
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
4093
        <FEEDBACK>
4094
          <ON_CHECK message="ishttpswarning" />
4095
        </FEEDBACK>
4096
      </CUSTOM_CHECK>
4097
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
4098
        <FEEDBACK>
4099
          <ON_CHECK message="incompleteunicodesupport" />
4100
        </FEEDBACK>
4101
      </CUSTOM_CHECK>
4102
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
4103
        <FEEDBACK>
4104
          <ON_ERROR message="sixtyfourbitsrequired" />
4105
        </FEEDBACK>
4106
      </CUSTOM_CHECK>
4107
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
4108
      </CUSTOM_CHECK>
4109
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
4110
        <FEEDBACK>
4111
          <ON_CHECK message="iscustomadminwarnings" />
4112
        </FEEDBACK>
4113
      </CUSTOM_CHECK>
4114
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
4115
      </CUSTOM_CHECK>
4116
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
4117
      </CUSTOM_CHECK>
4118
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
4119
      </CUSTOM_CHECK>
4120
    </CUSTOM_CHECKS>
4121
  </MOODLE>
4122
  <MOODLE version="4.3" requires="3.11.8">
4123
    <UNICODE level="required">
4124
      <FEEDBACK>
4125
        <ON_ERROR message="unicoderequired" />
4126
      </FEEDBACK>
4127
    </UNICODE>
4128
    <DATABASE level="required">
4129
      <VENDOR name="mariadb" version="10.6.7" />
4130
      <VENDOR name="mysql" version="8.0" />
4131
      <VENDOR name="postgres" version="13" />
4132
      <VENDOR name="mssql" version="14.0" />
4133
      <VENDOR name="oracle" version="19" />
4134
    </DATABASE>
4135
    <PHP version="8.0.0" level="required">
4136
      <RESTRICT function="restrict_php_version_83" message="unsupportedphpversion83" />
4137
    </PHP>
4138
    <PCREUNICODE level="optional">
4139
      <FEEDBACK>
4140
        <ON_CHECK message="pcreunicodewarning" />
4141
      </FEEDBACK>
4142
    </PCREUNICODE>
4143
    <PHP_EXTENSIONS>
4144
      <PHP_EXTENSION name="iconv" level="required">
4145
        <FEEDBACK>
4146
          <ON_ERROR message="iconvrequired" />
4147
        </FEEDBACK>
4148
      </PHP_EXTENSION>
4149
      <PHP_EXTENSION name="mbstring" level="required">
4150
        <FEEDBACK>
4151
          <ON_ERROR message="mbstringrequired" />
4152
        </FEEDBACK>
4153
      </PHP_EXTENSION>
4154
      <PHP_EXTENSION name="curl" level="required">
4155
        <FEEDBACK>
4156
          <ON_ERROR message="curlrequired" />
4157
        </FEEDBACK>
4158
      </PHP_EXTENSION>
4159
      <PHP_EXTENSION name="openssl" level="required">
4160
        <FEEDBACK>
4161
          <ON_ERROR message="opensslrequired" />
4162
        </FEEDBACK>
4163
      </PHP_EXTENSION>
4164
      <PHP_EXTENSION name="tokenizer" level="optional">
4165
        <FEEDBACK>
4166
          <ON_CHECK message="tokenizerrecommended" />
4167
        </FEEDBACK>
4168
      </PHP_EXTENSION>
4169
      <PHP_EXTENSION name="soap" level="optional">
4170
        <FEEDBACK>
4171
          <ON_CHECK message="soaprecommended" />
4172
        </FEEDBACK>
4173
      </PHP_EXTENSION>
4174
      <PHP_EXTENSION name="ctype" level="required">
4175
        <FEEDBACK>
4176
          <ON_ERROR message="ctyperequired" />
4177
        </FEEDBACK>
4178
      </PHP_EXTENSION>
4179
      <PHP_EXTENSION name="zip" level="required">
4180
        <FEEDBACK>
4181
          <ON_ERROR message="ziprequired" />
4182
        </FEEDBACK>
4183
      </PHP_EXTENSION>
4184
      <PHP_EXTENSION name="zlib" level="required">
4185
      </PHP_EXTENSION>
4186
      <PHP_EXTENSION name="gd" level="required">
4187
        <FEEDBACK>
4188
          <ON_ERROR message="gdrequired" />
4189
        </FEEDBACK>
4190
      </PHP_EXTENSION>
4191
      <PHP_EXTENSION name="simplexml" level="required">
4192
        <FEEDBACK>
4193
          <ON_ERROR message="simplexmlrequired" />
4194
        </FEEDBACK>
4195
      </PHP_EXTENSION>
4196
      <PHP_EXTENSION name="spl" level="required">
4197
        <FEEDBACK>
4198
          <ON_ERROR message="splrequired" />
4199
        </FEEDBACK>
4200
      </PHP_EXTENSION>
4201
      <PHP_EXTENSION name="pcre" level="required">
4202
      </PHP_EXTENSION>
4203
      <PHP_EXTENSION name="dom" level="required">
4204
      </PHP_EXTENSION>
4205
      <PHP_EXTENSION name="xml" level="required">
4206
      </PHP_EXTENSION>
4207
      <PHP_EXTENSION name="xmlreader" level="required">
4208
      </PHP_EXTENSION>
4209
      <PHP_EXTENSION name="intl" level="required">
4210
        <FEEDBACK>
4211
          <ON_ERROR message="intlrequired" />
4212
        </FEEDBACK>
4213
      </PHP_EXTENSION>
4214
      <PHP_EXTENSION name="json" level="required">
4215
      </PHP_EXTENSION>
4216
      <PHP_EXTENSION name="hash" level="required"/>
4217
      <PHP_EXTENSION name="fileinfo" level="required"/>
4218
      <PHP_EXTENSION name="sodium" level="required"/>
4219
      <PHP_EXTENSION name="exif" level="optional"/>
4220
    </PHP_EXTENSIONS>
4221
    <PHP_SETTINGS>
4222
      <PHP_SETTING name="memory_limit" value="96M" level="required">
4223
        <FEEDBACK>
4224
          <ON_ERROR message="settingmemorylimit" />
4225
        </FEEDBACK>
4226
      </PHP_SETTING>
4227
      <PHP_SETTING name="file_uploads" value="1" level="optional">
4228
        <FEEDBACK>
4229
          <ON_CHECK message="settingfileuploads" />
4230
        </FEEDBACK>
4231
      </PHP_SETTING>
4232
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
4233
        <FEEDBACK>
4234
          <ON_CHECK message="opcacherecommended" />
4235
        </FEEDBACK>
4236
      </PHP_SETTING>
4237
    </PHP_SETTINGS>
4238
    <CUSTOM_CHECKS>
4239
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
4240
        <FEEDBACK>
4241
          <ON_ERROR message="unsupporteddbstorageengine" />
4242
        </FEEDBACK>
4243
      </CUSTOM_CHECK>
4244
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
4245
        <FEEDBACK>
4246
          <ON_ERROR message="quizattemptsupgradedmessage" />
4247
        </FEEDBACK>
4248
      </CUSTOM_CHECK>
4249
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
4250
        <FEEDBACK>
4251
          <ON_CHECK message="slashargumentswarning" />
4252
        </FEEDBACK>
4253
      </CUSTOM_CHECK>
4254
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
4255
        <FEEDBACK>
4256
          <ON_CHECK message="unsupporteddbtablerowformat" />
4257
        </FEEDBACK>
4258
      </CUSTOM_CHECK>
4259
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
4260
        <FEEDBACK>
4261
          <ON_CHECK message="unoconvwarning" />
4262
        </FEEDBACK>
4263
      </CUSTOM_CHECK>
4264
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
4265
        <FEEDBACK>
4266
          <ON_CHECK message="libcurlwarning" />
4267
        </FEEDBACK>
4268
      </CUSTOM_CHECK>
4269
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
4270
        <FEEDBACK>
4271
          <ON_ERROR message="unsupporteddbfileformat" />
4272
        </FEEDBACK>
4273
      </CUSTOM_CHECK>
4274
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
4275
        <FEEDBACK>
4276
          <ON_ERROR message="unsupporteddbfilepertable" />
4277
        </FEEDBACK>
4278
      </CUSTOM_CHECK>
4279
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
4280
        <FEEDBACK>
4281
          <ON_ERROR message="unsupporteddblargeprefix" />
4282
        </FEEDBACK>
4283
      </CUSTOM_CHECK>
4284
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
4285
        <FEEDBACK>
4286
          <ON_CHECK message="ishttpswarning" />
4287
        </FEEDBACK>
4288
      </CUSTOM_CHECK>
4289
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
4290
        <FEEDBACK>
4291
          <ON_CHECK message="incompleteunicodesupport" />
4292
        </FEEDBACK>
4293
      </CUSTOM_CHECK>
4294
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
4295
        <FEEDBACK>
4296
          <ON_ERROR message="sixtyfourbitsrequired" />
4297
        </FEEDBACK>
4298
      </CUSTOM_CHECK>
4299
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
4300
      </CUSTOM_CHECK>
4301
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
4302
        <FEEDBACK>
4303
          <ON_CHECK message="iscustomadminwarnings" />
4304
        </FEEDBACK>
4305
      </CUSTOM_CHECK>
4306
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
4307
      </CUSTOM_CHECK>
4308
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
4309
      </CUSTOM_CHECK>
4310
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
4311
      </CUSTOM_CHECK>
4312
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
4313
      </CUSTOM_CHECK>
4314
    </CUSTOM_CHECKS>
4315
  </MOODLE>
4316
  <MOODLE version="4.4" requires="4.1.2">
4317
    <UNICODE level="required">
4318
      <FEEDBACK>
4319
        <ON_ERROR message="unicoderequired" />
4320
      </FEEDBACK>
4321
    </UNICODE>
4322
    <DATABASE level="required">
4323
      <VENDOR name="mariadb" version="10.6.7" />
4324
      <VENDOR name="mysql" version="8.0" />
4325
      <VENDOR name="postgres" version="13" />
4326
      <VENDOR name="mssql" version="14.0" />
4327
      <VENDOR name="oracle" version="19" />
4328
    </DATABASE>
4329
    <PHP version="8.1.0" level="required">
4330
    </PHP>
4331
    <PCREUNICODE level="optional">
4332
      <FEEDBACK>
4333
        <ON_CHECK message="pcreunicodewarning" />
4334
      </FEEDBACK>
4335
    </PCREUNICODE>
4336
    <PHP_EXTENSIONS>
4337
      <PHP_EXTENSION name="iconv" level="required">
4338
        <FEEDBACK>
4339
          <ON_ERROR message="iconvrequired" />
4340
        </FEEDBACK>
4341
      </PHP_EXTENSION>
4342
      <PHP_EXTENSION name="mbstring" level="required">
4343
        <FEEDBACK>
4344
          <ON_ERROR message="mbstringrequired" />
4345
        </FEEDBACK>
4346
      </PHP_EXTENSION>
4347
      <PHP_EXTENSION name="curl" level="required">
4348
        <FEEDBACK>
4349
          <ON_ERROR message="curlrequired" />
4350
        </FEEDBACK>
4351
      </PHP_EXTENSION>
4352
      <PHP_EXTENSION name="openssl" level="required">
4353
        <FEEDBACK>
4354
          <ON_ERROR message="opensslrequired" />
4355
        </FEEDBACK>
4356
      </PHP_EXTENSION>
4357
      <PHP_EXTENSION name="tokenizer" level="optional">
4358
        <FEEDBACK>
4359
          <ON_CHECK message="tokenizerrecommended" />
4360
        </FEEDBACK>
4361
      </PHP_EXTENSION>
4362
      <PHP_EXTENSION name="soap" level="optional">
4363
        <FEEDBACK>
4364
          <ON_CHECK message="soaprecommended" />
4365
        </FEEDBACK>
4366
      </PHP_EXTENSION>
4367
      <PHP_EXTENSION name="ctype" level="required">
4368
        <FEEDBACK>
4369
          <ON_ERROR message="ctyperequired" />
4370
        </FEEDBACK>
4371
      </PHP_EXTENSION>
4372
      <PHP_EXTENSION name="zip" level="required">
4373
        <FEEDBACK>
4374
          <ON_ERROR message="ziprequired" />
4375
        </FEEDBACK>
4376
      </PHP_EXTENSION>
4377
      <PHP_EXTENSION name="zlib" level="required">
4378
      </PHP_EXTENSION>
4379
      <PHP_EXTENSION name="gd" level="required">
4380
        <FEEDBACK>
4381
          <ON_ERROR message="gdrequired" />
4382
        </FEEDBACK>
4383
      </PHP_EXTENSION>
4384
      <PHP_EXTENSION name="simplexml" level="required">
4385
        <FEEDBACK>
4386
          <ON_ERROR message="simplexmlrequired" />
4387
        </FEEDBACK>
4388
      </PHP_EXTENSION>
4389
      <PHP_EXTENSION name="spl" level="required">
4390
        <FEEDBACK>
4391
          <ON_ERROR message="splrequired" />
4392
        </FEEDBACK>
4393
      </PHP_EXTENSION>
4394
      <PHP_EXTENSION name="pcre" level="required">
4395
      </PHP_EXTENSION>
4396
      <PHP_EXTENSION name="dom" level="required">
4397
      </PHP_EXTENSION>
4398
      <PHP_EXTENSION name="xml" level="required">
4399
      </PHP_EXTENSION>
4400
      <PHP_EXTENSION name="xmlreader" level="required">
4401
      </PHP_EXTENSION>
4402
      <PHP_EXTENSION name="intl" level="required">
4403
        <FEEDBACK>
4404
          <ON_ERROR message="intlrequired" />
4405
        </FEEDBACK>
4406
      </PHP_EXTENSION>
4407
      <PHP_EXTENSION name="json" level="required">
4408
      </PHP_EXTENSION>
4409
      <PHP_EXTENSION name="hash" level="required"/>
4410
      <PHP_EXTENSION name="fileinfo" level="required"/>
4411
      <PHP_EXTENSION name="sodium" level="required"/>
4412
      <PHP_EXTENSION name="exif" level="optional"/>
4413
    </PHP_EXTENSIONS>
4414
    <PHP_SETTINGS>
4415
      <PHP_SETTING name="memory_limit" value="96M" level="required">
4416
        <FEEDBACK>
4417
          <ON_ERROR message="settingmemorylimit" />
4418
        </FEEDBACK>
4419
      </PHP_SETTING>
4420
      <PHP_SETTING name="file_uploads" value="1" level="optional">
4421
        <FEEDBACK>
4422
          <ON_CHECK message="settingfileuploads" />
4423
        </FEEDBACK>
4424
      </PHP_SETTING>
4425
      <PHP_SETTING name="opcache.enable" value="1" level="optional">
4426
        <FEEDBACK>
4427
          <ON_CHECK message="opcacherecommended" />
4428
        </FEEDBACK>
4429
      </PHP_SETTING>
4430
    </PHP_SETTINGS>
4431
    <CUSTOM_CHECKS>
4432
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
4433
        <FEEDBACK>
4434
          <ON_ERROR message="unsupporteddbstorageengine" />
4435
        </FEEDBACK>
4436
      </CUSTOM_CHECK>
4437
      <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
4438
        <FEEDBACK>
4439
          <ON_ERROR message="quizattemptsupgradedmessage" />
4440
        </FEEDBACK>
4441
      </CUSTOM_CHECK>
4442
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
4443
        <FEEDBACK>
4444
          <ON_CHECK message="slashargumentswarning" />
4445
        </FEEDBACK>
4446
      </CUSTOM_CHECK>
4447
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
4448
        <FEEDBACK>
4449
          <ON_CHECK message="unsupporteddbtablerowformat" />
4450
        </FEEDBACK>
4451
      </CUSTOM_CHECK>
4452
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
4453
        <FEEDBACK>
4454
          <ON_CHECK message="unoconvwarning" />
4455
        </FEEDBACK>
4456
      </CUSTOM_CHECK>
4457
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
4458
        <FEEDBACK>
4459
          <ON_CHECK message="libcurlwarning" />
4460
        </FEEDBACK>
4461
      </CUSTOM_CHECK>
4462
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
4463
        <FEEDBACK>
4464
          <ON_ERROR message="unsupporteddbfileformat" />
4465
        </FEEDBACK>
4466
      </CUSTOM_CHECK>
4467
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
4468
        <FEEDBACK>
4469
          <ON_ERROR message="unsupporteddbfilepertable" />
4470
        </FEEDBACK>
4471
      </CUSTOM_CHECK>
4472
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
4473
        <FEEDBACK>
4474
          <ON_ERROR message="unsupporteddblargeprefix" />
4475
        </FEEDBACK>
4476
      </CUSTOM_CHECK>
4477
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
4478
        <FEEDBACK>
4479
          <ON_CHECK message="ishttpswarning" />
4480
        </FEEDBACK>
4481
      </CUSTOM_CHECK>
4482
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
4483
        <FEEDBACK>
4484
          <ON_CHECK message="incompleteunicodesupport" />
4485
        </FEEDBACK>
4486
      </CUSTOM_CHECK>
4487
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
4488
        <FEEDBACK>
4489
          <ON_ERROR message="sixtyfourbitsrequired" />
4490
        </FEEDBACK>
4491
      </CUSTOM_CHECK>
4492
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
4493
      </CUSTOM_CHECK>
4494
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
4495
        <FEEDBACK>
4496
          <ON_CHECK message="iscustomadminwarnings" />
4497
        </FEEDBACK>
4498
      </CUSTOM_CHECK>
4499
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
4500
      </CUSTOM_CHECK>
4501
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
4502
      </CUSTOM_CHECK>
4503
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
4504
      </CUSTOM_CHECK>
4505
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
4506
      </CUSTOM_CHECK>
4507
      <CUSTOM_CHECK file="lib/upgradelib.php" function="check_async_backup" level="recommended">
4508
      </CUSTOM_CHECK>
4509
    </CUSTOM_CHECKS>
4510
  </MOODLE>
4511
</COMPATIBILITY_MATRIX>