function views_object::unpack_options
3.x base.inc | views_object::unpack_options(&$storage, $options, $definition = NULL, |
2.x base.inc | views_object::unpack_options(&$storage, $options, $definition = NULL, $check = TRUE) |
Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
4 calls to views_object::unpack_options()
- views_handler::init in includes/
handlers.inc - init the handler with necessary data.
- views_plugin_display::init in plugins/
views_plugin_display.inc - Init will be called after construct, when the plugin is attached to a view and a display.
- views_plugin_row::init in plugins/
views_plugin_row.inc - Initialize the row plugin.
- views_plugin_style::init in plugins/
views_plugin_style.inc - Initialize a style plugin.
File
- includes/
base.inc, line 78 - Provides the basic object definitions used by plugins and handlers.
Class
- views_object
- Basic definition for many views objects
Code
function unpack_options(&$storage, $options, $definition = NULL, $check = TRUE) {
if ($check && !is_array($options)) {
return;
}
if (!isset($definition)) {
$definition = $this->option_definition();
}
foreach ($options as $key => $value) {
if (is_array($value)) {
if (!isset($storage[$key]) || !is_array($storage[$key])) {
$storage[$key] = array();
}
$this->unpack_options($storage[$key], $value, isset($definition[$key]['contains']) ? $definition[$key]['contains'] : array(), FALSE);
}
else if (!empty($definition[$key]['translatable']) && !empty($value)) {
$storage[$key] = t($value);
}
else {
$storage[$key] = $value;
}
}
}