Author: Jonathan.Wage
Date: 2010-02-17 15:04:45 +0100 (Wed, 17 Feb 2010)
New Revision: 28077

Modified:
   plugins/sfSympalPlugin/trunk/data/bin/installer.php
   plugins/sfSympalPlugin/trunk/lib/sfSympalConfiguration.class.php
   plugins/sfSympalPlugin/trunk/lib/sfSympalPluginEnabler.class.php
   plugins/sfSympalPlugin/trunk/test/fixtures/project/apps/sympal/config/app.yml
   
plugins/sfSympalPlugin/trunk/test/fixtures/project/config/ProjectConfiguration.class.php
   plugins/sfSympalPlugin/trunk/test/unit/ConfigurationTest.php
Log:
1.4][sfSympalPlugin][1.0] Fixing issue with the order of loaded plugins and 
using enableAllPluginsExcept() which should not be used anymore


Modified: plugins/sfSympalPlugin/trunk/data/bin/installer.php
===================================================================
--- plugins/sfSympalPlugin/trunk/data/bin/installer.php 2010-02-17 13:53:16 UTC 
(rev 28076)
+++ plugins/sfSympalPlugin/trunk/data/bin/installer.php 2010-02-17 14:04:45 UTC 
(rev 28077)
@@ -86,7 +86,6 @@
 $manipulator = 
sfClassManipulator::fromFile(sfConfig::get('sf_config_dir').'/ProjectConfiguration.class.php');
 $manipulator->wrapMethod('setup', '', 
'require_once(dirname(__FILE__).\'/../plugins/sfSympalPlugin/config/sfSympalPluginConfiguration.class.php\');');
 $manipulator->wrapMethod('setup', '', 
'sfSympalPluginConfiguration::enableSympalPlugins($this);');
-$manipulator->wrapMethod('setup', '', 
'$this->enableAllPluginsExcept(\'sfPropelPlugin\');');
 $manipulator->save();
 
 $this->logSection('sympal', '...downloading sfSympalPlugin');

