Skip to content
Snippets Groups Projects

[RTKO] default volatile on setupOpac

Merged Sebastien ANDRE requested to merge fix_default_volatile_on_setup into master
All threads resolved!
Compare and Show latest version
1 file
+ 24
16
Preferences
Compare changes
@@ -101,6 +101,12 @@ class Class_DigitalResource
}
public function getDocType($plugin)
{
return $plugin;
}
public function bootstrap(Zend_Controller_Front $front_controller): self
{
$this->getPlugins()->eachDo(fn($config) => $config->registerFrontController($front_controller));
@@ -455,12 +461,6 @@ class Class_DigitalResource
}
public function getDocType($plugin)
{
return $plugin;
}
protected function getPlugins(): Storm_Collection
{
if (static::$_plugins)
@@ -474,7 +474,7 @@ class Class_DigitalResource
}
public function build($class_name, $config)
public function build(string $class_name, $config)
{
if (class_exists($class_name))
return new $class_name($config);
@@ -501,7 +501,7 @@ class Class_DigitalResource
if ($batch = $config->getBatch())
$batches[$this->getBatchName($config->getName())] = $this->build($batch, $config);
foreach($config->getOtherBatches() as $name => $instance)
foreach ($config->getOtherBatches() as $name => $instance)
$batches[$name] = $instance;
return $batches;
@@ -540,16 +540,20 @@ class Class_DigitalResource
class Class_DigitalResource_Wrapper {
class Class_DigitalResource_Wrapper
{
public function __construct($digital_resource, $plugin) {
public function __construct(Class_DigitalResource $digital_resource, string $plugin)
{
$this->_digital_resource = $digital_resource;
$this->_plugin = $plugin;
}
public function __call($name, $args) {
public function __call($name, $args)
{
array_unshift($args, $this->_plugin);
return call_user_func_array([$this->_digital_resource, $name], $args);
}
}
@@ -557,15 +561,19 @@ class Class_DigitalResource_Wrapper {
class Class_DigitalResource_ConfigProvider {
class Class_DigitalResource_ConfigProvider
{
protected static $_known_classes = [];
protected static array $_known_classes = [];
public function getConfig($digital_resource, $class_name, $plugin) {
if (!isset(static::$_known_classes[$class_name]))
public function getConfig(Class_DigitalResource $digital_resource,
string $class_name,
string $plugin)
{
if ( ! isset(static::$_known_classes[$class_name]))
static::$_known_classes[$class_name] = @class_exists($class_name);
if (!static::$_known_classes[$class_name])
if ( ! static::$_known_classes[$class_name])
return null;
return new $class_name(new Class_DigitalResource_Wrapper($digital_resource, $plugin));