Fixed BC loading of resource pluging from dir and all ResourcePluginTest tests

This commit is contained in:
Simon Wisselink
2023-01-06 21:53:37 +01:00
parent b2e11ee2b8
commit e595cd2a5d
4 changed files with 14 additions and 4 deletions

View File

@@ -167,7 +167,6 @@ class BCPluginsAdapter extends Base {
'prefilter', 'prefilter',
'postfilter', 'postfilter',
'outputfilter', 'outputfilter',
'resource',
'insert', 'insert',
] as $type) { ] as $type) {
foreach (glob($path . $type . '.?*.php') as $filename) { 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'; $type = 'cacheresource';
foreach (glob($path . $type . '.?*.php') as $filename) { foreach (glob($path . $type . '.?*.php') as $filename) {
$pluginName = $this->getPluginNameFromFilename($filename); $pluginName = $this->getPluginNameFromFilename($filename);

View File

@@ -14,7 +14,7 @@ use Smarty\Resource\RecompiledPlugin;
use Smarty\Template; use Smarty\Template;
use Smarty\Template\Source; use Smarty\Template\Source;
class _DbPlugin extends RecompiledPlugin { class Smarty_Resource_Db extends RecompiledPlugin {
public function populate(Source $source, Template $_template = null) { public function populate(Source $source, Template $_template = null) {
$source->filepath = 'db:'; $source->filepath = 'db:';

View File

@@ -14,7 +14,7 @@ use Smarty\Resource\RecompiledPlugin;
use Smarty\Template; use Smarty\Template;
use Smarty\Template\Source; use Smarty\Template\Source;
class _Db2Plugin extends RecompiledPlugin class Smarty_Resource_Db2 extends RecompiledPlugin
{ {
public function populate(Source $source, Template $_template = null) public function populate(Source $source, Template $_template = null)
{ {

View File

@@ -49,7 +49,7 @@ class ResourcePluginTest extends PHPUnit_Smarty
public function testResourcePluginRegisteredInstance() public function testResourcePluginRegisteredInstance()
{ {
$this->smarty->addPluginsDir("./PHPunitplugins/"); $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')); $this->assertEquals('hello world', $this->smarty->fetch('db2a:test'));
} }