ui_patterns
ui_patterns copied to clipboard
Invalid argument supplied for foreach() in /var/www/html/www/modules/contrib/ui_patterns/modules/ui_patterns_library/src/Plugin/Deriver/LibraryDeriver.php on line 141
Hi guys,
I've found an error when creating an empty ui_patterns.yml file.
The getPatterns() function in /var/www/html/www/modules/contrib/ui_patterns/modules/ui_patterns_library/src/Plugin/Deriver/LibraryDeriver.php attempts to run Yaml::decode($content) and pass that as an argument to the foreach() function. When the file is empty $content returns an empty string which causes the foreach() to fail.
For anyone who comes across this problem and doesnt want to roll a patch the obvious solution is to just remove any empty ui_patterns.yml files. Else, just run an empty string check.
+ if (!empty($content)) {
foreach (Yaml::decode($content) as $id => $definition) {
$definition['id'] = $id;
$definition['base path'] = dirname($file_path);
$definition['file name'] = basename($file_path);
$definition['provider'] = $provider;
$patterns[] = $this->getPatternDefinition($definition);
}
+ }