diff --git a/library/Businessprocess/BpConfig.php b/library/Businessprocess/BpConfig.php index cfa5268..aafabd7 100644 --- a/library/Businessprocess/BpConfig.php +++ b/library/Businessprocess/BpConfig.php @@ -454,6 +454,9 @@ class BpConfig { if (array_key_exists($name, $this->nodes)) { return true; + } elseif ($name[0] === '@') { + list($configName, $nodeName) = preg_split('~:\s*~', substr($name, 1), 2); + return $this->getImportedConfig($configName)->hasNode($nodeName); } return false; @@ -645,6 +648,11 @@ class BpConfig return $this->nodes[$name]; } + if ($name[0] === '@') { + list($configName, $nodeName) = preg_split('~:\s*~', substr($name, 1), 2); + return $this->getImportedConfig($configName)->getNode($nodeName); + } + // Fallback: if it is a service, create an empty one: $this->warn(sprintf('The node "%s" doesn\'t exist', $name)); $pos = strpos($name, ';');