$fields) { if (is_array($fields)) $new_data = array_merge($new_data, $fields); } self::$data = $new_data; } public static function add($block) { $name = $block->get_name(); self::$blocks[$name] = $block; self::$fields = array_merge(self::$fields, $block->get_fields()); } public static function getValue($fieldname) { if (isset(self::$data[$fieldname])) return self::$data[$fieldname]; if (isset(self::$fields[$fieldname])) return self::$fields[$fieldname]['default']; return false; // dunno. } public static function getColorValue($fieldname) { $value = self::getValue($fieldname); if (! $value ) return false; if (substr($value,0,1) !== '#') { $value = '#' . $value; } return $value; } public static function getDefault($fieldname) { if (isset(self::$fields[$fieldname]['default'])) return self::$fields[$fieldname]['default']; return false; // dunno } }