MDL-42666 repository_boxnet: Do not run the upgrade multiple times
authorFrederic Massart <fred@moodle.com>
Thu, 7 Nov 2013 06:50:50 +0000 (14:50 +0800)
committerDan Poltawski <dan@moodle.com>
Thu, 7 Nov 2013 07:53:59 +0000 (15:53 +0800)
repository/boxnet/db/upgrade.php
repository/boxnet/version.php

index 39fdb17..f30ebe2 100644 (file)
@@ -41,28 +41,34 @@ function xmldb_repository_boxnet_upgrade($oldversion) {
         upgrade_plugin_savepoint(true, 2013110503, 'repository', 'boxnet');
     }
 
-    if ($oldversion < 2013110504) {
+    if ($oldversion < 2013110700) {
         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);
+        $clientid = get_config('boxnet', 'clientid');
+        $clientsecret = get_config('boxnet', 'clientsecret');
 
-        // Notify the admin about the migration process if they are using the repo.
-        if (!empty($instances)) {
-            repository_boxnet_admin_upgrade_notification();
-        }
+        // Only proceed if the repository hasn't been set for APIv2 yet.
+        if ($clientid === false && $clientsecret === false) {
+            $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);
+            // Hide the repository.
+            $repositorytype = repository::get_type_by_typename('boxnet');
+            if (!empty($repositorytype)) {
+                $repositorytype->update_visibility(false);
+            }
         }
 
-        upgrade_plugin_savepoint(true, 2013110504, 'repository', 'boxnet');
+        upgrade_plugin_savepoint(true, 2013110700, 'repository', 'boxnet');
     }
 
     return true;
index a32ea60..91b489e 100644 (file)
@@ -26,6 +26,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2013110504;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->version   = 2013110517;        // 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)