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.