Compare commits
164 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 68b59f336b | |||
| dfd605320e | |||
| 8f6ba8afc4 | |||
| b41a94128a | |||
| 7365115cf3 | |||
| 5f85b35305 | |||
| ea2f42bde4 | |||
| 3dd8792045 | |||
| a335f9c4c0 | |||
| 6873ac11a0 | |||
| a022611e09 | |||
| 97a0132511 | |||
| 210429d952 | |||
| aeb7c0026d | |||
| 19c1651247 | |||
| f369450561 | |||
| b60fa84aad | |||
| 0c8852c98b | |||
| 0f44be2b7a | |||
| db729d9510 | |||
| e41fd189dd | |||
| 279df86c7f | |||
| 2e057f082d | |||
| 20c3619d77 | |||
| d21c67114f | |||
| d55a0b81d6 | |||
| 987e822c5e | |||
| 7ad3a22b79 | |||
| 0c638fda5c | |||
| caa2b2ce21 | |||
| afba820e1d | |||
| 1e59e03e60 | |||
| a155e8cb75 | |||
| 6aa1364030 | |||
| 691a2997b8 | |||
| bd5464547a | |||
| 90fc88b56d | |||
| bb7ebc0ee5 | |||
| 8555878283 | |||
| 5a04efc1eb | |||
| 352ddf9d42 | |||
| 20ad67d21d | |||
| 6e7597f569 | |||
| 1f2934b656 | |||
| 7bdf798d6a | |||
| fd1fb3e6db | |||
| e607001e7e | |||
| 844a59c301 | |||
| f10c2934aa | |||
| efe7f18200 | |||
| 0df8f503a3 | |||
| c4b911d645 | |||
| 524e1fa64e | |||
| 7f234acc6e | |||
| 1003775c7c | |||
| 025c532aa9 | |||
| b1c50364d0 | |||
| eac010fbb9 | |||
| c556416385 | |||
| 1f91c082c5 | |||
| 421358bc47 | |||
| 7b661b8d6f | |||
| 74780ef62b | |||
| a9223b49a0 | |||
| 50e3951acc | |||
| e4cac445c2 | |||
| 1dca8a6679 | |||
| 2f90c2a35d | |||
| 30ff131e71 | |||
| 10c38b2e34 | |||
| 636a752d11 | |||
| 909b8fe981 | |||
| 1e96000bb3 | |||
| ceb92a3553 | |||
| 9d235abdb4 | |||
| c9e518f483 | |||
| c9f765452f | |||
| 6dea9ae21e | |||
| b9ada50b92 | |||
| ff42789a76 | |||
| 4cb644cf24 | |||
| 867a3147ad | |||
| 26640d3831 | |||
| 24aa36db21 | |||
| 0cd2c36605 | |||
| ea6ae74019 | |||
| 99440d3db7 | |||
| 89f8d4adde | |||
| 7b11b53d51 | |||
| dd815d254f | |||
| aa0b2c74dd | |||
| 06b76ab9c8 | |||
| 90ec922213 | |||
| 54ff8c77bf | |||
| 9c85ac5d89 | |||
| 4a087d2701 | |||
| 79c7162899 | |||
| fd12e12d8c | |||
| 19a759649c | |||
| 39fbf414ad | |||
| 6299c142c4 | |||
| 17fccfc78b | |||
| 7c073af175 | |||
| 3b114369bc | |||
| 1641091ae7 | |||
| 6b391174e4 | |||
| 5c2cae3d9c | |||
| 8eae354c0f | |||
| 8a1ebcf100 | |||
| c8289ad180 | |||
| a637d77826 | |||
| 00302ce7a2 | |||
| 9617c3a660 | |||
| 0ccc7a8a5c | |||
| 8d84ee97da | |||
| c8de0b91a0 | |||
| 841c9314ba | |||
| bcab22a63b | |||
| 3fba5b6826 | |||
| 67db9af9db | |||
| 6b34db6b00 | |||
| 36d683c805 | |||
| 6fe370eef9 | |||
| 11d0c68d56 | |||
| 0cd5cf60de | |||
| e8cabad431 | |||
| 343f4e9d56 | |||
| 6ff8d9bb2c | |||
| 53949e65a7 | |||
| 946bef37bf | |||
| ed9ee5743d | |||
| 115b696f30 | |||
| 8f0bd4fb15 | |||
| 4071cbebf5 | |||
| 3b9f40920a | |||
| 866de1e3ff | |||
| 60c93464b5 | |||
| 0c081d2468 | |||
| 550c4bdf6e | |||
| 54fc0f1b28 | |||
| 6522f66dd7 | |||
| e7691f15b9 | |||
| fe1d7d118e | |||
| 7e2f393054 | |||
| d09dc52b0a | |||
| c192c5e4e3 | |||
| 3ff4fc8e45 | |||
| 6e19850f6e | |||
| 5d30474242 | |||
| 1b972c31ac | |||
| 29b6ac23e9 | |||
| 44b6ffb68c | |||
| 79abbd9adc | |||
| 270524858e | |||
| 60f9a401a9 | |||
| ac0b8201a9 | |||
| be27fc0fe3 | |||
| ebd104448f | |||
| c69f425a7a | |||
| e38e718441 | |||
| 0eac5cf446 | |||
| fdf2abf871 | |||
| 87173da483 | |||
| 6959abc816 |
@@ -2618,4 +2618,185 @@
|
||||
</CUSTOM_CHECK>
|
||||
</CUSTOM_CHECKS>
|
||||
</MOODLE>
|
||||
<MOODLE version="3.7" requires="3.2">
|
||||
<UNICODE level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="unicoderequired" />
|
||||
</FEEDBACK>
|
||||
</UNICODE>
|
||||
<DATABASE level="required">
|
||||
<VENDOR name="mariadb" version="5.5.31" />
|
||||
<VENDOR name="mysql" version="5.6" />
|
||||
<VENDOR name="postgres" version="9.4" />
|
||||
<VENDOR name="mssql" version="10.0" />
|
||||
<VENDOR name="oracle" version="11.2" />
|
||||
</DATABASE>
|
||||
<PHP version="7.1.0" level="required">
|
||||
</PHP>
|
||||
<PCREUNICODE level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="pcreunicodewarning" />
|
||||
</FEEDBACK>
|
||||
</PCREUNICODE>
|
||||
<PHP_EXTENSIONS>
|
||||
<PHP_EXTENSION name="iconv" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="iconvrequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="mbstring" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="mbstringrecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="curl" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="curlrequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="openssl" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="opensslrequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="tokenizer" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="tokenizerrecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="xmlrpc" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="xmlrpcrecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="soap" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="soaprecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="ctype" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="ctyperequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="zip" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="ziprequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="zlib" level="required">
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="gd" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="gdrequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="simplexml" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="simplexmlrequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="spl" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="splrequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="pcre" level="required">
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="dom" level="required">
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="xml" level="required">
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="xmlreader" level="required">
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="intl" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="intlrequired" />
|
||||
</FEEDBACK>
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="json" level="required">
|
||||
</PHP_EXTENSION>
|
||||
<PHP_EXTENSION name="hash" level="required"/>
|
||||
<PHP_EXTENSION name="fileinfo" level="required"/>
|
||||
</PHP_EXTENSIONS>
|
||||
<PHP_SETTINGS>
|
||||
<PHP_SETTING name="memory_limit" value="96M" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="settingmemorylimit" />
|
||||
</FEEDBACK>
|
||||
</PHP_SETTING>
|
||||
<PHP_SETTING name="file_uploads" value="1" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="settingfileuploads" />
|
||||
</FEEDBACK>
|
||||
</PHP_SETTING>
|
||||
<PHP_SETTING name="opcache.enable" value="1" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="opcacherecommended" />
|
||||
</FEEDBACK>
|
||||
</PHP_SETTING>
|
||||
</PHP_SETTINGS>
|
||||
<CUSTOM_CHECKS>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="unsupporteddbstorageengine" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="quizattemptsupgradedmessage" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="slashargumentswarning" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="unsupporteddbtablerowformat" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="unoconvwarning" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="libcurlwarning" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="unsupporteddbfileformat" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="unsupporteddbfilepertable" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
|
||||
<FEEDBACK>
|
||||
<ON_ERROR message="unsupporteddblargeprefix" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="ishttpswarning" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="incompleteunicodesupport" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="sixtyfourbitswarning" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
</CUSTOM_CHECKS>
|
||||
</MOODLE>
|
||||
</COMPATIBILITY_MATRIX>
|
||||
|
||||
@@ -21,8 +21,28 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
|
||||
0)
|
||||
);
|
||||
|
||||
$options = array(DAYSECS=>new lang_string('secondstotime86400'), WEEKSECS=>new lang_string('secondstotime604800'), 2620800=>new lang_string('nummonths', 'moodle', 1), 15724800=>new lang_string('nummonths', 'moodle', 6),0=>new lang_string('never'));
|
||||
$optionalsubsystems->add(new admin_setting_configselect('messagingdeletereadnotificationsdelay', new lang_string('messagingdeletereadnotificationsdelay', 'admin'), new lang_string('configmessagingdeletereadnotificationsdelay', 'admin'), 604800, $options));
|
||||
$options = array(
|
||||
DAYSECS => new lang_string('secondstotime86400'),
|
||||
WEEKSECS => new lang_string('secondstotime604800'),
|
||||
2620800 => new lang_string('nummonths', 'moodle', 1),
|
||||
7862400 => new lang_string('nummonths', 'moodle', 3),
|
||||
15724800 => new lang_string('nummonths', 'moodle', 6),
|
||||
0 => new lang_string('never')
|
||||
);
|
||||
$optionalsubsystems->add(new admin_setting_configselect(
|
||||
'messagingdeletereadnotificationsdelay',
|
||||
new lang_string('messagingdeletereadnotificationsdelay', 'admin'),
|
||||
new lang_string('configmessagingdeletereadnotificationsdelay', 'admin'),
|
||||
604800,
|
||||
$options)
|
||||
);
|
||||
$optionalsubsystems->add(new admin_setting_configselect(
|
||||
'messagingdeleteallnotificationsdelay',
|
||||
new lang_string('messagingdeleteallnotificationsdelay', 'admin'),
|
||||
new lang_string('configmessagingdeleteallnotificationsdelay', 'admin'),
|
||||
2620800,
|
||||
$options)
|
||||
);
|
||||
|
||||
$optionalsubsystems->add(new admin_setting_configcheckbox('messagingallowemailoverride', new lang_string('messagingallowemailoverride', 'admin'), new lang_string('configmessagingallowemailoverride','admin'), 0));
|
||||
|
||||
|
||||
@@ -41,5 +41,8 @@ function xmldb_tool_customlang_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -313,5 +313,8 @@ function xmldb_tool_dataprivacy_upgrade($oldversion) {
|
||||
upgrade_plugin_savepoint(true, 2018112500, 'tool', 'dataprivacy');
|
||||
}
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -45,5 +45,8 @@ function xmldb_tool_log_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -39,5 +39,8 @@ function xmldb_logstore_database_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -39,5 +39,8 @@ function xmldb_logstore_standard_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -79,5 +79,8 @@ function xmldb_tool_monitor_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -60,5 +60,8 @@ function xmldb_tool_policy_upgrade($oldversion) {
|
||||
upgrade_plugin_savepoint(true, 2018091800, 'tool', 'policy');
|
||||
}
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ $string['disabled'] = 'Disabled';
|
||||
$string['disabled_help'] = 'Disabled scheduled tasks are not executed from cron, however they can still be executed manually via the CLI tool.';
|
||||
$string['edittaskschedule'] = 'Edit task schedule: {$a}';
|
||||
$string['enablerunnow'] = 'Allow \'Run now\' for scheduled tasks';
|
||||
$string['enablerunnow_desc'] = 'Allows administrators to run a single scheduled task immediately, rather than waiting for it to run as scheduled. The task runs on the web server, so some sites may wish to disable this feature to avoid potential performance issues.';
|
||||
$string['enablerunnow_desc'] = 'Allows administrators to run a single scheduled task immediately, rather than waiting for it to run as scheduled. The feature requires \'Path to PHP CLI\' (pathtophp) to be set in System paths. The task runs on the web server, so you may wish to disable this feature to avoid potential performance issues.';
|
||||
$string['faildelay'] = 'Fail delay';
|
||||
$string['lastruntime'] = 'Last run';
|
||||
$string['nextruntime'] = 'Next run';
|
||||
|
||||
@@ -54,5 +54,8 @@ function xmldb_tool_usertours_upgrade($oldversion) {
|
||||
upgrade_plugin_savepoint(true, 2018113002, 'tool', 'usertours');
|
||||
}
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -215,8 +215,8 @@ $string['yesmissingindexesfound'] = '<p>Some missing indexes have been found in
|
||||
<p>After doing that, it\'s highly recommended to execute this utility again to check that no more missing indexes are found.</p>';
|
||||
$string['yeswrongdefaultsfound'] = '<p>Some inconsistent defaults have been found in your DB. Here are their details and the needed SQL statements to be executed with your favourite SQL interface to fix them all. Remember to backup your data first!</p>
|
||||
<p>After doing that, it\'s highly recommended to execute this utility again to check that no more inconsistent defaults are found.</p>';
|
||||
$string['yeswrongintsfound'] = '<p>Some wrong integers have been found in your DB. Here are their details and the needed SQL statements to be executed with your favourite SQL interface to create all them. Remember to backup your data first!</p>
|
||||
<p>After doing that, it\'s highly recommended to execute this utility again to check that no more wrong integers are found.</p>';
|
||||
$string['yeswrongintsfound'] = '<p>Some wrong integers have been found in your DB. Here are their details and the needed SQL statements to be executed with your favourite SQL interface to fix them. Remember to backup your data first!</p>
|
||||
<p>After fixing them, it is highly recommended to execute this utility again to check that no more wrong integers are found.</p>';
|
||||
$string['yeswrongoraclesemanticsfound'] = '<p>Some Oracle columns using BYTE semantics have been found in your DB. Here are their details and the needed SQL statements to be executed with your favourite SQL interface to create all them. Remember to backup your data first!</p>
|
||||
<p>After doing that, it\'s highly recommended to execute this utility again to check that no more wrong semantics are found.</p>';
|
||||
$string['privacy:metadata'] = 'The XMLDB editor plugin does not store any personal data.';
|
||||
|
||||
@@ -51,5 +51,8 @@ function xmldb_auth_cas_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -51,5 +51,8 @@ function xmldb_auth_db_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -51,5 +51,8 @@ function xmldb_auth_email_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+21
-14
@@ -698,8 +698,8 @@ class auth_plugin_ldap extends auth_plugin_base {
|
||||
array_push($contexts, $this->config->create_context);
|
||||
}
|
||||
|
||||
$ldap_pagedresults = ldap_paged_results_supported($this->config->ldap_version, $ldapconnection);
|
||||
$ldap_cookie = '';
|
||||
$ldappagedresults = ldap_paged_results_supported($this->config->ldap_version, $ldapconnection);
|
||||
$ldapcookie = '';
|
||||
foreach ($contexts as $context) {
|
||||
$context = trim($context);
|
||||
if (empty($context)) {
|
||||
@@ -707,23 +707,28 @@ class auth_plugin_ldap extends auth_plugin_base {
|
||||
}
|
||||
|
||||
do {
|
||||
if ($ldap_pagedresults) {
|
||||
ldap_control_paged_result($ldapconnection, $this->config->pagesize, true, $ldap_cookie);
|
||||
if ($ldappagedresults) {
|
||||
ldap_control_paged_result($ldapconnection, $this->config->pagesize, true, $ldapcookie);
|
||||
}
|
||||
if ($this->config->search_sub) {
|
||||
// Use ldap_search to find first user from subtree.
|
||||
$ldap_result = ldap_search($ldapconnection, $context, $filter, array($this->config->user_attribute));
|
||||
$ldapresult = ldap_search($ldapconnection, $context, $filter, array($this->config->user_attribute));
|
||||
} else {
|
||||
// Search only in this context.
|
||||
$ldap_result = ldap_list($ldapconnection, $context, $filter, array($this->config->user_attribute));
|
||||
$ldapresult = ldap_list($ldapconnection, $context, $filter, array($this->config->user_attribute));
|
||||
}
|
||||
if(!$ldap_result) {
|
||||
if (!$ldapresult) {
|
||||
continue;
|
||||
}
|
||||
if ($ldap_pagedresults) {
|
||||
ldap_control_paged_result_response($ldapconnection, $ldap_result, $ldap_cookie);
|
||||
if ($ldappagedresults) {
|
||||
$pagedresp = ldap_control_paged_result_response($ldapconnection, $ldapresult, $ldapcookie);
|
||||
// Function ldap_control_paged_result_response() does not overwrite $ldapcookie if it fails, by
|
||||
// setting this to null we avoid an infinite loop.
|
||||
if ($pagedresp === false) {
|
||||
$ldapcookie = null;
|
||||
}
|
||||
}
|
||||
if ($entry = @ldap_first_entry($ldapconnection, $ldap_result)) {
|
||||
if ($entry = @ldap_first_entry($ldapconnection, $ldapresult)) {
|
||||
do {
|
||||
$value = ldap_get_values_len($ldapconnection, $entry, $this->config->user_attribute);
|
||||
$value = core_text::convert($value[0], $this->config->ldapencoding, 'utf-8');
|
||||
@@ -731,13 +736,13 @@ class auth_plugin_ldap extends auth_plugin_base {
|
||||
$this->ldap_bulk_insert($value);
|
||||
} while ($entry = ldap_next_entry($ldapconnection, $entry));
|
||||
}
|
||||
unset($ldap_result); // Free mem.
|
||||
} while ($ldap_pagedresults && $ldap_cookie !== null && $ldap_cookie != '');
|
||||
unset($ldapresult); // Free mem.
|
||||
} while ($ldappagedresults && $ldapcookie !== null && $ldapcookie != '');
|
||||
}
|
||||
|
||||
// If LDAP paged results were used, the current connection must be completely
|
||||
// closed and a new one created, to work without paged results from here on.
|
||||
if ($ldap_pagedresults) {
|
||||
if ($ldappagedresults) {
|
||||
$this->ldap_close(true);
|
||||
$ldapconnection = $this->ldap_connect();
|
||||
}
|
||||
@@ -748,7 +753,9 @@ class auth_plugin_ldap extends auth_plugin_base {
|
||||
$count = $DB->count_records_sql('SELECT COUNT(username) AS count, 1 FROM {tmp_extuser}');
|
||||
if ($count < 1) {
|
||||
print_string('didntgetusersfromldap', 'auth_ldap');
|
||||
exit;
|
||||
$dbman->drop_table($table);
|
||||
$this->ldap_close();
|
||||
return false;
|
||||
} else {
|
||||
print_string('gotcountrecordsfromldap', 'auth_ldap', $count);
|
||||
}
|
||||
|
||||
@@ -69,5 +69,8 @@ function xmldb_auth_ldap_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -48,16 +48,16 @@ $string['auth_ldap_expiration_warning_key'] = 'Expiry warning';
|
||||
$string['auth_ldap_expireattr_desc'] = 'Optional: Overrides the LDAP attribute that stores password expiry time.';
|
||||
$string['auth_ldap_expireattr_key'] = 'Expiry attribute';
|
||||
$string['auth_ldapextrafields'] = 'These fields are optional. You can choose to pre-fill some Moodle user fields with information from the <b>LDAP fields</b> that you specify here. <p>If you leave these fields blank, then nothing will be transferred from LDAP and Moodle defaults will be used instead.</p><p>In either case, the user will be able to edit all of these fields after they log in.</p>';
|
||||
$string['auth_ldap_graceattr_desc'] = 'Optional: Overrides gracelogin attribute';
|
||||
$string['auth_ldap_graceattr_desc'] = 'Optional: Overrides grace login attribute';
|
||||
$string['auth_ldap_gracelogin_key'] = 'Grace login attribute';
|
||||
$string['auth_ldap_gracelogins_desc'] = 'Enable LDAP gracelogin support. After password has expired user can login until gracelogin count is 0. Enabling this setting displays grace login message if password is expired.';
|
||||
$string['auth_ldap_gracelogins_desc'] = 'Enable LDAP grace login support. After password has expired, user can log in until grace login count is 0. Enabling this setting displays grace login message if password has expired.';
|
||||
$string['auth_ldap_gracelogins_key'] = 'Grace logins';
|
||||
$string['auth_ldap_groupecreators'] = 'List of groups or contexts whose members are allowed to create groups. Separate multiple groups with \';\'. Usually something like \'cn=teachers,ou=staff,o=myorg\'';
|
||||
$string['auth_ldap_groupecreators_key'] = 'Group creators';
|
||||
$string['auth_ldap_host_url'] = 'Specify LDAP host in URL-form like \'ldap://ldap.myorg.com/\' or \'ldaps://ldap.myorg.com/\'. Separate multiple servers with \';\' to get failover support.';
|
||||
$string['auth_ldap_host_url_key'] = 'Host URL';
|
||||
$string['auth_ldap_changepasswordurl_key'] = 'Password-change URL';
|
||||
$string['auth_ldap_ldap_encoding'] = 'Specify encoding used by LDAP server. Most probably utf-8, MS AD v2 uses default platform encoding such as cp1252, cp1250, etc.';
|
||||
$string['auth_ldap_ldap_encoding'] = 'Encoding used by the LDAP server, most likely utf-8. If LDAP v2 is selected, Active Directory uses its configured encoding, such as cp1252 or cp1250.';
|
||||
$string['auth_ldap_ldap_encoding_key'] = 'LDAP encoding';
|
||||
$string['auth_ldap_login_settings'] = 'Login settings';
|
||||
$string['auth_ldap_memberattribute'] = 'Optional: Overrides user member attribute, when users belongs to a group. Usually \'member\'';
|
||||
@@ -121,7 +121,7 @@ $string['didntfindexpiretime'] = 'password_expire() didn\'t find expiration time
|
||||
$string['didntgetusersfromldap'] = "Did not get any users from LDAP -- error? -- exiting\n";
|
||||
$string['gotcountrecordsfromldap'] = "Got {\$a} records from LDAP\n";
|
||||
$string['ldapnotconfigured'] = 'The LDAP host url is currently not configured';
|
||||
$string['morethanoneuser'] = 'Strange! More than one user record found in ldap. Only using the first one.';
|
||||
$string['morethanoneuser'] = 'More than one user record found in LDAP. Using only the first one.';
|
||||
$string['needbcmath'] = 'You need the BCMath extension to use expired password checking with Active Directory.';
|
||||
$string['needmbstring'] = 'You need the mbstring extension to change passwords in Active Directory';
|
||||
$string['nodnforusername'] = 'Error in user_update_password(). No DN for: {$a->username}';
|
||||
@@ -152,7 +152,7 @@ $string['updateremfailamb'] = 'Failed to update LDAP with ambiguous field {$a->k
|
||||
$string['updateremfailfield'] = 'Failed to update LDAP with non-existent field (\'{$a->ldapkey}\'). Key ({$a->key}) - old Moodle value: \'{$a->ouvalue}\' new value: \'{$a->nuvalue}\'';
|
||||
$string['updatepasserror'] = 'Error in user_update_password(). Error code: {$a->errno}; Error string: {$a->errstring}';
|
||||
$string['updatepasserrorexpire'] = 'Error in user_update_password() when reading password expiry time. Error code: {$a->errno}; Error string: {$a->errstring}';
|
||||
$string['updatepasserrorexpiregrace'] = 'Error in user_update_password() when modifying expirationtime and/or gracelogins. Error code: {$a->errno}; Error string: {$a->errstring}';
|
||||
$string['updatepasserrorexpiregrace'] = 'Error in user_update_password() when modifying expiry time and/or grace logins. Error code: {$a->errno}; Error string: {$a->errstring}';
|
||||
$string['updateusernotfound'] = 'Could not find user while updating externally. Details follow: search base: \'{$a->userdn}\'; search filter: \'(objectClass=*)\'; search attributes: {$a->attribs}';
|
||||
$string['user_activatenotsupportusertype'] = 'auth: ldap user_activate() does not support selected usertype: {$a}';
|
||||
$string['user_disablenotsupportusertype'] = 'auth: ldap user_disable() does not support selected usertype: {$a}';
|
||||
|
||||
@@ -51,5 +51,8 @@ function xmldb_auth_manual_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -50,5 +50,8 @@ function xmldb_auth_mnet_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -91,11 +91,11 @@ $string['privacy:metadata:mnet_log:remoteid'] = 'Remote ID of the user who carri
|
||||
$string['privacy:metadata:mnet_log:time'] = 'Time when the action occurred.';
|
||||
$string['privacy:metadata:mnet_log:url'] = 'Remote system URL where the action occurred.';
|
||||
$string['privacy:metadata:mnet_log:userid'] = 'Local ID of the user who carried out the action in the remote system.';
|
||||
$string['privacy:metadata:mnet_session'] = 'The details of each MNet user session in a remote system is stored temporarily.';
|
||||
$string['privacy:metadata:mnet_session'] = 'The details of each MNet user session in a remote system. The data is stored temporarily.';
|
||||
$string['privacy:metadata:mnet_session:expires'] = 'Time when the session expires.';
|
||||
$string['privacy:metadata:mnet_session:mnethostid'] = 'Remote system MNet ID.';
|
||||
$string['privacy:metadata:mnet_session:token'] = 'Unique session identifier';
|
||||
$string['privacy:metadata:mnet_session:useragent'] = 'String denoting the user agent being which is accessing the page.';
|
||||
$string['privacy:metadata:mnet_session:useragent'] = 'User agent used to access the remote system';
|
||||
$string['privacy:metadata:mnet_session:userid'] = 'ID of the user jumping to remote system.';
|
||||
$string['privacy:metadata:mnet_session:username'] = 'Username of the user jumping to remote system.';
|
||||
$string['unknownhost'] = 'Unknown host';
|
||||
@@ -51,5 +51,8 @@ function xmldb_auth_none_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -47,5 +47,8 @@ function xmldb_auth_oauth2_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -51,5 +51,8 @@ function xmldb_auth_shibboleth_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -37,9 +37,10 @@ class imscc1_converter extends base_converter {
|
||||
* @return null|string backup::FORMAT_IMSCC1 if the Common Cartridge 1.0 is detected, null otherwise
|
||||
*/
|
||||
public static function detect_format($tempdir) {
|
||||
global $CFG;
|
||||
|
||||
$filepath = $CFG->dataroot . '/temp/backup/' . $tempdir;
|
||||
$filepath = make_backup_temp_directory($tempdir, false);
|
||||
if (!is_dir($filepath)) {
|
||||
throw new convert_helper_exception('tmp_backup_directory_not_found', $filepath);
|
||||
}
|
||||
$manifest = cc2moodle::get_manifest($filepath);
|
||||
if (!empty($manifest)) {
|
||||
// Looks promising, lets load some information.
|
||||
|
||||
@@ -38,9 +38,10 @@ class imscc11_converter extends base_converter {
|
||||
* @return null|string backup::FORMAT_IMSCC11 if the Common Cartridge 1.1 is detected, null otherwise
|
||||
*/
|
||||
public static function detect_format($tempdir) {
|
||||
global $CFG;
|
||||
|
||||
$filepath = $CFG->dataroot . '/temp/backup/' . $tempdir;
|
||||
$filepath = make_backup_temp_directory($tempdir, false);
|
||||
if (!is_dir($filepath)) {
|
||||
throw new convert_helper_exception('tmp_backup_directory_not_found', $filepath);
|
||||
}
|
||||
$manifest = cc112moodle::get_manifest($filepath);
|
||||
if (file_exists($manifest)) {
|
||||
// Looks promising, lets load some information.
|
||||
|
||||
@@ -4518,6 +4518,12 @@ class restore_create_categories_and_questions extends restore_structure_step {
|
||||
unset($data->idnumber);
|
||||
}
|
||||
|
||||
if ($data->qtype === 'random') {
|
||||
// Ensure that this newly created question is considered by
|
||||
// \qtype_random\task\remove_unused_questions.
|
||||
$data->hidden = 0;
|
||||
}
|
||||
|
||||
$newitemid = $DB->insert_record('question', $data);
|
||||
$this->set_mapping('question', $oldid, $newitemid);
|
||||
// Also annotate them as question_created, we need
|
||||
|
||||
@@ -50,9 +50,6 @@ class edit_backpack_form extends moodleform {
|
||||
$mform->addElement('hidden', 'userid', $USER->id);
|
||||
$mform->setType('userid', PARAM_INT);
|
||||
|
||||
$mform->addElement('hidden', 'backpackurl', BADGE_BACKPACKURL);
|
||||
$mform->setType('backpackurl', PARAM_URL);
|
||||
|
||||
if (isset($this->_customdata['email'])) {
|
||||
// Email will be passed in when we're in the process of verifying the user's email address,
|
||||
// so set the connection status, lock the email field, and provide options to resend the verification
|
||||
@@ -94,7 +91,7 @@ class edit_backpack_form extends moodleform {
|
||||
// We don't need to verify the email address if we're clearing a pending email verification attempt.
|
||||
if (!isset($data['revertbutton'])) {
|
||||
$check = new stdClass();
|
||||
$check->backpackurl = $data['backpackurl'];
|
||||
$check->backpackurl = BADGE_BACKPACKURL;
|
||||
$check->email = $data['email'];
|
||||
|
||||
$bp = new OpenBadgesBackpackHandler($check);
|
||||
|
||||
@@ -96,6 +96,10 @@ class block_admin_bookmarks extends block_base {
|
||||
$contenturl = new moodle_url($temp->url);
|
||||
$contentlink = html_writer::link($contenturl, $temp->visiblename);
|
||||
$contents[] = html_writer::tag('li', $contentlink);
|
||||
} else if ($temp instanceof admin_category) {
|
||||
$contenturl = new moodle_url('/admin/category.php', array('category' => $bookmark));
|
||||
$contentlink = html_writer::link($contenturl, $temp->visiblename);
|
||||
$contents[] = html_writer::tag('li', $contentlink);
|
||||
}
|
||||
}
|
||||
$this->content->text = html_writer::tag('ol', implode('', $contents), array('class' => 'list'));
|
||||
|
||||
@@ -46,7 +46,7 @@ if ($section = optional_param('section', '', PARAM_SAFEDIR) and confirm_sesskey(
|
||||
|
||||
$temp = $adminroot->locate($section);
|
||||
|
||||
if ($temp instanceof admin_settingpage || $temp instanceof admin_externalpage) {
|
||||
if ($temp instanceof admin_settingpage || $temp instanceof admin_externalpage || $temp instanceof admin_category) {
|
||||
$bookmarks[] = $section;
|
||||
$bookmarks = implode(',', $bookmarks);
|
||||
set_user_preference('admin_bookmarks', $bookmarks);
|
||||
@@ -61,6 +61,10 @@ if ($section = optional_param('section', '', PARAM_SAFEDIR) and confirm_sesskey(
|
||||
|
||||
} elseif ($temp instanceof admin_externalpage) {
|
||||
redirect($temp->url);
|
||||
|
||||
} else if ($temp instanceof admin_category) {
|
||||
redirect($CFG->wwwroot . '/' . $CFG->admin . '/category.php?category=' . $section);
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
@@ -54,6 +54,8 @@ if ($section = optional_param('section', '', PARAM_SAFEDIR) and confirm_sesskey(
|
||||
redirect($temp->url, get_string('bookmarkdeleted','admin'));
|
||||
} elseif ($temp instanceof admin_settingpage) {
|
||||
redirect($CFG->wwwroot . '/' . $CFG->admin . '/settings.php?section=' . $section);
|
||||
} else if ($temp instanceof admin_category) {
|
||||
redirect($CFG->wwwroot . '/' . $CFG->admin . '/category.php?category=' . $section);
|
||||
} else {
|
||||
redirect($CFG->wwwroot);
|
||||
}
|
||||
|
||||
@@ -57,5 +57,8 @@ function xmldb_block_badges_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,6 @@
|
||||
$string['pluginname'] = 'Latest badges';
|
||||
$string['numbadgestodisplay'] = 'Number of latest badges to display';
|
||||
$string['nothingtodisplay'] = 'You have no badges to display';
|
||||
$string['badges:addinstance'] = 'Add a new My latest badges block';
|
||||
$string['badges:myaddinstance'] = 'Add a new My latest badges block to Dashboard';
|
||||
$string['badges:addinstance'] = 'Add a new Latest badges block';
|
||||
$string['badges:myaddinstance'] = 'Add a new Latest badges block to Dashboard';
|
||||
$string['privacy:metadata'] = 'The Latest badges block only shows data stored in other locations.';
|
||||
|
||||
@@ -57,5 +57,8 @@ function xmldb_block_calendar_month_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -57,5 +57,8 @@ function xmldb_block_calendar_upcoming_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -58,5 +58,8 @@ function xmldb_block_community_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -60,5 +60,8 @@ function xmldb_block_completionstatus_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
$string['adminview'] = 'Admin view';
|
||||
$string['allcourses'] = 'Admin user sees all courses';
|
||||
$string['configadminview'] = 'What should the admin see in the course list block?';
|
||||
$string['configadminview'] = 'Whether to display all courses in the Courses block, or only courses that the admin is enrolled in.';
|
||||
$string['confighideallcourseslink'] = 'Remove the \'All courses\' link under the list of courses. (This setting does not affect the admin view.)';
|
||||
$string['course_list:addinstance'] = 'Add a new courses block';
|
||||
$string['course_list:myaddinstance'] = 'Add a new courses block to Dashboard';
|
||||
|
||||
@@ -60,5 +60,8 @@ function xmldb_block_course_summary_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -45,5 +45,8 @@ function xmldb_block_html_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -67,5 +67,8 @@ function xmldb_block_navigation_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -57,5 +57,8 @@ function xmldb_block_quiz_results_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -59,5 +59,8 @@ function xmldb_block_recent_activity_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -68,6 +68,9 @@ class helper {
|
||||
// Group by courses to reduce get_fast_modinfo requests.
|
||||
foreach ($courses as $key => $items) {
|
||||
$modinfo = get_fast_modinfo($key);
|
||||
if (!can_access_course($modinfo->get_course(), null, '', true)) {
|
||||
continue;
|
||||
}
|
||||
foreach ($items as $key => $item) {
|
||||
// Exclude not visible items.
|
||||
if (!$modinfo->cms[$item->cmid]->uservisible) {
|
||||
|
||||
@@ -22,6 +22,6 @@
|
||||
*/
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2018120300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->version = 2018120301; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2018112800; // Requires this Moodle version.
|
||||
$plugin->component = 'block_recentlyaccesseditems'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -45,5 +45,8 @@ function xmldb_block_rss_client_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ $string['rss_client:createprivatefeeds'] = 'Create private RSS feeds';
|
||||
$string['rss_client:createsharedfeeds'] = 'Create shared RSS feeds';
|
||||
$string['rss_client:manageanyfeeds'] = 'Manage any RSS feeds';
|
||||
$string['rss_client:manageownfeeds'] = 'Manage own RSS feeds';
|
||||
$string['rss_client:myaddinstance'] = 'Add a new RSS feeds block to Dashboard';
|
||||
$string['rss_client:myaddinstance'] = 'Add a new Remote RSS feeds block to Dashboard';
|
||||
$string['seeallfeeds'] = 'See all feeds';
|
||||
$string['sharedfeed'] = 'Shared feed';
|
||||
$string['shownumentrieslabel'] = 'Max number entries to show per block.';
|
||||
|
||||
@@ -61,5 +61,8 @@ function xmldb_block_section_links_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -60,5 +60,8 @@ function xmldb_block_selfcompletion_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -67,5 +67,8 @@ function xmldb_block_settings_upgrade($oldversion, $block) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ servername:port:weight
|
||||
If *Enable clustered servers* is enabled below, there must be only one server listed here. This would usually be a name that always resolves to the local machine, like 127.0.0.1 or localhost.';
|
||||
$string['serversclusterinvalid'] = 'Exactly one server is required when clustering is enabled.';
|
||||
$string['setservers'] = 'Set Servers';
|
||||
$string['setservers_help'] = 'This is the list of servers that will updated when data is modified in the cache. Generally the fully qualified name of each server in the pool.
|
||||
$string['setservers_help'] = 'This is the list of servers that will be updated when data is modified in the cache. Generally the fully qualified name of each server in the pool.
|
||||
It **must** include the server listed in *Servers* above, even if by a different hostname.
|
||||
Servers should be defined one per line and consist of a server address and optionally a port.
|
||||
If no port is provided then the default port (11211) is used.
|
||||
|
||||
@@ -2501,6 +2501,10 @@ class core_competency_api_testcase extends advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
$dg = $this->getDataGenerator();
|
||||
|
||||
// Create and assign a current user.
|
||||
$currentuser = $dg->create_user();
|
||||
$this->setUser($currentuser);
|
||||
|
||||
// Create a course.
|
||||
$course = $dg->create_course();
|
||||
$record = array('courseid' => $course->id, 'pushratingstouserplans' => false);
|
||||
|
||||
@@ -95,8 +95,8 @@ class core_competency_generator extends component_generator_base {
|
||||
* @return competency
|
||||
*/
|
||||
public function create_competency($record = null) {
|
||||
$this->frameworkcount++;
|
||||
$i = $this->frameworkcount;
|
||||
$this->competencycount++;
|
||||
$i = $this->competencycount;
|
||||
$record = (object) $record;
|
||||
|
||||
if (!isset($record->competencyframeworkid)) {
|
||||
|
||||
+1
-1
@@ -744,7 +744,7 @@ M.course_dndupload = {
|
||||
var xhr = new XMLHttpRequest();
|
||||
var self = this;
|
||||
|
||||
if (file.size > this.maxbytes) {
|
||||
if (this.maxbytes > 0 && file.size > this.maxbytes) {
|
||||
new M.core.alert({message: M.util.get_string('namedfiletoolarge', 'moodle', {filename: file.name})});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ function dndupload_add_to_course($course, $modnames) {
|
||||
);
|
||||
$vars = array(
|
||||
array('courseid' => $course->id,
|
||||
'maxbytes' => get_max_upload_file_size($CFG->maxbytes, $course->maxbytes),
|
||||
'maxbytes' => get_user_max_upload_file_size($PAGE->context, $CFG->maxbytes, $course->maxbytes),
|
||||
'handlers' => $handler->get_js_data(),
|
||||
'showstatus' => $showstatus)
|
||||
);
|
||||
@@ -488,7 +488,7 @@ class dndupload_ajax_processor {
|
||||
|
||||
// Add the file to a draft file area.
|
||||
$draftitemid = file_get_unused_draft_itemid();
|
||||
$maxbytes = get_max_upload_file_size($CFG->maxbytes, $this->course->maxbytes);
|
||||
$maxbytes = get_user_max_upload_file_size($this->context, $CFG->maxbytes, $this->course->maxbytes);
|
||||
$types = $this->dnduploadhandler->get_handled_file_types($this->module->name);
|
||||
$repo = repository::get_instances(array('type' => 'upload', 'currentcontext' => $this->context));
|
||||
if (empty($repo)) {
|
||||
|
||||
@@ -62,5 +62,8 @@ function xmldb_format_topics_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -98,5 +98,8 @@ function xmldb_format_weeks_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+28
-9
@@ -2003,7 +2003,7 @@ function course_get_cm_edit_actions(cm_info $mod, $indent = -1, $sr = null) {
|
||||
|
||||
// Groupmode.
|
||||
if ($hasmanageactivities && !$mod->coursegroupmodeforce) {
|
||||
if (plugin_supports('mod', $mod->modname, FEATURE_GROUPS, 0)) {
|
||||
if (plugin_supports('mod', $mod->modname, FEATURE_GROUPS, false)) {
|
||||
if ($mod->effectivegroupmode == SEPARATEGROUPS) {
|
||||
$nextgroupmode = VISIBLEGROUPS;
|
||||
$grouptitle = $str->groupsseparate;
|
||||
@@ -4572,21 +4572,40 @@ function course_get_recent_courses(int $userid = null, int $limit = 0, int $offs
|
||||
|
||||
$coursefields = 'c.' .join(',', $basefields);
|
||||
|
||||
$sql = "SELECT $ctxfields, $coursefields
|
||||
// Ask the favourites service to give us the join SQL for favourited courses,
|
||||
// so we can include favourite information in the query.
|
||||
$usercontext = \context_user::instance($userid);
|
||||
$favservice = \core_favourites\service_factory::get_service_for_user_context($usercontext);
|
||||
list($favsql, $favparams) = $favservice->get_join_sql_by_type('core_course', 'courses', 'fav', 'ul.courseid');
|
||||
|
||||
$sql = "SELECT $coursefields, $ctxfields
|
||||
FROM {course} c
|
||||
JOIN {context} ctx
|
||||
ON ctx.contextlevel = :contextlevel
|
||||
AND ctx.instanceid = c.id
|
||||
JOIN {user_lastaccess} ul
|
||||
ON ul.courseid = c.id
|
||||
LEFT JOIN {favourite} f
|
||||
ON f.component = 'core_course'
|
||||
AND f.itemtype = 'courses'
|
||||
AND f.userid = ul.userid
|
||||
AND f.itemid = ul.courseid
|
||||
$favsql
|
||||
WHERE ul.userid = :userid
|
||||
$orderby";
|
||||
$params = ['userid' => $userid, 'contextlevel' => CONTEXT_COURSE];
|
||||
AND c.visible = :visible
|
||||
AND EXISTS (SELECT e.id
|
||||
FROM {enrol} e
|
||||
LEFT JOIN {user_enrolments} ue ON ue.enrolid = e.id
|
||||
WHERE e.courseid = c.id
|
||||
AND e.status = :statusenrol
|
||||
AND ((ue.status = :status
|
||||
AND ue.userid = ul.userid
|
||||
AND ue.timestart < :now1
|
||||
AND (ue.timeend = 0 OR ue.timeend > :now2)
|
||||
)
|
||||
OR e.enrol = :guestenrol
|
||||
)
|
||||
)
|
||||
$orderby";
|
||||
|
||||
$now = round(time(), -2); // Improves db caching.
|
||||
$params = ['userid' => $userid, 'contextlevel' => CONTEXT_COURSE, 'visible' => 1, 'status' => ENROL_USER_ACTIVE,
|
||||
'statusenrol' => ENROL_INSTANCE_ENABLED, 'guestenrol' => 'guest', 'now1' => $now, 'now2' => $now] + $favparams;
|
||||
|
||||
$recentcourses = $DB->get_records_sql($sql, $params, $offset, $limit);
|
||||
|
||||
|
||||
@@ -170,7 +170,7 @@ abstract class moodleform_mod extends moodleform {
|
||||
global $CFG;
|
||||
|
||||
$this->_features = new stdClass();
|
||||
$this->_features->groups = plugin_supports('mod', $this->_modname, FEATURE_GROUPS, true);
|
||||
$this->_features->groups = plugin_supports('mod', $this->_modname, FEATURE_GROUPS, false);
|
||||
$this->_features->groupings = plugin_supports('mod', $this->_modname, FEATURE_GROUPINGS, false);
|
||||
$this->_features->outcomes = (!empty($CFG->enableoutcomes) and plugin_supports('mod', $this->_modname, FEATURE_GRADE_OUTCOMES, true));
|
||||
$this->_features->hasgrades = plugin_supports('mod', $this->_modname, FEATURE_GRADE_HAS_GRADE, false);
|
||||
|
||||
+10
-4
@@ -457,7 +457,7 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
}
|
||||
}
|
||||
if ($completionicon) {
|
||||
$formattedname = $mod->get_formatted_name();
|
||||
$formattedname = html_entity_decode($mod->get_formatted_name(), ENT_QUOTES, 'UTF-8');
|
||||
if ($completiondata->overrideby) {
|
||||
$args = new stdClass();
|
||||
$args->modname = $formattedname;
|
||||
@@ -498,7 +498,7 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
$output .= html_writer::empty_tag('input', array(
|
||||
'type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()));
|
||||
$output .= html_writer::empty_tag('input', array(
|
||||
'type' => 'hidden', 'name' => 'modulename', 'value' => $mod->name));
|
||||
'type' => 'hidden', 'name' => 'modulename', 'value' => $formattedname));
|
||||
$output .= html_writer::empty_tag('input', array(
|
||||
'type' => 'hidden', 'name' => 'completionstate', 'value' => $newstate));
|
||||
$output .= html_writer::tag('button',
|
||||
@@ -2404,7 +2404,8 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
$frontpagelayout = $CFG->frontpage;
|
||||
}
|
||||
|
||||
foreach (explode(',', $frontpagelayout) as $v) {
|
||||
$frontpageoptions = explode(',', $frontpagelayout);
|
||||
foreach ($frontpageoptions as $v) {
|
||||
switch ($v) {
|
||||
// Display the main part of the front page.
|
||||
case FRONTPAGENEWS:
|
||||
@@ -2426,6 +2427,12 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
$output .= $this->frontpage_part('skipmycourses', 'frontpage-course-list',
|
||||
get_string('mycourses'), $mycourseshtml);
|
||||
break;
|
||||
} else {
|
||||
// Temp fix/fallback in order to display available courses when enrolled courses should be shown,
|
||||
// but user is not enrolled in any course.
|
||||
if (array_search(FRONTPAGEALLCOURSELIST, $frontpageoptions)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
// No "break" here. If there are no enrolled courses - continue to 'Available courses'.
|
||||
|
||||
@@ -2454,7 +2461,6 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
}
|
||||
$output .= '<br />';
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4980,4 +4980,73 @@ class core_course_courselib_testcase extends advanced_testcase {
|
||||
$this->assertEquals($course->startdate, $min[0]);
|
||||
$this->assertNull($max);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the course_get_recent_courses function.
|
||||
*/
|
||||
public function test_course_get_recent_courses() {
|
||||
|
||||
$this->resetAfterTest();
|
||||
$generator = $this->getDataGenerator();
|
||||
|
||||
$courses = array();
|
||||
for ($i = 1; $i < 4; $i++) {
|
||||
$courses[] = $generator->create_course();
|
||||
};
|
||||
|
||||
$student = $generator->create_user();
|
||||
|
||||
foreach ($courses as $course) {
|
||||
$generator->enrol_user($student->id, $course->id, 'student');
|
||||
}
|
||||
|
||||
$this->setUser($student);
|
||||
|
||||
$result = course_get_recent_courses($student->id);
|
||||
|
||||
// No course accessed.
|
||||
$this->assertCount(0, $result);
|
||||
|
||||
foreach ($courses as $course) {
|
||||
$context = context_course::instance($course->id);
|
||||
course_view($context);
|
||||
}
|
||||
|
||||
// Every course accessed.
|
||||
$result = course_get_recent_courses($student->id);
|
||||
$this->assertCount(3, $result);
|
||||
|
||||
// Every course accessed, result limited to 2 courses.
|
||||
$result = course_get_recent_courses($student->id, 2);
|
||||
$this->assertCount(2, $result);
|
||||
|
||||
// Every course accessed, with limit and offset. Should return only the last created course ($course[2]).
|
||||
$result = course_get_recent_courses($student->id, 3, 2);
|
||||
$this->assertCount(1, $result);
|
||||
$this->assertArrayHasKey($courses[2]->id, $result);
|
||||
|
||||
// Every course accessed, order by shortname DESC. The last create course ($course[2]) should have the greater shortname.
|
||||
$result = course_get_recent_courses($student->id, 0, 0, 'shortname DESC');
|
||||
$this->assertCount(3, $result);
|
||||
$this->assertEquals($courses[2]->id, array_shift($result)->id);
|
||||
|
||||
$guestcourse = $generator->create_course(
|
||||
(object)array('shortname' => 'guestcourse',
|
||||
'enrol_guest_status_0' => ENROL_INSTANCE_ENABLED,
|
||||
'enrol_guest_password_0' => ''));
|
||||
$context = context_course::instance($guestcourse->id);
|
||||
course_view($context);
|
||||
|
||||
// Every course accessed, even the not enrolled one.
|
||||
$result = course_get_recent_courses($student->id);
|
||||
$this->assertCount(4, $result);
|
||||
|
||||
// Suspended student.
|
||||
$this->getDataGenerator()->enrol_user($student->id, $courses[0]->id, 'student', 'manual', 0, 0, ENROL_USER_SUSPENDED);
|
||||
|
||||
// The course with suspended enrolment is not returned by the function.
|
||||
$result = course_get_recent_courses($student->id);
|
||||
$this->assertCount(3, $result);
|
||||
$this->assertArrayNotHasKey($courses[0]->id, $result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,5 +39,8 @@ function xmldb_enrol_database_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -39,5 +39,8 @@ function xmldb_enrol_flatfile_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -39,5 +39,8 @@ function xmldb_enrol_guest_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -45,5 +45,8 @@ function xmldb_enrol_imsenterprise_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ $string['phpldap_noextension'] = '<em>The PHP LDAP module does not seem to be pr
|
||||
$string['pluginname'] = 'LDAP enrolments';
|
||||
$string['pluginname_desc'] = '<p>You can use an LDAP server to control your enrolments. It is assumed your LDAP tree contains groups that map to the courses, and that each of those groups/courses will have membership entries to map to students.</p><p>It is assumed that courses are defined as groups in LDAP, with each group having multiple membership fields (<em>member</em> or <em>memberUid</em>) that contain a uniqueidentification of the user.</p><p>To use LDAP enrolment, your users <strong>must</strong> to have a valid idnumber field. The LDAP groups must have that idnumber in the member fields for a user to be enrolled in the course. This will usually work well if you are already using LDAP Authentication.</p><p>Enrolments will be updated when the user logs in. You can also run a script to keep enrolments in synch. Look in <em>enrol/ldap/cli/sync.php</em>.</p><p>This plugin can also be set to automatically create new courses when new groups appear in LDAP.</p>';
|
||||
$string['pluginnotenabled'] = 'Plugin not enabled!';
|
||||
$string['role_mapping'] = '<p>For each role that you want to assign from LDAP, you need to specify the list of contexts where the role courses\'s groups are located. Separate different contexts with \';\'.</p><p>You also need to specify the attribute your LDAP server uses to hold the members of a group. Usually \'member\' or \'memberUid\'</p>';
|
||||
$string['role_mapping'] = '<p>For each role, you need to specify all LDAP contexts where the groups that represent the courses are located. Separate different contexts with a semicolon (;).</p><p>You also need to specify the attribute your LDAP server uses to hold the members of a group. This is usually \'member\' or \'memberUid\'.</p>';
|
||||
$string['role_mapping_attribute'] = 'LDAP member attribute for {$a}';
|
||||
$string['role_mapping_context'] = 'LDAP contexts for {$a}';
|
||||
$string['role_mapping_key'] = 'Map roles from LDAP ';
|
||||
|
||||
@@ -267,5 +267,8 @@ function xmldb_enrol_lti_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -39,5 +39,8 @@ function xmldb_enrol_manual_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -39,5 +39,8 @@ function xmldb_enrol_mnet_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -138,5 +138,8 @@ function xmldb_enrol_paypal_upgrade($oldversion) {
|
||||
upgrade_plugin_savepoint(true, 2018062503, 'enrol', 'paypal');
|
||||
}
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -54,5 +54,8 @@ function xmldb_enrol_self_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ $string['test_unoconvdoesnotexist'] = 'The unoconv path does not point to the un
|
||||
$string['test_unoconvdownload'] = 'Download the converted pdf test file.';
|
||||
$string['test_unoconvempty'] = 'The unoconv path is not set. Please review your path settings.';
|
||||
$string['test_unoconvisdir'] = 'The unoconv path points to a folder, please include the unoconv program in the path you specify';
|
||||
$string['test_unoconvnotestfile'] = 'The test document to be coverted into a PDF is missing';
|
||||
$string['test_unoconvnotestfile'] = 'The test document to be converted to PDF is missing.';
|
||||
$string['test_unoconvnotexecutable'] = 'The unoconv path points to a file that is not executable';
|
||||
$string['test_unoconvok'] = 'The unoconv path appears to be properly configured.';
|
||||
$string['test_unoconvversionnotsupported'] = 'The version of unoconv you have installed is not supported.';
|
||||
|
||||
@@ -186,5 +186,8 @@ MathJax.Hub.Config({
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -44,5 +44,8 @@ function xmldb_filter_mediaplugin_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -44,5 +44,8 @@ function xmldb_filter_tex_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -213,25 +213,32 @@ class provider implements
|
||||
JOIN {context} ctx
|
||||
ON ctx.instanceid = gi.courseid
|
||||
AND ctx.contextlevel = :courselevel
|
||||
LEFT JOIN {grade_grades} gg
|
||||
JOIN {grade_grades} gg
|
||||
ON gg.itemid = gi.id
|
||||
AND (gg.userid = :userid1 OR gg.usermodified = :userid2)
|
||||
LEFT JOIN {grade_grades_history} ggh
|
||||
WHERE gg.userid = :userid1 OR gg.usermodified = :userid2";
|
||||
$params = [
|
||||
'courselevel' => CONTEXT_COURSE,
|
||||
'userid1' => $userid,
|
||||
'userid2' => $userid
|
||||
];
|
||||
$contextlist->add_from_sql($sql, $params);
|
||||
|
||||
$sql = "
|
||||
SELECT DISTINCT ctx.id
|
||||
FROM {grade_items} gi
|
||||
JOIN {context} ctx
|
||||
ON ctx.instanceid = gi.courseid
|
||||
AND ctx.contextlevel = :courselevel
|
||||
JOIN {grade_grades_history} ggh
|
||||
ON ggh.itemid = gi.id
|
||||
AND (
|
||||
ggh.userid = :userid3
|
||||
OR ggh.loggeduser = :userid4
|
||||
OR ggh.usermodified = :userid5
|
||||
)
|
||||
WHERE gg.id IS NOT NULL
|
||||
OR ggh.id IS NOT NULL";
|
||||
WHERE ggh.userid = :userid1
|
||||
OR ggh.loggeduser = :userid2
|
||||
OR ggh.usermodified = :userid3";
|
||||
$params = [
|
||||
'courselevel' => CONTEXT_COURSE,
|
||||
'userid1' => $userid,
|
||||
'userid2' => $userid,
|
||||
'userid3' => $userid,
|
||||
'userid4' => $userid,
|
||||
'userid5' => $userid,
|
||||
'userid3' => $userid
|
||||
];
|
||||
$contextlist->add_from_sql($sql, $params);
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<td>
|
||||
<label for="removeoutcomes"><?php print_string('outcomescourse', 'grades'); ?></label>
|
||||
<br />
|
||||
<select id="removeoutcomes" size="20" name="removeoutcomes[]" multiple="multiple">
|
||||
<select id="removeoutcomes" size="20" name="removeoutcomes[]" multiple="multiple" class="form-control input-block-level">
|
||||
<?php
|
||||
if ($co_standard_notused) {
|
||||
echo '<optgroup label="'.get_string('outcomescoursenotused', 'grades').'">';
|
||||
@@ -36,18 +36,20 @@
|
||||
<?php
|
||||
if (has_capability('moodle/grade:manageoutcomes', $context)) {
|
||||
?>
|
||||
<td>
|
||||
<td class="p-l-1 p-r-1">
|
||||
<p class="arrow_button">
|
||||
<input name="add" id="add" type="submit" value="<?php echo ' '.$OUTPUT->larrow().' '.get_string('add'); ?>" title="<?php print_string('add'); ?>" />
|
||||
<input name="add" class="btn btn_secondary" id="add" type="submit" value="<?php echo ' ' . $OUTPUT->larrow() . ' ' .
|
||||
get_string('add'); ?>" title="<?php print_string('add'); ?>" />
|
||||
<br />
|
||||
<input name="remove" id="remove" type="submit" value="<?php echo ' '.$OUTPUT->rarrow().' '.get_string('remove'); ?>" title="<?php print_string('remove'); ?>" />
|
||||
<input name="remove" class="btn btn_secondary" id="remove" type="submit" value="<?php echo ' ' . get_string('remove') . ' ' .
|
||||
$OUTPUT->rarrow(); ?>" title="<?php print_string('remove'); ?>" />
|
||||
</p>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td>
|
||||
<label for="addoutcomes"><?php print_string('outcomesstandardavailable', 'grades'); ?></label>
|
||||
<br />
|
||||
<select id="addoutcomes" size="20" name="addoutcomes[]" multiple="multiple">
|
||||
<select id="addoutcomes" size="20" name="addoutcomes[]" multiple="multiple" class="form-control input-block-level">
|
||||
|
||||
<?php
|
||||
foreach ($standardoutcomes as $outcome) {
|
||||
|
||||
@@ -49,5 +49,8 @@ function xmldb_gradingform_guide_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -45,5 +45,8 @@ function xmldb_gradingform_rubric_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -64,10 +64,7 @@
|
||||
}
|
||||
|
||||
.gradingform_rubric {
|
||||
overflow: auto;
|
||||
padding-bottom: 1.5em;
|
||||
max-width: 720px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.gradingform_rubric.editor .criterion .controls,
|
||||
@@ -89,6 +86,9 @@
|
||||
|
||||
.gradingform_rubric .criteria {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.gradingform_rubric .criterion {
|
||||
@@ -307,4 +307,4 @@
|
||||
margin: 0;
|
||||
position: relative;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,5 +51,8 @@ function xmldb_gradereport_overview_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -41,5 +41,8 @@ function xmldb_gradereport_user_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ $string['clitypevalue'] = 'πληκτρολογήστε μια τιμή';
|
||||
$string['clitypevaluedefault'] = 'πληκτρολογήστε μια τιμή· πατήστε Enter για να χρησιμοποιήσετε τηνπροεπιλεγμένη τιμή ({$a})';
|
||||
$string['cliunknowoption'] = 'Μη αναγνωρίσιμες επιλογές: {$a}<br />
|
||||
Παρακαλούμε χρησιμοποιήστε την επιλογή --βοήθεια';
|
||||
$string['cliyesnoprompt'] = 'πατώντας ν (σημαίνει ναι) αλλιώς πατώντας ο (σημαίνει όχι)';
|
||||
$string['cliyesnoprompt'] = 'πατώντας y (σημαίνει yes=ναι) αλλιώς πατώντας n (σημαίνει no=όχι)';
|
||||
$string['environmentrequireinstall'] = 'απαιτείται να εγκατασταθεί/ ενεργοποιηθεί';
|
||||
$string['environmentrequireversion'] = 'απαιτείται η έκδοση {$a->needed} ενώ εσείς έχετε την {$a->current}';
|
||||
$string['upgradekeyset'] = 'Κλειδί αναβάθμισης (αφήστε κενό για να μην το ορίσετε)';
|
||||
|
||||
@@ -32,12 +32,13 @@ defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$string['clianswerno'] = 'e';
|
||||
$string['cliansweryes'] = 'b';
|
||||
$string['cliincorrectvalueerror'] = 'Errorea, "{$a->value}" balorea ez da egokia "{$a->option}"-rako';
|
||||
$string['cliincorrectvalueretry'] = 'Balore ezegokia, mesedez saiatu berriz';
|
||||
$string['clitypevalue'] = 'Sartu balorea';
|
||||
$string['clitypevaluedefault'] = 'sartu balorea, sakatu Enter-i berezko balorea erabiltzeko ({$a})';
|
||||
$string['cliunknowoption'] = 'Aukera ezezagunak:{$a}
|
||||
Mesedez, erabili --laguntza aukera.';
|
||||
$string['cliincorrectvalueerror'] = 'Errorea, "{$a->value}" balioa ez da egokia "{$a->option}"-rako';
|
||||
$string['cliincorrectvalueretry'] = 'Balio ezegokia, mesedez saiatu berriz';
|
||||
$string['clitypevalue'] = 'Sartu balioa';
|
||||
$string['clitypevaluedefault'] = 'sartu balioa, sakatu Enter-i berezko balioa erabiltzeko ({$a})';
|
||||
$string['cliunknowoption'] = 'Aukera ezezagunak:
|
||||
{$a}
|
||||
Mesedez, erabili --help aukera.';
|
||||
$string['cliyesnoprompt'] = 'idatzi b (bai esateko) edo e (ez esateko)';
|
||||
$string['environmentrequireinstall'] = 'derrigorrezkoa da instalatuta eta gaituta izatea';
|
||||
$string['environmentrequireversion'] = '{$a->needed} bertsioa beharrezkoa da eta zu {$a->current} ari zara egikaritzen';
|
||||
|
||||
@@ -43,7 +43,7 @@ $string['cannotsavezipfile'] = 'Ezin da ZIP fitxategia gorde';
|
||||
$string['cannotunzipfile'] = 'Ezin da fitxategia deskonprimatu';
|
||||
$string['componentisuptodate'] = 'Osagaia eguneratu da';
|
||||
$string['dmlexceptiononinstall'] = '<p>Datu-basearen errorea gertatu da [{$a->errorcode}].<br />{$a->debuginfo}</p>';
|
||||
$string['downloadedfilecheckfailed'] = 'Jaitsitako fitxategiaren konprobazioak kale egin du.';
|
||||
$string['downloadedfilecheckfailed'] = 'Jaitsitako fitxategiaren egiaztatzeak huts egin du.';
|
||||
$string['invalidmd5'] = 'Kontrolerako aldagaia gaizki zegoen - saiatu berriz ere';
|
||||
$string['missingrequiredfield'] = 'Beharrezko eremuren bat falta da.';
|
||||
$string['remotedownloaderror'] = '<p>Errorea osagaia zure zerbitzarian jaistean, mesedez egiaztatu proxy-ezarpenak, PHP cURL luzapena erabat gomendatzen da.</p>
|
||||
|
||||
@@ -98,6 +98,6 @@ $string['welcomep50'] = 'Paketeko aplikazio guztien erabilpena dagozkien lizentz
|
||||
arautzen dute. <strong>{$a->installername}</strong> aplikazioak
|
||||
<a href="http://www.opensource.org/docs/definition_plain.html">kode irekia</a> dauka eta
|
||||
<a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> lizentziapean banatzen da.';
|
||||
$string['welcomep60'] = 'Datozen orriek urrats erraz batzuen bidez gidatuko zaituzte <strong>Moodle</strong> zure ordenagailuan instalatu eta konfiguratzeko. Aholkatzen diren lehentsitako baloreak mantendu edo, nahi izanez gero, alda ditzakezu zure beharrei erantzun diezaieten.';
|
||||
$string['welcomep70'] = '"Hurrengoa" botoia sakatu <strong>Moodle</strong>ren konfigurazioarekin jarraitzeko.';
|
||||
$string['welcomep60'] = 'Datozen orriek urrats erraz batzuen bidez gidatuko zaituzte <strong>Moodle</strong> zure ordenagailuan instalatu eta konfiguratzeko. Aholkatzen diren lehenetsitako balioak mantendu edo, nahi izanez gero, alda ditzakezu zure beharrei erantzun diezaieten.';
|
||||
$string['welcomep70'] = 'Egin klik "Hurrengoa" botoian <strong>Moodle</strong>ren konfigurazioarekin jarraitzeko.';
|
||||
$string['wwwroot'] = 'Web helbidea';
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$string['cannotcreatedboninstall'] = '<p>Ne mogu stvoriti bazu podataka.</p>
|
||||
<p>Navedena baza podataka ne postoji i korisnik nema prava stvaranja baze podataka.</p>
|
||||
<p>Administrator treba provjeriti postavke baze podataka.</p>';
|
||||
$string['cannotcreatelangdir'] = 'Nije moguće stvoriti lang mapu';
|
||||
$string['cannotcreatetempdir'] = 'Nije moguće stvoriti privremenu (TEMP) mapu';
|
||||
$string['cannotdownloadcomponents'] = 'Nije moguće preuzimanje komponenti';
|
||||
|
||||
@@ -41,7 +41,7 @@ $string['cannotunzipfile'] = 'មិនអាចពន្លាឯកសារ
|
||||
$string['componentisuptodate'] = 'សមាសភាគគឺទាន់សម័យ ។';
|
||||
$string['downloadedfilecheckfailed'] = 'បានបរាជ័យក្នុងការពិនិត្យឯកសារដែលបានទាញយក ។';
|
||||
$string['invalidmd5'] = 'md5 មិនត្រឹមត្រូវ';
|
||||
$string['missingrequiredfield'] = 'បាត់វាលដែលត្រូវការមួយចំនួន';
|
||||
$string['missingrequiredfield'] = 'បាត់ប្រអប់ទិន្នន័យដែលត្រូវទាមទារមួយចំនួន';
|
||||
$string['remotedownloaderror'] = 'បរាជ័យក្នុងការទាញយកសមាសភាគទៅម៉ាស៊ីនបម្រើរបស់អ្នក សូមផ្ទៀងផ្ទាត់ប្រូកស៊ី ផ្នែកបន្ថែម PHP cURL ត្រូវបានផ្ដល់អនុសាសន៍ ។<br /><br />អ្នកត្រូវតែទាញយកឯកសារ <a href="{$a->url}">{$a->url}</a> ដោយដៃ ចម្លងវាទៅ "{$a->dest}" ក្នុងម៉ាស៊ីនបម្រើរបស់អ្នក និងពន្លាវានៅទីនោះ ។';
|
||||
$string['wrongdestpath'] = 'ផ្លូវទិសដៅមិនត្រឹមត្រូវ ។';
|
||||
$string['wrongsourcebase'] = 'មូលដ្ឋាន URL ប្រភពមិនត្រឹមត្រូវ ។';
|
||||
|
||||
@@ -33,5 +33,5 @@ defined('MOODLE_INTERNAL') || die();
|
||||
$string['language'] = 'Język';
|
||||
$string['moodlelogo'] = 'Logo Moodle';
|
||||
$string['next'] = 'Dalej';
|
||||
$string['previous'] = 'Poprzedni';
|
||||
$string['previous'] = 'Wstecz';
|
||||
$string['reload'] = 'Odśwież';
|
||||
|
||||
@@ -280,6 +280,7 @@ $string['configmaxevents'] = 'Events to Lookahead';
|
||||
$string['configmessaging'] = 'If enabled, users can send messages to other users on the site.';
|
||||
$string['configmessagingallowemailoverride'] = 'Allow users to have email message notifications sent to an email address other than the email address in their profile';
|
||||
$string['configmessagingdeletereadnotificationsdelay'] = 'Read notifications can be deleted to save space. How long after a notification is read can it be deleted?';
|
||||
$string['configmessagingdeleteallnotificationsdelay'] = 'Read and unread notifications can be deleted to save space. How long after a notification is created can it be deleted?';
|
||||
$string['configmessagingallusers'] = 'If enabled, users can view the list of all users on the site when selecting someone to message, and their message preferences include the option to accept messages from anyone on the site. If disabled, users can only view the list of users in their courses, and they have just two options in message preferences - to accept messages from their contacts only, or their contacts and anyone in their courses.';
|
||||
$string['configminpassworddigits'] = 'Passwords must have at least these many digits.';
|
||||
$string['configminpasswordlength'] = 'Passwords must be at least these many characters long.';
|
||||
@@ -769,6 +770,7 @@ $string['messaging'] = 'Enable messaging system';
|
||||
$string['messagingallowemailoverride'] = 'Notification email override';
|
||||
$string['messagingallusers'] = 'Allow site-wide messaging';
|
||||
$string['messagingdeletereadnotificationsdelay'] = 'Delete read notifications';
|
||||
$string['messagingdeleteallnotificationsdelay'] = 'Delete all notifications';
|
||||
$string['minpassworddigits'] = 'Digits';
|
||||
$string['minpasswordlength'] = 'Password length';
|
||||
$string['minpasswordlower'] = 'Lowercase letters';
|
||||
|
||||
+5
-3
@@ -77,9 +77,10 @@ $string['forced'] = 'Locked';
|
||||
$string['guestnoeditmessage'] = 'Guest user can not edit messaging options';
|
||||
$string['guestnoeditmessageother'] = 'Guest user can not edit other user messaging options';
|
||||
$string['groupinfo'] = 'Group info';
|
||||
$string['groupmessages'] = 'Group messages';
|
||||
$string['groupconversations'] = 'Group';
|
||||
$string['hidemessagewindow'] = 'Hide message window';
|
||||
$string['hidenotificationwindow'] = 'Hide notification window';
|
||||
$string['individualconversations'] = 'Private';
|
||||
$string['info'] = 'Info';
|
||||
$string['isnotinyourcontacts'] = '{$a} is not in your contacts';
|
||||
$string['loadmore'] = 'Load more';
|
||||
@@ -109,13 +110,14 @@ $string['messagingdatahasnotbeenmigrated'] = 'Your messages are temporarily unav
|
||||
$string['newonlymsg'] = 'Show only new';
|
||||
$string['newmessage'] = 'New message';
|
||||
$string['newmessagesearch'] = 'Select or search for a contact to send a new message.';
|
||||
$string['nofavourites'] = 'No starred messages';
|
||||
$string['nofavourites'] = 'No starred conversations';
|
||||
$string['noframesjs'] = 'Use more accessible interface';
|
||||
$string['nocontactrequests'] = 'No contact requests';
|
||||
$string['nocontacts'] = 'No contacts';
|
||||
$string['nocontactsgetstarted'] = 'No contacts';
|
||||
$string['nogroupmessages'] = 'No group messages';
|
||||
$string['nogroupconversations'] = 'No group conversations';
|
||||
$string['nomessages'] = 'No messages';
|
||||
$string['noindividualconversations'] = 'No private conversations';
|
||||
$string['nomessagesfound'] = 'No messages were found';
|
||||
$string['noreply'] = 'Do not reply to this message';
|
||||
$string['noncontacts'] = 'Non-contacts';
|
||||
|
||||
@@ -5434,6 +5434,9 @@ abstract class context extends stdClass implements IteratorAggregate {
|
||||
return array();
|
||||
}
|
||||
|
||||
// Preload the contexts to reduce DB calls.
|
||||
context_helper::preload_contexts_by_id($contextids);
|
||||
|
||||
$result = array();
|
||||
foreach ($contextids as $contextid) {
|
||||
$parent = context::instance_by_id($contextid, MUST_EXIST);
|
||||
@@ -5870,6 +5873,34 @@ class context_helper extends context {
|
||||
context::preload_from_record($rec);
|
||||
}
|
||||
|
||||
/**
|
||||
* Preload a set of contexts using their contextid.
|
||||
*
|
||||
* @param array $contextids
|
||||
*/
|
||||
public static function preload_contexts_by_id(array $contextids) {
|
||||
global $DB;
|
||||
|
||||
// Determine which contexts are not already cached.
|
||||
$tofetch = [];
|
||||
foreach ($contextids as $contextid) {
|
||||
if (!self::cache_get_by_id($contextid)) {
|
||||
$tofetch[] = $contextid;
|
||||
}
|
||||
}
|
||||
|
||||
if (count($tofetch) > 1) {
|
||||
// There are at least two to fetch.
|
||||
// There is no point only fetching a single context as this would be no more efficient than calling the existing code.
|
||||
list($insql, $inparams) = $DB->get_in_or_equal($tofetch, SQL_PARAMS_NAMED);
|
||||
$ctxs = $DB->get_records_select('context', "id {$insql}", $inparams, '',
|
||||
\context_helper::get_preload_record_columns_sql('{context}'));
|
||||
foreach ($ctxs as $ctx) {
|
||||
self::preload_from_record($ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Preload all contexts instances from course.
|
||||
*
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -683,6 +683,8 @@ define(['jquery', 'core/log', 'core/str', 'core/templates', 'core/notification']
|
||||
}
|
||||
|
||||
var suggestionsElement = $(document.getElementById(state.suggestionsId));
|
||||
// Remove any click handler first.
|
||||
suggestionsElement.parent().prop("onclick", null).off("click");
|
||||
suggestionsElement.parent().on('click', '[role=option]', function(e) {
|
||||
var pendingKey = 'form-autocomplete-parent';
|
||||
M.util.js_pending(pendingKey);
|
||||
|
||||
@@ -723,7 +723,12 @@ define(['jquery', 'core/templates', 'core/notification', 'core/key_codes',
|
||||
// If the click wasn't inside the modal element then we should
|
||||
// hide the modal.
|
||||
if (!$(e.target).closest(SELECTORS.MODAL).length) {
|
||||
this.hide();
|
||||
// The check above fails to detect the click was inside the modal when the DOM tree is already changed.
|
||||
// So, we check if we can still find the container element or not. If not, then the DOM tree is changed.
|
||||
// It's best not to hide the modal in that case.
|
||||
if ($(e.target).closest(SELECTORS.CONTAINER).length) {
|
||||
this.hide();
|
||||
}
|
||||
}
|
||||
}.bind(this));
|
||||
|
||||
|
||||
@@ -60,5 +60,8 @@ function xmldb_antivirus_clamav_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
// Automatically generated Moodle v3.6.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -519,6 +519,11 @@ class block_manager {
|
||||
}
|
||||
}
|
||||
$this->regions[$region] = 1;
|
||||
|
||||
// Checking the actual property instead of calling get_default_region as it ends up in a recursive call.
|
||||
if (empty($this->defaultregion)) {
|
||||
$this->set_default_region($region);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -337,16 +337,13 @@ abstract class core_filetypes {
|
||||
// Get defaults.
|
||||
$mimetypes = self::get_default_types();
|
||||
|
||||
// If there are no custom types, just return.
|
||||
// Get custom file types.
|
||||
$custom = self::get_custom_types();
|
||||
if (empty($custom)) {
|
||||
return $mimetypes;
|
||||
}
|
||||
|
||||
// Check value is an array.
|
||||
if (!is_array($custom)) {
|
||||
debugging('Invalid $CFG->customfiletypes (not array)', DEBUG_DEVELOPER);
|
||||
return $mimetypes;
|
||||
$custom = array();
|
||||
}
|
||||
|
||||
foreach ($custom as $customentry) {
|
||||
|
||||
@@ -86,7 +86,7 @@ class api {
|
||||
// Facebook is a custom setup.
|
||||
$record = (object) [
|
||||
'name' => 'Facebook',
|
||||
'image' => 'https://facebookbrand.com/wp-content/themes/fb-branding/prj-fb-branding/assets/images/fb-art.png',
|
||||
'image' => 'https://facebookbrand.com/wp-content/uploads/2016/05/flogo_rgb_hex-brc-site-250.png',
|
||||
'baseurl' => '',
|
||||
'loginscopes' => 'public_profile email',
|
||||
'loginscopesoffline' => 'public_profile email',
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user