foreach ($_layer['class'] as $c => $_class) { try { $class = $layer->getClass($c); } catch (MapScriptException $e) { $class = new classObj($layer); } if (isset($_class['name']) && !empty($_class['name'])) { $class->name = $_class['name']; } if (isset($_class['expression']) && !empty($_class['expression'])) { $class->setExpression($_class['expression']); } if (isset($_class['style']) && is_array($_class['style'])) { foreach ($_class['style'] as $s => $_style) { try { $style = $class->getStyle($s); } catch (MapScriptException $e) { $style = new styleObj($class); } $_style['color'] = array_filter($_style['color'], function ($v) { return is_numeric($v) && $v >= 0 && $v <= 255; }); $_style['outlinecolor'] = array_filter($_style['outlinecolor'], function ($v) { return is_numeric($v) && $v >= 0 && $v <= 255; }); if (isset($_style['color']) && !empty($_style['color']) && array_sum($_style['color']) >= 0) { $style->color->setRGB($_style['color']['r'], $_style['color']['g'], $_style['color']['b']); } if (isset($_style['outlinecolor']) && !empty($_style['outlinecolor']) && array_sum($_style['outlinecolor']) >= 0) { $style->outlinecolor->setRGB($_style['outlinecolor']['r'], $_style['outlinecolor']['g'], $_style['outlinecolor']['b']); }