Author: ornicar2
Date: 2010-02-08 11:23:07 +0100 (Mon, 08 Feb 2010)
New Revision: 27712

Modified:
   plugins/diemPlugin/trunk/dmCorePlugin/lib/task/dmUpgradeTask.class.php
Log:
[Diem]
- provided automated upgrade task for theming and user changes

Modified: plugins/diemPlugin/trunk/dmCorePlugin/lib/task/dmUpgradeTask.class.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/lib/task/dmUpgradeTask.class.php      
2010-02-08 10:18:51 UTC (rev 27711)
+++ plugins/diemPlugin/trunk/dmCorePlugin/lib/task/dmUpgradeTask.class.php      
2010-02-08 10:23:07 UTC (rev 27712)
@@ -9,7 +9,9 @@
   $diemVersions = array(
     'addGaToken',
     'clearLogs',
-    'adminAuthModule'
+    'authDmUserModule',
+    'authDmUserAdminModule',
+    'renameLoginPage'
   );
   
   /**
@@ -78,7 +80,7 @@
     {
       $file = sfConfig::get('sf_data_dir').'/dm/log/'.$logName.'.log';
 
-      if(false !== strpos(file_get_contents($file), '{"time":'))
+      if(file_exists($file) && false !== strpos(file_get_contents($file), 
'{"time":'))
       {
         $this->logSection('upgrade', 'Cleared old school formatted log 
'.$logName);
         file_put_contents($file, '');
@@ -87,11 +89,45 @@
   }
 
   /**
+   * Fix login and secure module in front settings.yml
+   */
+  protected function upgradeToAuthDmUserModule()
+  {
+    // Front : Replace login and secure module: dmFront -> dmAuth
+    $settingsFile = dmProject::rootify('apps/front/config/settings.yml');
+    $settingsText = file_get_contents($settingsFile);
+    $settings = sfYaml::load($settingsText);
+
+    foreach(array('.settings', '.actions') as $space)
+    {
+      $loginModule  = dmArray::get(dmArray::get($settings['all'], $space, 
array()), 'login_module');
+      $loginAction  = dmArray::get(dmArray::get($settings['all'], $space, 
array()), 'login_action');
+      $secureModule = dmArray::get(dmArray::get($settings['all'], $space, 
array()), 'secure_module');
+
+      if('dmFront' == $loginModule)
+      {
+        $settingsText = preg_replace('/login_module\:(\s*)dmFront/i', 
'login_module:$1dmUser', $settingsText);
+        file_put_contents($settingsFile, $settingsText);
+      }
+      if('login' == $loginAction)
+      {
+        $settingsText = preg_replace('/login_action\:(\s*)login/i', 
'login_action:$1signin', $settingsText);
+        file_put_contents($settingsFile, $settingsText);
+      }
+      if('dmFront' == $secureModule)
+      {
+        $settingsText = preg_replace('/secure_module\:(\s*)dmFront/i', 
'secure_module:$1dmUser', $settingsText);
+        file_put_contents($settingsFile, $settingsText);
+      }
+    }
+  }
+
+  /*
    * Fix login and secure module in admin settings.yml
    */
-  protected function upgradeToAdminAuthModule()
+  protected function upgradeToAuthDmUserAdminModule()
   {
-    // Admin : Replace login and secure module: dmAuth -> dmAuthAdmin
+    // Admin : Replace login and secure module: dmAuthAdmin -> dmUserAdmin
     $settingsFile = dmProject::rootify('apps/admin/config/settings.yml');
     $settingsText = file_get_contents($settingsFile);
     $settings = sfYaml::load($settingsText);
@@ -101,16 +137,28 @@
       $loginModule  = dmArray::get(dmArray::get($settings['all'], $space, 
array()), 'login_module');
       $secureModule = dmArray::get(dmArray::get($settings['all'], $space, 
array()), 'secure_module');
 
-      if('dmAuth' == $loginModule)
+      if('dmAuth' == $loginModule || 'dmAuthAdmin' == $loginModule)
       {
-        $settingsText = preg_replace('/login_module\:(\s*)dmAuth/', 
'login_module:$1dmAuthAdmin', $settingsText);
+        $settingsText = preg_replace('/login_module\:(\s*)\w+/i', 
'login_module:$1dmUserAdmin', $settingsText);
         file_put_contents($settingsFile, $settingsText);
       }
-      if('dmAuth' == $secureModule)
+      if('dmAuth' == $secureModule || 'dmAuthAdmin' == $loginModule)
       {
-        $settingsText = preg_replace('/secure_module\:(\s*)dmAuth/', 
'secure_module:$1dmAuthAdmin', $settingsText);
+        $settingsText = preg_replace('/secure_module\:(\s*)\w+/i', 
'secure_module:$1dmUserAdmin', $settingsText);
         file_put_contents($settingsFile, $settingsText);
       }
     }
   }
+
+  protected function upgradeToRenameLoginPage()
+  {
+    if ($page = dmDb::table('DmPage')->findOneByModuleAndAction('main', 
'login'))
+    {
+      if(!dmDb::table('DmPage')->findOneByModuleAndAction('main', 'signin'))
+      {
+        $page->set('action', 'signin');
+        $page->save();
+      }
+    }
+  }
 }
\ No newline at end of file

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" 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/symfony-svn?hl=en.

Reply via email to