MDL-42666 repository_boxnet: Alert the admins of the migration process

This commit is contained in:
Frederic Massart 2013-11-05 17:32:44 +08:00
parent e27ed28785
commit 090976b966
4 changed files with 128 additions and 1 deletions

View File

@ -0,0 +1,69 @@
<?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.
*
* @package repository_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_repository_boxnet_upgrade($oldversion) {
global $CFG, $DB;
$dbman = $DB->get_manager();
if ($oldversion < 2013110503) {
// Delete old user preferences containing auth tokens.
$DB->delete_records('user_preferences', array('name' => 'boxnet__auth_token'));
upgrade_plugin_savepoint(true, 2013110503, 'repository', 'boxnet');
}
if ($oldversion < 2013110504) {
require_once($CFG->dirroot . '/repository/lib.php');
require_once($CFG->dirroot . '/repository/boxnet/db/upgradelib.php');
$params = array();
$params['context'] = array();
$params['onlyvisible'] = false;
$params['type'] = 'boxnet';
$instances = repository::get_instances($params);
// Notify the admin about the migration process if they are using the repo.
if (!empty($instances)) {
repository_boxnet_admin_upgrade_notification();
}
// Hide the repository.
$repositorytype = repository::get_type_by_typename('boxnet');
if (!empty($repositorytype)) {
$repositorytype->update_visibility(false);
}
upgrade_plugin_savepoint(true, 2013110504, 'repository', 'boxnet');
}
return true;
}

View File

@ -0,0 +1,55 @@
<?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/>.
/**
* Locallib.
*
* @package repository_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 repository_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', 'repository_boxnet');
$message->subject = get_string('apiv1migration_message_subject', 'repository_boxnet');
$message->fullmessage = get_string('apiv1migration_message_content', 'repository_boxnet', $a);
$message->fullmessagehtml = get_string('apiv1migration_message_content', 'repository_boxnet', $a);
$message->fullmessageformat = FORMAT_PLAIN;
$message->notification = 1;
message_send($message);
}
}

View File

@ -24,6 +24,9 @@
*/
$string['apikey'] = 'API key';
$string['apiv1migration_message_content'] = 'As part of the recent Moodle upgrade (2.6, 2.5.3, 2.4.7), the Box.net repository 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 repository plugin';
$string['boxnet:view'] = 'View box.net repository';
$string['cannotcreatereference'] = 'Cannot create a reference, not enough permissions to share the file on Box.net.';
$string['clientid'] = 'Client ID';

View File

@ -26,6 +26,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2013110500; // The current plugin version (Date: YYYYMMDDXX)
$plugin->version = 2013110504; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2013110500; // Requires this Moodle version
$plugin->component = 'repository_boxnet'; // Full name of the plugin (used for diagnostics)