Development

Changeset 8643

You must first sign up to be able to contribute.

Changeset 8643

Show
Ignore:
Timestamp:
04/27/08 16:24:58 (4 months ago)
Author:
fabien
Message:

fixed plugins order loading

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.1/lib/config/sfProjectConfiguration.class.php

    r8634 r8643  
    234234  public function getPluginPaths() 
    235235  { 
    236     $plugins = sfFinder::type('dir')->discard('.*')->prune('.*')->follow_link()->maxdepth(0)->in(sfConfig::get('sf_plugins_dir')); 
    237  
    238     $bundledPluginDir = sfConfig::get('sf_symfony_lib_dir').'/plugins'; 
    239     $bundledPlugins = sfFinder::type('dir')->maxdepth(0)->follow_link()->relative()->in($bundledPluginDir); 
    240     foreach ($bundledPlugins as $bundledPlugin) 
    241     { 
    242       if (!is_dir(sfConfig::get('sf_plugins_dir').'/'.$bundledPlugin)) 
     236    $pluginPaths = array(); 
     237 
     238    $finder = sfFinder::type('dir')->maxdepth(0)->follow_link()->relative(); 
     239 
     240    $bundledPlugins = $finder->in(sfConfig::get('sf_symfony_lib_dir').'/plugins'); 
     241    $projectPlugins = $finder->in(sfConfig::get('sf_plugins_dir')); 
     242 
     243    // bundled plugins 
     244    foreach ($bundledPlugins as $plugin) 
     245    { 
     246      // plugins can override bundle plugins 
     247      if (false !== $pos = array_search($plugin, $projectPlugins)) 
    243248      { 
    244         $plugins[] = $bundledPluginDir.'/'.$bundledPlugin; 
     249        $pluginPaths[] = sfConfig::get('sf_plugins_dir').'/'.$plugin; 
     250        unset($projectPlugins[$pos]); 
    245251      } 
    246     } 
    247      
    248     return $plugins; 
     252      else 
     253      { 
     254        $pluginPaths[] = sfConfig::get('sf_symfony_lib_dir').'/plugins/'.$plugin; 
     255      } 
     256    } 
     257 
     258    // project plugins 
     259    foreach ($projectPlugins as $plugin) 
     260    { 
     261      $pluginPaths[] = sfConfig::get('sf_plugins_dir').'/'.$plugin; 
     262    } 
     263 
     264    return $pluginPaths; 
    249265  } 
    250266