Modified: plugins/sfSympalPlugin/trunk/lib/sfSympalConfiguration.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/sfSympalConfiguration.class.php    
2010-02-17 13:53:16 UTC (rev 28076)
+++ plugins/sfSympalPlugin/trunk/lib/sfSympalConfiguration.class.php    
2010-02-17 14:04:45 UTC (rev 28077)
@@ -246,26 +246,6 @@
   }
 
   /**
-   * Get array of required plugins for Sympal
-   *
-   * @return array $requiredPlugins
-   */
-  public function getRequiredPlugins()
-  {
-    $requiredPlugins = array();
-    foreach ($this->_projectConfiguration->getPlugins() as $pluginName)
-    {
-      if (strpos($pluginName, 'sfSympal') !== false)
-      {
-        $dependencies = 
sfSympalPluginToolkit::getPluginDependencies($pluginName);
-        $requiredPlugins = array_merge($requiredPlugins, $dependencies);
-      }
-    }
-
-    return array_values(array_unique($requiredPlugins));
-  }
-
-  /**
    * Get array of core Sympal plugins
    *
    * @return array $corePlugins
@@ -303,7 +283,9 @@
    */
   public function getDownloadedPlugins()
   {
-    return array_diff($this->getPlugins(), $this->getRequiredPlugins());
+    $downloadedPlugins = array_diff($this->getPlugins(), 
$this->getCorePlugins());
+    unset($downloadedPlugins[array_search('sfSympalPlugin', 
$downloadedPlugins)]);
+    return $downloadedPlugins;
   }
 
   /**

Modified: plugins/sfSympalPlugin/trunk/lib/sfSympalPluginEnabler.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/sfSympalPluginEnabler.class.php    
2010-02-17 13:53:16 UTC (rev 28076)
+++ plugins/sfSympalPlugin/trunk/lib/sfSympalPluginEnabler.class.php    
2010-02-17 14:04:45 UTC (rev 28077)
@@ -48,16 +48,26 @@
    */
   public function enableSympalPlugins()
   {
+    $this->_configuration->enablePlugins('sfDoctrinePlugin');
+
     if (!$this->isSympalEnabled())
     {
       return false;
     }
 
-    $this->_configuration->enablePlugins('sfDoctrinePlugin');
     $this->_configuration->enablePlugins('sfSympalPlugin');
     $this->_configuration->setPluginPath('sfSympalPlugin', 
$this->_sympalPluginPath);
 
     $this->enableSympalCorePlugins(sfSympalPluginConfiguration::$dependencies);
+
+    $plugins = $this->_configuration->getPlugins();
+    $finder = 
sfFinder::type('dir')->maxdepth(0)->ignore_version_control(false)->follow_link()->name('*Plugin');
+    foreach ($finder->in(sfConfig::get('sf_plugins_dir')) as $path)
+    {
+      $plugins[] = basename($path);
+    }
+    sort($plugins);
+    $this->_configuration->setPlugins($plugins);
   }
 
   /**

Modified: 
plugins/sfSympalPlugin/trunk/test/fixtures/project/apps/sympal/config/app.yml
===================================================================
--- 
plugins/sfSympalPlugin/trunk/test/fixtures/project/apps/sympal/config/app.yml   
    2010-02-17 13:53:16 UTC (rev 28076)
+++ 
plugins/sfSympalPlugin/trunk/test/fixtures/project/apps/sympal/config/app.yml   
    2010-02-17 14:04:45 UTC (rev 28077)
@@ -1,6 +1,7 @@
 all:
   sympal_config:
     breadcrumbs_separator: ' / '
+    language_codes: [en, fr, es]
     plugin_api:
       username: test
       password: test

Modified: 
plugins/sfSympalPlugin/trunk/test/fixtures/project/config/ProjectConfiguration.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/test/fixtures/project/config/ProjectConfiguration.class.php
    2010-02-17 13:53:16 UTC (rev 28076)
+++ 
plugins/sfSympalPlugin/trunk/test/fixtures/project/config/ProjectConfiguration.class.php
    2010-02-17 14:04:45 UTC (rev 28077)
@@ -19,8 +19,6 @@
   {
     
require_once(dirname(__FILE__).'/../../../../config/sfSympalPluginConfiguration.class.php');
     sfSympalPluginConfiguration::enableSympalPlugins($this);
-
-    $this->enableAllPluginsExcept('sfPropelPlugin');
   }
 
   public function setupPlugins()

Modified: plugins/sfSympalPlugin/trunk/test/unit/ConfigurationTest.php
===================================================================
--- plugins/sfSympalPlugin/trunk/test/unit/ConfigurationTest.php        
2010-02-17 13:53:16 UTC (rev 28076)
+++ plugins/sfSympalPlugin/trunk/test/unit/ConfigurationTest.php        
2010-02-17 14:04:45 UTC (rev 28077)
@@ -13,7 +13,7 @@
 $app = 'sympal';
 require_once(dirname(__FILE__).'/../bootstrap/unit.php');
 
-$t = new lime_test(22, new lime_output_color());
+$t = new lime_test(24, new lime_output_color());
 
 $sympalPluginConfiguration = 
sfContext::getInstance()->getConfiguration()->getPluginConfiguration('sfSympalPlugin');
 $sympalConfiguration = $sympalPluginConfiguration->getSympalConfiguration();
@@ -42,35 +42,7 @@
 $t->is(is_array($pluginPaths), true, '->getPluginPaths() returns array'); 
 $t->is(isset($pluginPaths['sfSympalBlogPlugin']), true, '->getPluginPaths() 
includes sfSympalBlogPlugin'); 
 $t->is($pluginPaths['sfSympalBlogPlugin'], 
sfConfig::get('sf_plugins_dir').'/sfSympalBlogPlugin', '->getPluginPaths() 
returns correct path as value of array');
-       
-$requiredPlugins = array(
-  'sfSympalPlugin',
-  'sfSympalUserPlugin',
-  'sfFormExtraPlugin',
-  'sfDoctrineGuardPlugin',
-  'sfTaskExtraPlugin',
-  'sfFeed2Plugin',
-  'sfWebBrowserPlugin',
-  'sfJqueryReloadedPlugin',
-  'sfThumbnailPlugin',
-  'sfImageTransformPlugin',
-  'sfSympalMenuPlugin',
-  'sfSympalPluginManagerPlugin',
-  'sfSympalPagesPlugin',
-  'sfSympalContentListPlugin',
-  'sfSympalDataGridPlugin',
-  'sfSympalInstallPlugin',
-  'sfSympalUpgradePlugin',
-  'sfSympalRenderingPlugin',
-  'sfSympalAdminPlugin',
-  'sfSympalEditorPlugin',
-  'sfSympalAssetsPlugin',
-  'sfSympalContentSyntaxPlugin',
-  'sfSympalSearchPlugin'
-);
 
-$t->is($sympalConfiguration->getRequiredPlugins(), $requiredPlugins, 
'->getRequiredPlugins() returns the correct array');
-
 $corePlugins = array(
   'sfDoctrineGuardPlugin',
   'sfFormExtraPlugin',
@@ -136,4 +108,9 @@
 ), '->getContentTypePlugins() returns the correct array of plugins with 
content typed defined'); 
  
 $allManageablePlugins = $sympalConfiguration->getAllManageablePlugins(); 
-$t->is(in_array('sfSympalBlogPlugin', $allManageablePlugins), true, 
'->getAllManageablePlugins() returns the correct array of plugins');
\ No newline at end of file
+$t->is(in_array('sfSympalBlogPlugin', $allManageablePlugins), true, 
'->getAllManageablePlugins() returns the correct array of plugins');
+
+$plugins = $sympalConfiguration->getProjectConfiguration()->getPlugins();
+$t->is($plugins[0], 'sfDoctrinePlugin', 'Test sfDoctrinePlugin is loaded 
first');
+$t->is($plugins[1], 'sfSympalPlugin', 'Test sfSympalPlugin is loaded second');
+$t->is(in_array('sfSympalBlogPlugin', $plugins), true, 'Test that additional 
downloaded plugins are loaded');
\ 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