diff --git a/portfolio/boxnet/db/upgrade.php b/portfolio/boxnet/db/upgrade.php new file mode 100644 index 00000000000..b3422796f73 --- /dev/null +++ b/portfolio/boxnet/db/upgrade.php @@ -0,0 +1,50 @@ +. + +/** + * Upgrade. + * + * @package portfolio_boxnet + * @copyright 2013 Frédéric Massart + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +/** + * Upgrade function. + * + * @param int $oldversion the version we are upgrading from. + * @return bool result + */ +function xmldb_portfolio_boxnet_upgrade($oldversion) { + global $CFG, $DB; + require_once($CFG->dirroot . '/portfolio/boxnet/db/upgradelib.php'); + + $dbman = $DB->get_manager(); + + if ($oldversion < 2013050101) { + // Message the admins. + $existing = $DB->get_record('portfolio_instance', array('plugin' => 'boxnet'), '*', IGNORE_MULTIPLE); + if ($existing) { + portfolio_boxnet_admin_upgrade_notification(); + } + + upgrade_plugin_savepoint(true, 2013050101, 'portfolio', 'boxnet'); + } + + return true; +} diff --git a/portfolio/boxnet/db/upgradelib.php b/portfolio/boxnet/db/upgradelib.php new file mode 100644 index 00000000000..fe87bd6cbf7 --- /dev/null +++ b/portfolio/boxnet/db/upgradelib.php @@ -0,0 +1,55 @@ +. + +/** + * Locallib. + * + * @package portfolio_boxnet + * @copyright 2013 Frédéric Massart + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +/** + * Send a message to the admin in regard with the APIv1 migration. + * + * @return void + */ +function portfolio_boxnet_admin_upgrade_notification() { + $admins = get_admins(); + + if (empty($admins)) { + return; + } + $a = new stdClass(); + $a->docsurl = get_docs_url('Box.net_APIv1_migration'); + + foreach ($admins as $admin) { + $message = new stdClass(); + $message->component = 'moodle'; + $message->name = 'notices'; + $message->userfrom = get_admin(); + $message->userto = $admin; + $message->smallmessage = get_string('apiv1migration_message_small', 'portfolio_boxnet'); + $message->subject = get_string('apiv1migration_message_subject', 'portfolio_boxnet'); + $message->fullmessage = get_string('apiv1migration_message_content', 'portfolio_boxnet', $a); + $message->fullmessagehtml = get_string('apiv1migration_message_content', 'portfolio_boxnet', $a); + $message->fullmessageformat = FORMAT_PLAIN; + $message->notification = 1; + message_send($message); + } +} diff --git a/portfolio/boxnet/lang/en/portfolio_boxnet.php b/portfolio/boxnet/lang/en/portfolio_boxnet.php index b4e2c1ae7c4..a77bb6fac8a 100644 --- a/portfolio/boxnet/lang/en/portfolio_boxnet.php +++ b/portfolio/boxnet/lang/en/portfolio_boxnet.php @@ -23,6 +23,9 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ +$string['apiv1migration_message_content'] = 'As part of the recent Moodle upgrade to 2.5.3, the Box.net portfolio plugin has been disabled. To re-enable it, you need to re-configure it as described in the documentation {$a->docsurl}.'; +$string['apiv1migration_message_small'] = 'This plugin has been disabled, as it requires configuration as described in the documentation Box.net APIv1 migration.'; +$string['apiv1migration_message_subject'] = 'Important information regarding Box.net portfolio plugin'; $string['clientid'] = 'Client ID'; $string['clientsecret'] = 'Client secret'; $string['existingfolder'] = 'Existing folder to put file(s) into'; diff --git a/portfolio/boxnet/version.php b/portfolio/boxnet/version.php index f5091c50370..e14ebf8b4b3 100644 --- a/portfolio/boxnet/version.php +++ b/portfolio/boxnet/version.php @@ -24,7 +24,7 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2013050100; // The current plugin version (Date: YYYYMMDDXX) +$plugin->version = 2013050101; // The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2013050100; // Requires this Moodle version $plugin->component = 'portfolio_boxnet'; // Full name of the plugin (used for diagnostics) $plugin->cron = 0;