Merge branch 'MDL-59159' of git://github.com/stronk7/moodle

This commit is contained in:
Andrew Nicols
2017-12-06 19:53:36 +13:00
committed by Jun Pataleta
103 changed files with 191 additions and 1984 deletions
+176
View File
@@ -2259,4 +2259,180 @@
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="3.5" requires="3.1">
<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.5.31" />
<VENDOR name="postgres" version="9.3" />
<VENDOR name="mssql" version="10.0" />
<VENDOR name="oracle" version="10.2" />
</DATABASE>
<PHP version="7.0.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_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
-3
View File
@@ -29,9 +29,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_tool_customlang_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_tool_log_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_logstore_database_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_logstore_standard_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -35,9 +35,6 @@ function xmldb_tool_monitor_upgrade($oldversion) {
$dbman = $DB->get_manager();
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016052305) {
// Define field inactivedate to be added to tool_monitor_subscriptions.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_auth_cas_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_auth_ldap_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_auth_manual_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_auth_mnet_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2017020700) {
-3
View File
@@ -45,9 +45,6 @@
function xmldb_block_badges_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -45,9 +45,6 @@
function xmldb_block_calendar_month_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -45,9 +45,6 @@
function xmldb_block_calendar_upcoming_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -46,9 +46,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_community_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -48,9 +48,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_completionstatus_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -48,9 +48,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_course_summary_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_html_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -55,9 +55,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_navigation_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -45,9 +45,6 @@
function xmldb_block_quiz_results_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -47,9 +47,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_recent_activity_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_rss_client_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -49,9 +49,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_section_links_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -48,9 +48,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_selfcompletion_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -55,9 +55,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_block_settings_upgrade($oldversion, $block) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_enrol_database_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_enrol_flatfile_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_enrol_guest_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_enrol_imsenterprise_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_enrol_manual_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_enrol_mnet_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -45,9 +45,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_enrol_paypal_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_enrol_self_upgrade($oldversion) {
global $CFG, $DB;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016052301) {
// Get roles with manager archetype.
$managerroles = get_archetype_roles('manager');
+3 -20
View File
@@ -33,26 +33,6 @@ function xmldb_filter_mathjaxloader_upgrade($oldversion) {
require_once($CFG->dirroot . '/filter/mathjaxloader/db/upgradelib.php');
if ($oldversion < 2016032200) {
$httpurl = get_config('filter_mathjaxloader', 'httpurl');
// Don't change the config if it has been manually changed to something besides the default setting value.
if ($httpurl === "http://cdn.mathjax.org/mathjax/2.5-latest/MathJax.js") {
set_config('httpurl', 'http://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js', 'filter_mathjaxloader');
}
$httpsurl = get_config('filter_mathjaxloader', 'httpsurl');
// Don't change the config if it has been manually changed to something besides the default setting value.
if ($httpsurl === "https://cdn.mathjax.org/mathjax/2.5-latest/MathJax.js") {
set_config('httpsurl', 'https://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js', 'filter_mathjaxloader');
}
upgrade_plugin_savepoint(true, 2016032200, 'filter', 'mathjaxloader');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016080200) {
// We are consolodating the two settings for http and https url into only the https
// setting. Since it is preferably to always load the secure resource.
@@ -78,8 +58,10 @@ function xmldb_filter_mathjaxloader_upgrade($oldversion) {
}
upgrade_plugin_savepoint(true, 2016102500, 'filter', 'mathjaxloader');
}
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
//
if ($oldversion < 2017040300) {
$httpsurl = get_config('filter_mathjaxloader', 'httpsurl');
@@ -97,6 +79,7 @@ function xmldb_filter_mathjaxloader_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2017040300, 'filter', 'mathjaxloader');
}
if ($oldversion < 2017042602) {
$httpsurl = get_config('filter_mathjaxloader', 'httpsurl');
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_filter_mediaplugin_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_filter_tex_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-12
View File
@@ -37,18 +37,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_gradingform_guide_upgrade($oldversion) {
global $DB;
if ($oldversion < 2016051100) {
// Clean up empty string or null marking guide comments.
$sql = $DB->sql_isempty('gradingform_guide_comments', 'description', true, true);
$sql .= " OR description IS NULL ";
$DB->delete_records_select('gradingform_guide_comments', $sql);
// Main savepoint reached.
upgrade_plugin_savepoint(true, 2016051100, 'gradingform', 'guide');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_gradingform_rubric_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -29,9 +29,6 @@
function xmldb_gradereport_user_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-2
View File
@@ -31,8 +31,6 @@ defined('MOODLE_INTERNAL') || die();
* @return bool
*/
function xmldb_antivirus_clamav_upgrade($oldversion) {
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016101700) {
// Remove setting that has been deprecated long time ago at MDL-44260.
+4 -994
View File
File diff suppressed because it is too large Load Diff
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_editor_atto_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_atto_equation_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_editor_tinymce_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_tinymce_spellchecker_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_message_email_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_message_jabber_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_message_popup_upgrade($oldversion) {
global $CFG, $DB;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
$dbman = $DB->get_manager();
if ($oldversion < 2016052309) {
-3
View File
@@ -34,9 +34,6 @@ function xmldb_assign_upgrade($oldversion) {
$dbman = $DB->get_manager();
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016100301) {
// Define table assign_overrides to be created.
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_assignfeedback_comments_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -34,31 +34,6 @@ function xmldb_assignfeedback_editpdf_upgrade($oldversion) {
$dbman = $DB->get_manager();
if ($oldversion < 2016021600) {
// Define table assignfeedback_editpdf_queue to be created.
$table = new xmldb_table('assignfeedback_editpdf_queue');
// Adding fields to table assignfeedback_editpdf_queue.
$table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
$table->add_field('submissionid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null);
$table->add_field('submissionattempt', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null);
// Adding keys to table assignfeedback_editpdf_queue.
$table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));
// Conditionally launch create table for assignfeedback_editpdf_queue.
if (!$dbman->table_exists($table)) {
$dbman->create_table($table);
}
// Editpdf savepoint reached.
upgrade_plugin_savepoint(true, 2016021600, 'assignfeedback', 'editpdf');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_assignfeedback_file_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_assignsubmission_comments_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_assignsubmission_file_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_assignsubmission_onlinetext_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -24,9 +24,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_assignment_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die;
function xmldb_book_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -27,9 +27,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_chat_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -24,9 +24,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_choice_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-19
View File
@@ -26,25 +26,6 @@ function xmldb_data_upgrade($oldversion) {
$dbman = $DB->get_manager();
if ($oldversion < 2016030300) {
// Define field timemodified to be added to data.
$table = new xmldb_table('data');
$field = new xmldb_field('timemodified', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'notification');
// Conditionally launch add field timemodified.
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}
// Data savepoint reached.
upgrade_mod_savepoint(true, 2016030300, 'data');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016090600) {
// Define field config to be added to data.
-96
View File
@@ -38,105 +38,9 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_feedback_upgrade($oldversion) {
global $CFG, $DB;
require_once($CFG->dirroot . '/mod/feedback/db/upgradelib.php');
$dbman = $DB->get_manager(); // Loads ddl manager and xmldb classes.
if ($oldversion < 2016031600) {
// Remove labels from all 'captcha' and 'label' items.
$DB->execute('UPDATE {feedback_item} SET label = ? WHERE typ = ? OR typ = ?',
array('', 'captcha', 'label'));
// Data savepoint reached.
upgrade_mod_savepoint(true, 2016031600, 'feedback');
}
if ($oldversion < 2016040100) {
// In order to keep the previous "Analysis" results unchanged,
// set all multiple-answer multiplechoice questions as "Do not analyse empty submits"="Yes"
// because prior to this date this setting did not work.
$sql = "UPDATE {feedback_item} SET options = " . $DB->sql_concat('?', 'options') .
" WHERE typ = ? AND presentation LIKE ? AND options NOT LIKE ?";
$params = array('i', 'multichoice', 'c%', '%i%');
$DB->execute($sql, $params);
// Feedback savepoint reached.
upgrade_mod_savepoint(true, 2016040100, 'feedback');
}
if ($oldversion < 2016051103) {
// Define index completed_item (unique) to be added to feedback_value.
$table = new xmldb_table('feedback_value');
$index = new xmldb_index('completed_item', XMLDB_INDEX_UNIQUE, array('completed', 'item', 'course_id'));
// Conditionally launch add index completed_item.
if (!$dbman->index_exists($table, $index)) {
mod_feedback_upgrade_delete_duplicate_values();
$dbman->add_index($table, $index);
}
// Feedback savepoint reached.
upgrade_mod_savepoint(true, 2016051103, 'feedback');
}
if ($oldversion < 2016051104) {
// Define index completed_item (unique) to be added to feedback_valuetmp.
$table = new xmldb_table('feedback_valuetmp');
$index = new xmldb_index('completed_item', XMLDB_INDEX_UNIQUE, array('completed', 'item', 'course_id'));
// Conditionally launch add index completed_item.
if (!$dbman->index_exists($table, $index)) {
mod_feedback_upgrade_delete_duplicate_values(true);
$dbman->add_index($table, $index);
}
// Feedback savepoint reached.
upgrade_mod_savepoint(true, 2016051104, 'feedback');
}
if ($oldversion < 2016051105) {
// Define field courseid to be added to feedback_completed.
$table = new xmldb_table('feedback_completed');
$field = new xmldb_field('courseid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'anonymous_response');
// Conditionally launch add field courseid.
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
// Run upgrade script to fill the new field courseid with the data from feedback_value table.
mod_feedback_upgrade_courseid(false);
}
// Define field courseid to be added to feedback_completedtmp.
$table = new xmldb_table('feedback_completedtmp');
$field = new xmldb_field('courseid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'anonymous_response');
// Conditionally launch add field courseid.
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
// Run upgrade script to fill the new field courseid with the data from feedback_valuetmp table.
mod_feedback_upgrade_courseid(true);
}
// Define table feedback_tracking to be dropped.
$table = new xmldb_table('feedback_tracking');
// Conditionally launch drop table for feedback_tracking.
if ($dbman->table_exists($table)) {
$dbman->drop_table($table);
}
// Feedback savepoint reached.
upgrade_mod_savepoint(true, 2016051105, 'feedback');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-89
View File
@@ -1,89 +0,0 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Upgrade helper functions
*
* @package mod_feedback
* @copyright 2016 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
/**
* Fill new field courseid in tables feedback_completed or feedback_completedtmp
*
* @param bool $tmp use for temporary table
*/
function mod_feedback_upgrade_courseid($tmp = false) {
global $DB;
$suffix = $tmp ? 'tmp' : '';
// Part 1. Ensure that each completed record has associated values with only one courseid.
$sql = "SELECT c.id
FROM {feedback_completed$suffix} c, {feedback_value$suffix} v
WHERE c.id = v.completed
GROUP by c.id
having count(DISTINCT v.course_id) > 1";
$problems = $DB->get_fieldset_sql($sql);
foreach ($problems as $problem) {
$courses = $DB->get_fieldset_sql("SELECT DISTINCT course_id "
. "FROM {feedback_value$suffix} WHERE completed = ?", array($problem));
$firstcourse = array_shift($courses);
$record = $DB->get_record('feedback_completed'.$suffix, array('id' => $problem));
unset($record->id);
$DB->update_record('feedback_completed'.$suffix, ['id' => $problem, 'courseid' => $firstcourse]);
foreach ($courses as $courseid) {
$record->courseid = $courseid;
$completedid = $DB->insert_record('feedback_completed'.$suffix, $record);
$DB->execute("UPDATE {feedback_value$suffix} SET completed = ? WHERE completed = ? AND course_id = ?",
array($completedid, $problem, $courseid));
}
}
// Part 2. Update courseid in the completed table.
if ($DB->get_dbfamily() !== 'mysql') {
$sql = "UPDATE {feedback_completed$suffix} "
. "SET courseid = (SELECT COALESCE(MIN(v.course_id), 0) "
. "FROM {feedback_value$suffix} v "
. "WHERE v.completed = {feedback_completed$suffix}.id)";
$DB->execute($sql);
} else {
$sql = "UPDATE {feedback_completed$suffix} c, {feedback_value$suffix} v "
. "SET c.courseid = v.course_id "
. "WHERE v.completed = c.id AND v.course_id <> 0";
$DB->execute($sql);
}
}
/**
* Ensure tables feedback_value and feedback_valuetmp have unique entries for each pair (completed,item).
*
* @param bool $tmp use for temporary table
*/
function mod_feedback_upgrade_delete_duplicate_values($tmp = false) {
global $DB;
$suffix = $tmp ? 'tmp' : '';
$sql = "SELECT MIN(id) AS id, completed, item, course_id " .
"FROM {feedback_value$suffix} GROUP BY completed, item, course_id HAVING count(id)>1";
$records = $DB->get_records_sql($sql);
foreach ($records as $record) {
$DB->delete_records_select("feedback_value$suffix",
"completed = :completed AND item = :item AND course_id = :course_id AND id > :id", (array)$record);
}
}
-301
View File
@@ -1,301 +0,0 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Tests for functions in db/upgradelib.php
*
* @package mod_feedback
* @copyright 2016 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->dirroot . '/mod/feedback/db/upgradelib.php');
/**
* Tests for functions in db/upgradelib.php
*
* @package mod_feedback
* @copyright 2016 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class mod_feedback_upgradelib_testcase extends advanced_testcase {
/** @var string */
protected $testsql = "SELECT COUNT(v.id) FROM {feedback_completed} c, {feedback_value} v
WHERE c.id = v.completed AND c.courseid <> v.course_id";
/** @var string */
protected $testsqltmp = "SELECT COUNT(v.id) FROM {feedback_completedtmp} c, {feedback_valuetmp} v
WHERE c.id = v.completed AND c.courseid <> v.course_id";
/** @var int */
protected $course1;
/** @var int */
protected $course2;
/** @var stdClass */
protected $feedback;
/** @var stdClass */
protected $user;
/**
* Sets up the fixture
* This method is called before a test is executed.
*/
public function setUp() {
parent::setUp();
$this->resetAfterTest(true);
$this->course1 = $this->getDataGenerator()->create_course();
$this->course2 = $this->getDataGenerator()->create_course();
$this->feedback = $this->getDataGenerator()->create_module('feedback', array('course' => SITEID));
$this->user = $this->getDataGenerator()->create_user();
}
public function test_upgrade_courseid_completed() {
global $DB;
// Case 1. No errors in the data.
$completed1 = $DB->insert_record('feedback_completed',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 1]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 2, 'value' => 2]);
$this->assertCount(1, $DB->get_records('feedback_completed'));
$this->assertEquals(2, $DB->count_records_sql($this->testsql)); // We have errors!
mod_feedback_upgrade_courseid(true); // Running script for temp tables.
$this->assertCount(1, $DB->get_records('feedback_completed'));
$this->assertEquals(2, $DB->count_records_sql($this->testsql)); // Nothing changed.
mod_feedback_upgrade_courseid();
$this->assertCount(1, $DB->get_records('feedback_completed')); // Number of records is the same.
$this->assertEquals(0, $DB->count_records_sql($this->testsql)); // All errors are fixed!
}
public function test_upgrade_courseid_completed_with_errors() {
global $DB;
// Case 2. Errors in data (same feedback_completed has values for different courses).
$completed1 = $DB->insert_record('feedback_completed',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 1]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course2->id,
'item' => 1, 'value' => 2]);
$this->assertCount(1, $DB->get_records('feedback_completed'));
$this->assertEquals(2, $DB->count_records_sql($this->testsql)); // We have errors!
mod_feedback_upgrade_courseid(true); // Running script for temp tables.
$this->assertCount(1, $DB->get_records('feedback_completed'));
$this->assertEquals(2, $DB->count_records_sql($this->testsql)); // Nothing changed.
mod_feedback_upgrade_courseid();
$this->assertCount(2, $DB->get_records('feedback_completed')); // Extra record inserted.
$this->assertEquals(0, $DB->count_records_sql($this->testsql)); // All errors are fixed!
}
public function test_upgrade_courseid_completedtmp() {
global $DB;
// Case 1. No errors in the data.
$completed1 = $DB->insert_record('feedback_completedtmp',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 1]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 2, 'value' => 2]);
$this->assertCount(1, $DB->get_records('feedback_completedtmp'));
$this->assertEquals(2, $DB->count_records_sql($this->testsqltmp)); // We have errors!
mod_feedback_upgrade_courseid(); // Running script for non-temp tables.
$this->assertCount(1, $DB->get_records('feedback_completedtmp'));
$this->assertEquals(2, $DB->count_records_sql($this->testsqltmp)); // Nothing changed.
mod_feedback_upgrade_courseid(true);
$this->assertCount(1, $DB->get_records('feedback_completedtmp')); // Number of records is the same.
$this->assertEquals(0, $DB->count_records_sql($this->testsqltmp)); // All errors are fixed!
}
public function test_upgrade_courseid_completedtmp_with_errors() {
global $DB;
// Case 2. Errors in data (same feedback_completed has values for different courses).
$completed1 = $DB->insert_record('feedback_completedtmp',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 1]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course2->id,
'item' => 1, 'value' => 2]);
$this->assertCount(1, $DB->get_records('feedback_completedtmp'));
$this->assertEquals(2, $DB->count_records_sql($this->testsqltmp)); // We have errors!
mod_feedback_upgrade_courseid(); // Running script for non-temp tables.
$this->assertCount(1, $DB->get_records('feedback_completedtmp'));
$this->assertEquals(2, $DB->count_records_sql($this->testsqltmp)); // Nothing changed.
mod_feedback_upgrade_courseid(true);
$this->assertCount(2, $DB->get_records('feedback_completedtmp')); // Extra record inserted.
$this->assertEquals(0, $DB->count_records_sql($this->testsqltmp)); // All errors are fixed!
}
public function test_upgrade_courseid_empty_completed() {
global $DB;
// Record in 'feedback_completed' does not have corresponding values.
$DB->insert_record('feedback_completed',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$this->assertCount(1, $DB->get_records('feedback_completed'));
$record1 = $DB->get_record('feedback_completed', []);
mod_feedback_upgrade_courseid();
$this->assertCount(1, $DB->get_records('feedback_completed')); // Number of records is the same.
$record2 = $DB->get_record('feedback_completed', []);
$this->assertEquals($record1, $record2);
}
public function test_upgrade_remove_duplicates_no_duplicates() {
global $DB;
$completed1 = $DB->insert_record('feedback_completed',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 1]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 2, 'value' => 2]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 3, 'value' => 1]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course2->id,
'item' => 3, 'value' => 2]);
$this->assertCount(1, $DB->get_records('feedback_completed'));
$this->assertEquals(4, $DB->count_records('feedback_value'));
mod_feedback_upgrade_delete_duplicate_values();
$this->assertCount(1, $DB->get_records('feedback_completed'));
$this->assertEquals(4, $DB->count_records('feedback_value')); // Same number of records, no changes made.
}
public function test_upgrade_remove_duplicates() {
global $DB;
// Remove the index that was added in the upgrade.php AFTER running mod_feedback_upgrade_delete_duplicate_values().
$dbman = $DB->get_manager();
$table = new xmldb_table('feedback_value');
$index = new xmldb_index('completed_item', XMLDB_INDEX_UNIQUE, array('completed', 'item', 'course_id'));
$dbman->drop_index($table, $index);
// Insert duplicated values.
$completed1 = $DB->insert_record('feedback_completed',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 1]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 2]); // This is a duplicate with another value.
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 3, 'value' => 1]);
$DB->insert_record('feedback_value',
['completed' => $completed1, 'course_id' => $this->course2->id,
'item' => 3, 'value' => 2]); // This is not a duplicate because course id is different.
$this->assertCount(1, $DB->get_records('feedback_completed'));
$this->assertEquals(4, $DB->count_records('feedback_value'));
mod_feedback_upgrade_delete_duplicate_values(true); // Running script for temp tables.
$this->assertCount(1, $DB->get_records('feedback_completed'));
$this->assertEquals(4, $DB->count_records('feedback_value')); // Nothing changed.
mod_feedback_upgrade_delete_duplicate_values();
$this->assertCount(1, $DB->get_records('feedback_completed')); // Number of records is the same.
$this->assertEquals(3, $DB->count_records('feedback_value')); // Duplicate was deleted.
$this->assertEquals(1, $DB->get_field('feedback_value', 'value', ['item' => 1]));
$dbman->add_index($table, $index);
}
public function test_upgrade_remove_duplicates_no_duplicates_tmp() {
global $DB;
$completed1 = $DB->insert_record('feedback_completedtmp',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 1]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 2, 'value' => 2]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 3, 'value' => 1]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course2->id,
'item' => 3, 'value' => 2]);
$this->assertCount(1, $DB->get_records('feedback_completedtmp'));
$this->assertEquals(4, $DB->count_records('feedback_valuetmp'));
mod_feedback_upgrade_delete_duplicate_values(true);
$this->assertCount(1, $DB->get_records('feedback_completedtmp'));
$this->assertEquals(4, $DB->count_records('feedback_valuetmp')); // Same number of records, no changes made.
}
public function test_upgrade_remove_duplicates_tmp() {
global $DB;
// Remove the index that was added in the upgrade.php AFTER running mod_feedback_upgrade_delete_duplicate_values().
$dbman = $DB->get_manager();
$table = new xmldb_table('feedback_valuetmp');
$index = new xmldb_index('completed_item', XMLDB_INDEX_UNIQUE, array('completed', 'item', 'course_id'));
$dbman->drop_index($table, $index);
// Insert duplicated values.
$completed1 = $DB->insert_record('feedback_completedtmp',
['feedback' => $this->feedback->id, 'userid' => $this->user->id]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 1]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 1, 'value' => 2]); // This is a duplicate with another value.
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course1->id,
'item' => 3, 'value' => 1]);
$DB->insert_record('feedback_valuetmp',
['completed' => $completed1, 'course_id' => $this->course2->id,
'item' => 3, 'value' => 2]); // This is not a duplicate because course id is different.
$this->assertCount(1, $DB->get_records('feedback_completedtmp'));
$this->assertEquals(4, $DB->count_records('feedback_valuetmp'));
mod_feedback_upgrade_delete_duplicate_values(); // Running script for non-temp tables.
$this->assertCount(1, $DB->get_records('feedback_completedtmp'));
$this->assertEquals(4, $DB->count_records('feedback_valuetmp')); // Nothing changed.
mod_feedback_upgrade_delete_duplicate_values(true);
$this->assertCount(1, $DB->get_records('feedback_completedtmp')); // Number of records is the same.
$this->assertEquals(3, $DB->count_records('feedback_valuetmp')); // Duplicate was deleted.
$this->assertEquals(1, $DB->get_field('feedback_valuetmp', 'value', ['item' => 1]));
$dbman->add_index($table, $index);
}
}
+7
View File
@@ -1,3 +1,10 @@
=== 3.5 ===
* The following functions, previously used (exclusively) by upgrade steps are not available
anymore because of the upgrade cleanup performed for this version. See MDL-59159 for more info:
- mod_feedback_upgrade_delete_duplicate_values()
- mod_feedback_upgrade_courseid()
=== 3.3.2 ===
* feedback_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function
-14
View File
@@ -49,20 +49,6 @@ function xmldb_folder_upgrade($oldversion) {
$dbman = $DB->get_manager(); // Loads ddl manager and xmldb classes.
// Add showdownloadfolder option.
if ($oldversion < 2016020201) {
$table = new xmldb_table('folder');
$field = new xmldb_field('showdownloadfolder', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '1', 'showexpanded');
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field, 'showdownloadfolder');
}
upgrade_mod_savepoint(true, 2016020201, 'folder');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-16
View File
@@ -47,22 +47,6 @@ function xmldb_forum_upgrade($oldversion) {
$dbman = $DB->get_manager(); // Loads ddl manager and xmldb classes.
if ($oldversion < 2015120800) {
// Add support for pinned discussions.
$table = new xmldb_table('forum_discussions');
$field = new xmldb_field('pinned', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '0', 'timeend');
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}
// Forum savepoint reached.
upgrade_mod_savepoint(true, 2015120800, 'forum');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016091200) {
// Define field lockdiscussionafter to be added to forum.
-3
View File
@@ -22,9 +22,6 @@
function xmldb_glossary_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -31,9 +31,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_imscp_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -47,9 +47,6 @@ defined('MOODLE_INTERNAL') || die;
function xmldb_label_upgrade($oldversion) {
global $CFG, $DB;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-58
View File
@@ -54,64 +54,6 @@ function xmldb_lesson_upgrade($oldversion) {
$dbman = $DB->get_manager();
if ($oldversion < 2016012800) {
// Convert lesson settings to use config_plugins instead of $CFG.
// Lesson_maxanswers => mod_lesson/maxanswers.
if (isset($CFG->lesson_maxanswers)) {
set_config('maxanswers', $CFG->lesson_maxanswers, 'mod_lesson');
set_config('maxanswers_adv', '1', 'mod_lesson');
unset_config('lesson_maxanswers');
}
// Lesson_slideshowwidth => mod_lesson/slideshowwidth.
if (isset($CFG->lesson_slideshowwidth)) {
set_config('slideshowwidth', $CFG->lesson_slideshowwidth, 'mod_lesson');
unset_config('lesson_slideshowwidth');
}
// Lesson_slideshowheight => mod_lesson/slideshowheight.
if (isset($CFG->lesson_slideshowheight)) {
set_config('slideshowheight', $CFG->lesson_slideshowheight, 'mod_lesson');
unset_config('lesson_slideshowheight');
}
// Lesson_slideshowbgcolor => mod_lesson/slideshowbgcolor.
if (isset($CFG->lesson_slideshowbgcolor)) {
set_config('slideshowbgcolor', $CFG->lesson_slideshowbgcolor, 'mod_lesson');
unset_config('lesson_slideshowbgcolor');
}
// Lesson_defaultnextpage => mod_lesson/defaultnextpage.
if (isset($CFG->lesson_defaultnextpage)) {
set_config('defaultnextpage', $CFG->lesson_defaultnextpage, 'mod_lesson');
set_config('defaultnextpage_adv', '1', 'mod_lesson');
unset_config('lesson_defaultnextpage');
}
// Lesson_mediawidth => mod_lesson/mediawidth.
if (isset($CFG->lesson_mediawidth)) {
set_config('mediawidth', $CFG->lesson_mediawidth, 'mod_lesson');
unset_config('lesson_mediawidth');
}
// Lesson_mediaheight => mod_lesson/mediaheight.
if (isset($CFG->lesson_mediaheight)) {
set_config('mediaheight', $CFG->lesson_mediaheight, 'mod_lesson');
unset_config('lesson_mediaheight');
}
// Lesson_mediaclose => mod_lesson/mediaclose.
if (isset($CFG->lesson_mediaclose)) {
set_config('mediaclose', $CFG->lesson_mediaclose, 'mod_lesson');
unset_config('lesson_mediaclose');
}
// Lesson savepoint reached.
upgrade_mod_savepoint(true, 2016012800, 'lesson');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-18
View File
@@ -63,24 +63,6 @@ function xmldb_lti_upgrade($oldversion) {
$dbman = $DB->get_manager();
if ($oldversion < 2016041800) {
// Define field description to be added to lti_types.
$table = new xmldb_table('lti_types');
$field = new xmldb_field('description', XMLDB_TYPE_TEXT, null, null, null, null, null, 'timemodified');
// Conditionally launch add field description.
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}
// Lti savepoint reached.
upgrade_mod_savepoint(true, 2016041800, 'lti');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016052301) {
// Changing type of field value on table lti_types_config to text.
-3
View File
@@ -47,9 +47,6 @@ defined('MOODLE_INTERNAL') || die;
function xmldb_page_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-28
View File
@@ -33,34 +33,6 @@ function xmldb_quiz_upgrade($oldversion) {
$dbman = $DB->get_manager();
if ($oldversion < 2016032600) {
// Update quiz_sections to repair quizzes what were broken by MDL-53507.
$problemquizzes = $DB->get_records_sql("
SELECT quizid, MIN(firstslot) AS firstsectionfirstslot
FROM {quiz_sections}
GROUP BY quizid
HAVING MIN(firstslot) > 1");
if ($problemquizzes) {
$pbar = new progress_bar('upgradequizfirstsection', 500, true);
$total = count($problemquizzes);
$done = 0;
foreach ($problemquizzes as $problemquiz) {
$DB->set_field('quiz_sections', 'firstslot', 1,
array('quizid' => $problemquiz->quizid,
'firstslot' => $problemquiz->firstsectionfirstslot));
$done += 1;
$pbar->update($done, $total, "Fixing quiz layouts - {$done}/{$total}.");
}
}
// Quiz savepoint reached.
upgrade_mod_savepoint(true, 2016032600, 'quiz');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016092000) {
// Define new fields to be added to quiz.
$table = new xmldb_table('quiz');
-3
View File
@@ -31,9 +31,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_quiz_overview_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -30,9 +30,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_quiz_statistics_upgrade($oldversion) {
global $DB;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016100500) {
// Clear the quiz_statistics table - it is only a cache table anyway.
// This will force re-calculation.
-3
View File
@@ -47,9 +47,6 @@ defined('MOODLE_INTERNAL') || die;
function xmldb_resource_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-15
View File
@@ -34,21 +34,6 @@ function xmldb_scorm_upgrade($oldversion) {
$dbman = $DB->get_manager();
// MDL-50620 Add mastery override option.
if ($oldversion < 2016021000) {
$table = new xmldb_table('scorm');
$field = new xmldb_field('masteryoverride', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '1', 'lastattemptlock');
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}
upgrade_mod_savepoint(true, 2016021000, 'scorm');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// MDL-44712 improve multi-sco activity completion.
if ($oldversion < 2016080900) {
$table = new xmldb_table('scorm');
+1 -2
View File
@@ -23,10 +23,9 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_survey_upgrade($oldversion) {
global $DB;
$dbman = $DB->get_manager(); // Loads ddl manager and xmldb classes.
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016061400) {
// Define field completionsubmit to be added to survey.
-3
View File
@@ -47,9 +47,6 @@ defined('MOODLE_INTERNAL') || die;
function xmldb_url_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -40,9 +40,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_wiki_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-23
View File
@@ -39,29 +39,6 @@ function xmldb_workshop_upgrade($oldversion) {
$dbman = $DB->get_manager();
if ($oldversion < 2016022200) {
// Add field submissionfiletypes to the table workshop.
$table = new xmldb_table('workshop');
$field = new xmldb_field('submissionfiletypes', XMLDB_TYPE_CHAR, '255', null, null, null, null, 'nattachments');
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}
// Add field overallfeedbackfiletypes to the table workshop.
$field = new xmldb_field('overallfeedbackfiletypes',
XMLDB_TYPE_CHAR, '255', null, null, null, null, 'overallfeedbackfiles');
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}
upgrade_mod_savepoint(true, 2016022200, 'workshop');
}
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_workshopform_accumulative_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_workshopform_comments_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_workshopform_numerrors_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_workshopform_rubric_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_portfolio_boxnet_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -23,9 +23,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_portfolio_googledocs_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -23,9 +23,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_portfolio_picasa_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -30,9 +30,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qbehaviour_manualgraded_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_calculated_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_ddmarker_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_essay_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -31,9 +31,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_match_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_multianswer_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_multichoice_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_numerical_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -31,9 +31,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_random_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
@@ -31,9 +31,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_randomsamatch_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -32,9 +32,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_qtype_shortanswer_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -33,9 +33,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_repository_boxnet_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
// Automatically generated Moodle v3.2.0 release upgrade line.
// Put any upgrade step following this.
-3
View File
@@ -23,9 +23,6 @@ defined('MOODLE_INTERNAL') || die();
function xmldb_repository_dropbox_upgrade($oldversion) {
global $CFG;
// Moodle v3.1.0 release upgrade line.
// Put any upgrade step following this.
if ($oldversion < 2016091300) {
unset_config('legacyapi', 'dropbox');
upgrade_plugin_savepoint(true, 2016091300, 'repository', 'dropbox');

Some files were not shown because too many files have changed in this diff Show More