diff --git a/src/Extension/BCPluginsAdapter.php b/src/Extension/BCPluginsAdapter.php index 4234ed05..f69b5bc7 100644 --- a/src/Extension/BCPluginsAdapter.php +++ b/src/Extension/BCPluginsAdapter.php @@ -167,7 +167,6 @@ class BCPluginsAdapter extends Base { 'prefilter', 'postfilter', 'outputfilter', - 'resource', 'insert', ] as $type) { foreach (glob($path . $type . '.?*.php') as $filename) { @@ -181,6 +180,17 @@ class BCPluginsAdapter extends Base { } } + $type = 'resource'; + foreach (glob($path . $type . '.?*.php') as $filename) { + $pluginName = $this->getPluginNameFromFilename($filename); + if ($pluginName !== null) { + require_once $filename; + if (class_exists($className = 'smarty_' . $type . '_' . $pluginName)) { + $this->smarty->registerResource($pluginName, new $className()); + } + } + } + $type = 'cacheresource'; foreach (glob($path . $type . '.?*.php') as $filename) { $pluginName = $this->getPluginNameFromFilename($filename); diff --git a/tests/UnitTests/ResourceTests/ResourcePlugins/PHPunitplugins/resource.db.php b/tests/UnitTests/ResourceTests/ResourcePlugins/PHPunitplugins/resource.db.php index 0f72b34e..ad758aa1 100644 --- a/tests/UnitTests/ResourceTests/ResourcePlugins/PHPunitplugins/resource.db.php +++ b/tests/UnitTests/ResourceTests/ResourcePlugins/PHPunitplugins/resource.db.php @@ -14,7 +14,7 @@ use Smarty\Resource\RecompiledPlugin; use Smarty\Template; use Smarty\Template\Source; -class _DbPlugin extends RecompiledPlugin { +class Smarty_Resource_Db extends RecompiledPlugin { public function populate(Source $source, Template $_template = null) { $source->filepath = 'db:'; diff --git a/tests/UnitTests/ResourceTests/ResourcePlugins/PHPunitplugins/resource.db2.php b/tests/UnitTests/ResourceTests/ResourcePlugins/PHPunitplugins/resource.db2.php index eaeac28e..d0293c5a 100644 --- a/tests/UnitTests/ResourceTests/ResourcePlugins/PHPunitplugins/resource.db2.php +++ b/tests/UnitTests/ResourceTests/ResourcePlugins/PHPunitplugins/resource.db2.php @@ -14,7 +14,7 @@ use Smarty\Resource\RecompiledPlugin; use Smarty\Template; use Smarty\Template\Source; -class _Db2Plugin extends RecompiledPlugin +class Smarty_Resource_Db2 extends RecompiledPlugin { public function populate(Source $source, Template $_template = null) { diff --git a/tests/UnitTests/ResourceTests/ResourcePlugins/ResourcePluginTest.php b/tests/UnitTests/ResourceTests/ResourcePlugins/ResourcePluginTest.php index 87436806..f7a45cac 100644 --- a/tests/UnitTests/ResourceTests/ResourcePlugins/ResourcePluginTest.php +++ b/tests/UnitTests/ResourceTests/ResourcePlugins/ResourcePluginTest.php @@ -49,7 +49,7 @@ class ResourcePluginTest extends PHPUnit_Smarty public function testResourcePluginRegisteredInstance() { $this->smarty->addPluginsDir("./PHPunitplugins/"); - $this->smarty->registerResource('db2a', new _Db2Plugin('db2a')); + $this->smarty->registerResource('db2a', new Smarty_Resource_Db2('db2a')); $this->assertEquals('hello world', $this->smarty->fetch('db2a:test')); }