Moodle release 3.0.3
[moodle.git] / admin / environment.xml
blob43bc5e48a8575ac7904002528ad2979cfc390e7c
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_CHECKS>
1149   </MOODLE>
1150   <MOODLE version="2.8" requires="2.2">
1151     <UNICODE level="required">
1152       <FEEDBACK>
1153         <ON_ERROR message="unicoderequired" />
1154       </FEEDBACK>
1155     </UNICODE>
1156     <DATABASE level="required">
1157       <VENDOR name="mariadb" version="5.5.31" />
1158       <VENDOR name="mysql" version="5.5.31" />
1159       <VENDOR name="postgres" version="9.1" />
1160       <VENDOR name="mssql" version="10.0" />
1161       <VENDOR name="oracle" version="10.2" />
1162     </DATABASE>
1163     <PHP version="5.4.4" level="required">
1164       <RESTRICT function="restrict_php_version_7" message="unsupportedphpversion7" />
1165     </PHP>
1166     <PCREUNICODE level="optional">
1167       <FEEDBACK>
1168         <ON_CHECK message="pcreunicodewarning" />
1169       </FEEDBACK>
1170     </PCREUNICODE>
1171     <PHP_EXTENSIONS>
1172       <PHP_EXTENSION name="iconv" level="required">
1173         <FEEDBACK>
1174           <ON_ERROR message="iconvrequired" />
1175         </FEEDBACK>
1176       </PHP_EXTENSION>
1177       <PHP_EXTENSION name="mbstring" level="optional">
1178         <FEEDBACK>
1179           <ON_CHECK message="mbstringrecommended" />
1180         </FEEDBACK>
1181       </PHP_EXTENSION>
1182       <PHP_EXTENSION name="curl" level="required">
1183         <FEEDBACK>
1184           <ON_ERROR message="curlrequired" />
1185         </FEEDBACK>
1186       </PHP_EXTENSION>
1187       <PHP_EXTENSION name="openssl" level="optional">
1188         <FEEDBACK>
1189           <ON_CHECK message="opensslrecommended" />
1190         </FEEDBACK>
1191       </PHP_EXTENSION>
1192       <PHP_EXTENSION name="tokenizer" level="optional">
1193         <FEEDBACK>
1194           <ON_CHECK message="tokenizerrecommended" />
1195         </FEEDBACK>
1196       </PHP_EXTENSION>
1197       <PHP_EXTENSION name="xmlrpc" level="optional">
1198         <FEEDBACK>
1199           <ON_CHECK message="xmlrpcrecommended" />
1200         </FEEDBACK>
1201       </PHP_EXTENSION>
1202       <PHP_EXTENSION name="soap" level="optional">
1203         <FEEDBACK>
1204           <ON_CHECK message="soaprecommended" />
1205         </FEEDBACK>
1206       </PHP_EXTENSION>
1207       <PHP_EXTENSION name="ctype" level="required">
1208         <FEEDBACK>
1209           <ON_ERROR message="ctyperequired" />
1210         </FEEDBACK>
1211       </PHP_EXTENSION>
1212       <PHP_EXTENSION name="zip" level="required">
1213         <FEEDBACK>
1214           <ON_ERROR message="ziprequired" />
1215         </FEEDBACK>
1216       </PHP_EXTENSION>
1217       <PHP_EXTENSION name="zlib" level="required">
1218       </PHP_EXTENSION>
1219       <PHP_EXTENSION name="gd" level="required">
1220         <FEEDBACK>
1221           <ON_ERROR message="gdrequired" />
1222         </FEEDBACK>
1223       </PHP_EXTENSION>
1224       <PHP_EXTENSION name="simplexml" level="required">
1225         <FEEDBACK>
1226           <ON_ERROR message="simplexmlrequired" />
1227         </FEEDBACK>
1228       </PHP_EXTENSION>
1229       <PHP_EXTENSION name="spl" level="required">
1230         <FEEDBACK>
1231           <ON_ERROR message="splrequired" />
1232         </FEEDBACK>
1233       </PHP_EXTENSION>
1234       <PHP_EXTENSION name="pcre" level="required">
1235       </PHP_EXTENSION>
1236       <PHP_EXTENSION name="dom" level="required">
1237       </PHP_EXTENSION>
1238       <PHP_EXTENSION name="xml" level="required">
1239       </PHP_EXTENSION>
1240       <PHP_EXTENSION name="intl" level="optional">
1241         <FEEDBACK>
1242           <ON_CHECK message="intlrecommended" />
1243         </FEEDBACK>
1244       </PHP_EXTENSION>
1245       <PHP_EXTENSION name="json" level="required">
1246       </PHP_EXTENSION>
1247       <PHP_EXTENSION name="hash" level="required"/>
1248     </PHP_EXTENSIONS>
1249     <PHP_SETTINGS>
1250       <PHP_SETTING name="memory_limit" value="96M" level="required">
1251         <FEEDBACK>
1252           <ON_ERROR message="settingmemorylimit" />
1253         </FEEDBACK>
1254       </PHP_SETTING>
1255       <PHP_SETTING name="file_uploads" value="1" level="optional">
1256         <FEEDBACK>
1257           <ON_CHECK message="settingfileuploads" />
1258         </FEEDBACK>
1259       </PHP_SETTING>
1260       <PHP_SETTING name="opcache.enable" value="1" level="optional">
1261         <FEEDBACK>
1262           <ON_CHECK message="opcacherecommended" />
1263         </FEEDBACK>
1264       </PHP_SETTING>
1265     </PHP_SETTINGS>
1266     <CUSTOM_CHECKS>
1267       <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1268         <FEEDBACK>
1269           <ON_ERROR message="quizattemptsupgradedmessage" />
1270         </FEEDBACK>
1271       </CUSTOM_CHECK>
1272       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1273         <FEEDBACK>
1274           <ON_CHECK message="slashargumentswarning" />
1275         </FEEDBACK>
1276       </CUSTOM_CHECK>
1277       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1278         <FEEDBACK>
1279           <ON_CHECK message="unsupporteddbtablerowformat" />
1280         </FEEDBACK>
1281       </CUSTOM_CHECK>
1282     </CUSTOM_CHECKS>
1283   </MOODLE>
1284   <MOODLE version="2.9" requires="2.2">
1285     <UNICODE level="required">
1286       <FEEDBACK>
1287         <ON_ERROR message="unicoderequired" />
1288       </FEEDBACK>
1289     </UNICODE>
1290     <DATABASE level="required">
1291       <VENDOR name="mariadb" version="5.5.31" />
1292       <VENDOR name="mysql" version="5.5.31" />
1293       <VENDOR name="postgres" version="9.1" />
1294       <VENDOR name="mssql" version="10.0" />
1295       <VENDOR name="oracle" version="10.2" />
1296     </DATABASE>
1297     <PHP version="5.4.4" level="required">
1298       <RESTRICT function="restrict_php_version_7" message="unsupportedphpversion7" />
1299     </PHP>
1300     <PCREUNICODE level="optional">
1301       <FEEDBACK>
1302         <ON_CHECK message="pcreunicodewarning" />
1303       </FEEDBACK>
1304     </PCREUNICODE>
1305     <PHP_EXTENSIONS>
1306       <PHP_EXTENSION name="iconv" level="required">
1307         <FEEDBACK>
1308           <ON_ERROR message="iconvrequired" />
1309         </FEEDBACK>
1310       </PHP_EXTENSION>
1311       <PHP_EXTENSION name="mbstring" level="optional">
1312         <FEEDBACK>
1313           <ON_CHECK message="mbstringrecommended" />
1314         </FEEDBACK>
1315       </PHP_EXTENSION>
1316       <PHP_EXTENSION name="curl" level="required">
1317         <FEEDBACK>
1318           <ON_ERROR message="curlrequired" />
1319         </FEEDBACK>
1320       </PHP_EXTENSION>
1321       <PHP_EXTENSION name="openssl" level="optional">
1322         <FEEDBACK>
1323           <ON_CHECK message="opensslrecommended" />
1324         </FEEDBACK>
1325       </PHP_EXTENSION>
1326       <PHP_EXTENSION name="tokenizer" level="optional">
1327         <FEEDBACK>
1328           <ON_CHECK message="tokenizerrecommended" />
1329         </FEEDBACK>
1330       </PHP_EXTENSION>
1331       <PHP_EXTENSION name="xmlrpc" level="optional">
1332         <FEEDBACK>
1333           <ON_CHECK message="xmlrpcrecommended" />
1334         </FEEDBACK>
1335       </PHP_EXTENSION>
1336       <PHP_EXTENSION name="soap" level="optional">
1337         <FEEDBACK>
1338           <ON_CHECK message="soaprecommended" />
1339         </FEEDBACK>
1340       </PHP_EXTENSION>
1341       <PHP_EXTENSION name="ctype" level="required">
1342         <FEEDBACK>
1343           <ON_ERROR message="ctyperequired" />
1344         </FEEDBACK>
1345       </PHP_EXTENSION>
1346       <PHP_EXTENSION name="zip" level="required">
1347         <FEEDBACK>
1348           <ON_ERROR message="ziprequired" />
1349         </FEEDBACK>
1350       </PHP_EXTENSION>
1351       <PHP_EXTENSION name="zlib" level="required">
1352       </PHP_EXTENSION>
1353       <PHP_EXTENSION name="gd" level="required">
1354         <FEEDBACK>
1355           <ON_ERROR message="gdrequired" />
1356         </FEEDBACK>
1357       </PHP_EXTENSION>
1358       <PHP_EXTENSION name="simplexml" level="required">
1359         <FEEDBACK>
1360           <ON_ERROR message="simplexmlrequired" />
1361         </FEEDBACK>
1362       </PHP_EXTENSION>
1363       <PHP_EXTENSION name="spl" level="required">
1364         <FEEDBACK>
1365           <ON_ERROR message="splrequired" />
1366         </FEEDBACK>
1367       </PHP_EXTENSION>
1368       <PHP_EXTENSION name="pcre" level="required">
1369       </PHP_EXTENSION>
1370       <PHP_EXTENSION name="dom" level="required">
1371       </PHP_EXTENSION>
1372       <PHP_EXTENSION name="xml" level="required">
1373       </PHP_EXTENSION>
1374       <PHP_EXTENSION name="intl" level="optional">
1375         <FEEDBACK>
1376           <ON_CHECK message="intlrecommended" />
1377         </FEEDBACK>
1378       </PHP_EXTENSION>
1379       <PHP_EXTENSION name="json" level="required">
1380       </PHP_EXTENSION>
1381       <PHP_EXTENSION name="hash" level="required"/>
1382     </PHP_EXTENSIONS>
1383     <PHP_SETTINGS>
1384       <PHP_SETTING name="memory_limit" value="96M" level="required">
1385         <FEEDBACK>
1386           <ON_ERROR message="settingmemorylimit" />
1387         </FEEDBACK>
1388       </PHP_SETTING>
1389       <PHP_SETTING name="file_uploads" value="1" level="optional">
1390         <FEEDBACK>
1391           <ON_CHECK message="settingfileuploads" />
1392         </FEEDBACK>
1393       </PHP_SETTING>
1394       <PHP_SETTING name="opcache.enable" value="1" level="optional">
1395         <FEEDBACK>
1396           <ON_CHECK message="opcacherecommended" />
1397         </FEEDBACK>
1398       </PHP_SETTING>
1399     </PHP_SETTINGS>
1400     <CUSTOM_CHECKS>
1401       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
1402         <FEEDBACK>
1403           <ON_ERROR message="unsupporteddbstorageengine" />
1404         </FEEDBACK>
1405       </CUSTOM_CHECK>
1406       <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1407         <FEEDBACK>
1408           <ON_ERROR message="quizattemptsupgradedmessage" />
1409         </FEEDBACK>
1410       </CUSTOM_CHECK>
1411       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1412         <FEEDBACK>
1413           <ON_CHECK message="slashargumentswarning" />
1414         </FEEDBACK>
1415       </CUSTOM_CHECK>
1416       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1417         <FEEDBACK>
1418           <ON_CHECK message="unsupporteddbtablerowformat" />
1419         </FEEDBACK>
1420       </CUSTOM_CHECK>
1421     </CUSTOM_CHECKS>
1422   </MOODLE>
1423   <MOODLE version="3.0" requires="2.2">
1424     <UNICODE level="required">
1425       <FEEDBACK>
1426         <ON_ERROR message="unicoderequired" />
1427       </FEEDBACK>
1428     </UNICODE>
1429     <DATABASE level="required">
1430       <VENDOR name="mariadb" version="5.5.31" />
1431       <VENDOR name="mysql" version="5.5.31" />
1432       <VENDOR name="postgres" version="9.1" />
1433       <VENDOR name="mssql" version="10.0" />
1434       <VENDOR name="oracle" version="10.2" />
1435     </DATABASE>
1436     <PHP version="5.4.4" level="required">
1437     </PHP>
1438     <PCREUNICODE level="optional">
1439       <FEEDBACK>
1440         <ON_CHECK message="pcreunicodewarning" />
1441       </FEEDBACK>
1442     </PCREUNICODE>
1443     <PHP_EXTENSIONS>
1444       <PHP_EXTENSION name="iconv" level="required">
1445         <FEEDBACK>
1446           <ON_ERROR message="iconvrequired" />
1447         </FEEDBACK>
1448       </PHP_EXTENSION>
1449       <PHP_EXTENSION name="mbstring" level="optional">
1450         <FEEDBACK>
1451           <ON_CHECK message="mbstringrecommended" />
1452         </FEEDBACK>
1453       </PHP_EXTENSION>
1454       <PHP_EXTENSION name="curl" level="required">
1455         <FEEDBACK>
1456           <ON_ERROR message="curlrequired" />
1457         </FEEDBACK>
1458       </PHP_EXTENSION>
1459       <PHP_EXTENSION name="openssl" level="optional">
1460         <FEEDBACK>
1461           <ON_CHECK message="opensslrecommended" />
1462         </FEEDBACK>
1463       </PHP_EXTENSION>
1464       <PHP_EXTENSION name="tokenizer" level="optional">
1465         <FEEDBACK>
1466           <ON_CHECK message="tokenizerrecommended" />
1467         </FEEDBACK>
1468       </PHP_EXTENSION>
1469       <PHP_EXTENSION name="xmlrpc" level="optional">
1470         <FEEDBACK>
1471           <ON_CHECK message="xmlrpcrecommended" />
1472         </FEEDBACK>
1473       </PHP_EXTENSION>
1474       <PHP_EXTENSION name="soap" level="optional">
1475         <FEEDBACK>
1476           <ON_CHECK message="soaprecommended" />
1477         </FEEDBACK>
1478       </PHP_EXTENSION>
1479       <PHP_EXTENSION name="ctype" level="required">
1480         <FEEDBACK>
1481           <ON_ERROR message="ctyperequired" />
1482         </FEEDBACK>
1483       </PHP_EXTENSION>
1484       <PHP_EXTENSION name="zip" level="required">
1485         <FEEDBACK>
1486           <ON_ERROR message="ziprequired" />
1487         </FEEDBACK>
1488       </PHP_EXTENSION>
1489       <PHP_EXTENSION name="zlib" level="required">
1490       </PHP_EXTENSION>
1491       <PHP_EXTENSION name="gd" level="required">
1492         <FEEDBACK>
1493           <ON_ERROR message="gdrequired" />
1494         </FEEDBACK>
1495       </PHP_EXTENSION>
1496       <PHP_EXTENSION name="simplexml" level="required">
1497         <FEEDBACK>
1498           <ON_ERROR message="simplexmlrequired" />
1499         </FEEDBACK>
1500       </PHP_EXTENSION>
1501       <PHP_EXTENSION name="spl" level="required">
1502         <FEEDBACK>
1503           <ON_ERROR message="splrequired" />
1504         </FEEDBACK>
1505       </PHP_EXTENSION>
1506       <PHP_EXTENSION name="pcre" level="required">
1507       </PHP_EXTENSION>
1508       <PHP_EXTENSION name="dom" level="required">
1509       </PHP_EXTENSION>
1510       <PHP_EXTENSION name="xml" level="required">
1511       </PHP_EXTENSION>
1512       <PHP_EXTENSION name="intl" level="optional">
1513         <FEEDBACK>
1514           <ON_CHECK message="intlrecommended" />
1515         </FEEDBACK>
1516       </PHP_EXTENSION>
1517       <PHP_EXTENSION name="json" level="required">
1518       </PHP_EXTENSION>
1519       <PHP_EXTENSION name="hash" level="required"/>
1520     </PHP_EXTENSIONS>
1521     <PHP_SETTINGS>
1522       <PHP_SETTING name="memory_limit" value="96M" level="required">
1523         <FEEDBACK>
1524           <ON_ERROR message="settingmemorylimit" />
1525         </FEEDBACK>
1526       </PHP_SETTING>
1527       <PHP_SETTING name="file_uploads" value="1" level="optional">
1528         <FEEDBACK>
1529           <ON_CHECK message="settingfileuploads" />
1530         </FEEDBACK>
1531       </PHP_SETTING>
1532       <PHP_SETTING name="opcache.enable" value="1" level="optional">
1533         <FEEDBACK>
1534           <ON_CHECK message="opcacherecommended" />
1535         </FEEDBACK>
1536       </PHP_SETTING>
1537     </PHP_SETTINGS>
1538     <CUSTOM_CHECKS>
1539       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
1540         <FEEDBACK>
1541           <ON_ERROR message="unsupporteddbstorageengine" />
1542         </FEEDBACK>
1543       </CUSTOM_CHECK>
1544       <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1545         <FEEDBACK>
1546           <ON_ERROR message="quizattemptsupgradedmessage" />
1547         </FEEDBACK>
1548       </CUSTOM_CHECK>
1549       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1550         <FEEDBACK>
1551           <ON_CHECK message="slashargumentswarning" />
1552         </FEEDBACK>
1553       </CUSTOM_CHECK>
1554       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1555         <FEEDBACK>
1556           <ON_CHECK message="unsupporteddbtablerowformat" />
1557         </FEEDBACK>
1558       </CUSTOM_CHECK>
1559     </CUSTOM_CHECKS>
1560   </MOODLE>
1561   <MOODLE version="3.1" requires="2.7">
1562     <UNICODE level="required">
1563       <FEEDBACK>
1564         <ON_ERROR message="unicoderequired" />
1565       </FEEDBACK>
1566     </UNICODE>
1567     <DATABASE level="required">
1568       <VENDOR name="mariadb" version="5.5.31" />
1569       <VENDOR name="mysql" version="5.5.31" />
1570       <VENDOR name="postgres" version="9.1" />
1571       <VENDOR name="mssql" version="10.0" />
1572       <VENDOR name="oracle" version="10.2" />
1573     </DATABASE>
1574     <PHP version="5.4.4" level="required">
1575     </PHP>
1576     <PCREUNICODE level="optional">
1577       <FEEDBACK>
1578         <ON_CHECK message="pcreunicodewarning" />
1579       </FEEDBACK>
1580     </PCREUNICODE>
1581     <PHP_EXTENSIONS>
1582       <PHP_EXTENSION name="iconv" level="required">
1583         <FEEDBACK>
1584           <ON_ERROR message="iconvrequired" />
1585         </FEEDBACK>
1586       </PHP_EXTENSION>
1587       <PHP_EXTENSION name="mbstring" level="optional">
1588         <FEEDBACK>
1589           <ON_CHECK message="mbstringrecommended" />
1590         </FEEDBACK>
1591       </PHP_EXTENSION>
1592       <PHP_EXTENSION name="curl" level="required">
1593         <FEEDBACK>
1594           <ON_ERROR message="curlrequired" />
1595         </FEEDBACK>
1596       </PHP_EXTENSION>
1597       <PHP_EXTENSION name="openssl" level="optional">
1598         <FEEDBACK>
1599           <ON_CHECK message="opensslrecommended" />
1600         </FEEDBACK>
1601       </PHP_EXTENSION>
1602       <PHP_EXTENSION name="tokenizer" level="optional">
1603         <FEEDBACK>
1604           <ON_CHECK message="tokenizerrecommended" />
1605         </FEEDBACK>
1606       </PHP_EXTENSION>
1607       <PHP_EXTENSION name="xmlrpc" level="optional">
1608         <FEEDBACK>
1609           <ON_CHECK message="xmlrpcrecommended" />
1610         </FEEDBACK>
1611       </PHP_EXTENSION>
1612       <PHP_EXTENSION name="soap" level="optional">
1613         <FEEDBACK>
1614           <ON_CHECK message="soaprecommended" />
1615         </FEEDBACK>
1616       </PHP_EXTENSION>
1617       <PHP_EXTENSION name="ctype" level="required">
1618         <FEEDBACK>
1619           <ON_ERROR message="ctyperequired" />
1620         </FEEDBACK>
1621       </PHP_EXTENSION>
1622       <PHP_EXTENSION name="zip" level="required">
1623         <FEEDBACK>
1624           <ON_ERROR message="ziprequired" />
1625         </FEEDBACK>
1626       </PHP_EXTENSION>
1627       <PHP_EXTENSION name="zlib" level="required">
1628       </PHP_EXTENSION>
1629       <PHP_EXTENSION name="gd" level="required">
1630         <FEEDBACK>
1631           <ON_ERROR message="gdrequired" />
1632         </FEEDBACK>
1633       </PHP_EXTENSION>
1634       <PHP_EXTENSION name="simplexml" level="required">
1635         <FEEDBACK>
1636           <ON_ERROR message="simplexmlrequired" />
1637         </FEEDBACK>
1638       </PHP_EXTENSION>
1639       <PHP_EXTENSION name="spl" level="required">
1640         <FEEDBACK>
1641           <ON_ERROR message="splrequired" />
1642         </FEEDBACK>
1643       </PHP_EXTENSION>
1644       <PHP_EXTENSION name="pcre" level="required">
1645       </PHP_EXTENSION>
1646       <PHP_EXTENSION name="dom" level="required">
1647       </PHP_EXTENSION>
1648       <PHP_EXTENSION name="xml" level="required">
1649       </PHP_EXTENSION>
1650       <PHP_EXTENSION name="intl" level="optional">
1651         <FEEDBACK>
1652           <ON_CHECK message="intlrecommended" />
1653         </FEEDBACK>
1654       </PHP_EXTENSION>
1655       <PHP_EXTENSION name="json" level="required">
1656       </PHP_EXTENSION>
1657       <PHP_EXTENSION name="hash" level="required"/>
1658     </PHP_EXTENSIONS>
1659     <PHP_SETTINGS>
1660       <PHP_SETTING name="memory_limit" value="96M" level="required">
1661         <FEEDBACK>
1662           <ON_ERROR message="settingmemorylimit" />
1663         </FEEDBACK>
1664       </PHP_SETTING>
1665       <PHP_SETTING name="file_uploads" value="1" level="optional">
1666         <FEEDBACK>
1667           <ON_CHECK message="settingfileuploads" />
1668         </FEEDBACK>
1669       </PHP_SETTING>
1670       <PHP_SETTING name="opcache.enable" value="1" level="optional">
1671         <FEEDBACK>
1672           <ON_CHECK message="opcacherecommended" />
1673         </FEEDBACK>
1674       </PHP_SETTING>
1675     </PHP_SETTINGS>
1676     <CUSTOM_CHECKS>
1677       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
1678         <FEEDBACK>
1679           <ON_ERROR message="unsupporteddbstorageengine" />
1680         </FEEDBACK>
1681       </CUSTOM_CHECK>
1682       <CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
1683         <FEEDBACK>
1684           <ON_ERROR message="quizattemptsupgradedmessage" />
1685         </FEEDBACK>
1686       </CUSTOM_CHECK>
1687       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
1688         <FEEDBACK>
1689           <ON_CHECK message="slashargumentswarning" />
1690         </FEEDBACK>
1691       </CUSTOM_CHECK>
1692       <CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
1693         <FEEDBACK>
1694           <ON_CHECK message="unsupporteddbtablerowformat" />
1695         </FEEDBACK>
1696       </CUSTOM_CHECK>
1697     </CUSTOM_CHECKS>
1698   </MOODLE>
1699 </COMPATIBILITY_MATRIX>