Author: david
Date: Fri May  4 17:17:20 2012
New Revision: 11643

Log:
Implement all upgrades from QubitMigrate120 + add  column to user table

Modified:
   trunk/data/fixtures/settings.yml
   trunk/lib/task/migrate/arUpgrader120.class.php

Modified: trunk/data/fixtures/settings.yml
==============================================================================
--- trunk/data/fixtures/settings.yml    Fri May  4 17:16:25 2012        (r11642)
+++ trunk/data/fixtures/settings.yml    Fri May  4 17:17:20 2012        (r11643)
@@ -3,7 +3,7 @@
     name: version
     editable: 0
     deleteable: 0
-    value: 80
+    value: 81
   QubitSetting_2:
     name: upload_dir
     editable: 0

Modified: trunk/lib/task/migrate/arUpgrader120.class.php
==============================================================================
--- trunk/lib/task/migrate/arUpgrader120.class.php      Fri May  4 17:16:25 
2012        (r11642)
+++ trunk/lib/task/migrate/arUpgrader120.class.php      Fri May  4 17:17:20 
2012        (r11643)
@@ -34,6 +34,7 @@
   {
     switch($version)
     {
+      // Add setting for job_scheduling
       case 75:
         $setting = new QubitSetting;
         $setting->name  = 'use_job_scheduler';
@@ -44,127 +45,86 @@
 
         break;
 
+      // Add SWORD deposit directory setting
       case 76:
-        //$this->addSwordSettings();
-        return false;
+        $setting = new QubitSetting;
+        $setting->name  = 'sword_deposit_dir';
+        $setting->value = '/tmp';
+        $setting->culture = 'en';
+
+        $setting->save();
+
+        break;
 
+      // Add security settings
       case 77:
-        //$this->addSecuritySettings();
-        return false;
+        $setting = new QubitSetting;
+        $setting->name  = 'require_ssl_admin';
+        $setting->value = '0';
+        $setting->culture = 'en';
+        $setting->save();
 
-      case 78:
-        //$this->addBrowserSortSettings();
-        return false;
+        $setting = new QubitSetting;
+        $setting->name  = 'require_strong_passwords';
+        $setting->value = '0';
+        $setting->culture = 'en';
+        $setting->save();
 
-      case 79:
-        //$this->addLanguageNoteTerm();
-        return false;
+        $setting = new QubitSetting;
+        $setting->name  = 'limit_admin_ip';
+        $setting->value = '0';
+        $setting->culture = 'en';
+        $setting->save();
 
-      // Return false if no upgrade available
-      default:
-        return false;
-    }
+        break;
 
-    return true;
-  }
+      // Add browse sort settings
+      case 78:
+        $setting = new QubitSetting;
+        $setting->name  = 'sort_browser_user';
+        $setting->value = 'lastUpdated';
+        $setting->culture = 'en';
+        $setting->save();
 
-  /**
-   * Add job scheduling settings
-   *
-   * @return QubitMigrate120 this object
-   */
-  protected function addJobSchedulingSettings()
-  {
-    $this->data['QubitSetting']['QubitSetting_useJobScheduler'] = array(
-      'name' => 'use_job_scheduler',
-      'value' => array('en' => '0'),
-      'source_culture' => 'en'
-    );
+        $setting = new QubitSetting;
+        $setting->name  = 'sort_browser_anonymous';
+        $setting->value = 'alphabetic';
+        $setting->culture = 'en';
+        $setting->save();
 
-    return $this;
-  }
+        break;
 
-  /**
-   * Add SWORD settings
-   *
-   * @return QubitMigrate120 this object
-   */
-  protected function addSwordSettings()
-  {
-    $this->data['QubitSetting']['QubitSetting_swordDepositDir'] = array(
-      'name' => 'sword_deposit_dir',
-      'value' => array('en' => '/tmp'),
-      'source_culture' => 'en'
-    );
+      // Add 'Language note' term
+      case 79:
+        $term = new QubitTerm;
+        $term->parentId = QubitTerm::ROOT_ID;
+        $term->taxonomyId = QubitTaxonomy::NOTE_TYPE_ID;
+        $term->name = 'Language note';
+        $term->culture = 'en';
 
-    return $this;
-  }
+        $term->save();
 
-  /**
-   * Add security settings
-   *
-   * @return QubitMigrate120 this object
-   */
-  protected function addSecuritySettings()
-  {
-    $this->data['QubitSetting']['QubitSetting_requireSslAdmin'] = array(
-      'name' => 'require_ssl_admin',
-      'value' => array('en' => 0),
-      'source_culture' => 'en'
-    );
-
-    $this->data['QubitSetting']['QubitSetting_requireStrongPasswords'] = array(
-      'name' => 'require_strong_passwords',
-      'value' => array('en' => 0),
-      'source_culture' => 'en'
-    );
-
-    $this->data['QubitSetting']['QubitSetting_limitAdminIp'] = array(
-      'name' => 'limit_admin_ip',
-      'value' => array('en' => ''),
-      'source_culture' => 'en'
-    );
+        break;
 
-    return $this;
-  }
+      // Add 'active' column to user table
+      case 80:
+        // NOTE: this ALTER statement automatically sets `active`=1 for 
existing users
+        $sql = sprintf('ALTER TABLE %s ADD COLUMN active TINYINT DEFAULT 1;', 
QubitUser::TABLE_NAME);
+        QubitPdo::modify($sql);
 
-  /**
-   * Add security settings
-   *
-   * @return QubitMigrate120 this object
-   */
-  protected function addBrowserSortSettings()
-  {
-    $this->data['QubitSetting']['QubitSetting_sort_browser_user'] = array(
-      'name' => 'sort_browser_user',
-      'value' => array('en' => 'lastUpdated'),
-      'source_culture' => 'en'
-    );
-
-    $this->data['QubitSetting']['QubitSetting_sort_browser_anonymous'] = array(
-      'name' => 'sort_browser_anonymous',
-      'value' => array('en' => 'alphabetic'),
-      'source_culture' => 'en'
-    );
+        break;
 
-    return $this;
-  }
+      // Add constant_id column to terms table
+      case 81:
+        return false;
 
-  /**
-   * Add language note
-   *
-   * @return QubitMigrate120 this object
-   */
-  protected function addLanguageNoteTerm()
-  {
-    $this->data['QubitTerm']['QubitTerm_language_note'] = array(
-      'source_culture' => 'en',
-      'parent_id' => '<?php echo QubitTerm::ROOT_ID."\n" ?>',
-      'taxonomy_id' => '<?php echo QubitTaxonomy::NOTE_TYPE_ID."\n" ?>',
-      'id' => '<?php echo QubitTerm::LANGUAGE_NOTE_ID."\n" ?>',
-      'name' => array('en' => 'Language note')
-    );
+      // Return false if no upgrade available
+      default:
+        return false;
+    }
 
-    return $this;
+    return true;
   }
+
+
 }

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to