From 5dcdf1d1ba7f4b84a84b27aeb66ceaa02541fb4f Mon Sep 17 00:00:00 2001 From: Shamim Rezaie Date: Wed, 30 May 2018 12:17:22 +1000 Subject: [PATCH] MDL-62588 enrol_paypal: Add missing instanceid field --- enrol/paypal/db/upgrade.php | 20 +++++++++++++++++++- enrol/paypal/version.php | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/enrol/paypal/db/upgrade.php b/enrol/paypal/db/upgrade.php index 5ed2ae764a5..9daab41ba38 100644 --- a/enrol/paypal/db/upgrade.php +++ b/enrol/paypal/db/upgrade.php @@ -43,7 +43,9 @@ defined('MOODLE_INTERNAL') || die(); function xmldb_enrol_paypal_upgrade($oldversion) { - global $CFG; + global $DB; + + $dbman = $DB->get_manager(); // Moodle v3.1.0 release upgrade line. // Put any upgrade step following this. @@ -57,5 +59,21 @@ function xmldb_enrol_paypal_upgrade($oldversion) { // Automatically generated Moodle v3.4.0 release upgrade line. // Put any upgrade step following this. + if ($oldversion < 2017111301) { + + // Define field instanceid to be added to enrol_paypal. + // For some reason, some Moodle instances that are upgraded from old versions do not have this field. + $table = new xmldb_table('enrol_paypal'); + $field = new xmldb_field('instanceid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'userid'); + + // Conditionally launch add field instanceid. + if (!$dbman->field_exists($table, $field)) { + $dbman->add_field($table, $field); + } + + // Paypal savepoint reached. + upgrade_plugin_savepoint(true, 2017111301, 'enrol', 'paypal'); + } + return true; } diff --git a/enrol/paypal/version.php b/enrol/paypal/version.php index a0aad9687b9..60ae6edfcf2 100644 --- a/enrol/paypal/version.php +++ b/enrol/paypal/version.php @@ -25,7 +25,7 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2017111300; // The current plugin version (Date: YYYYMMDDXX) +$plugin->version = 2017111301; // The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2017110800; // Requires this Moodle version $plugin->component = 'enrol_paypal'; // Full name of the plugin (used for diagnostics) $plugin->cron = 60;