function widgets_replace_fields in Widgets 7
1 call to widgets_replace_fields()
- theme_widgets_set_view in ./
widgets.module - Returns HTML for a preview of an widget set.
File
- ./
widgets.module, line 1354 - Exposes global functionality for creating widget sets.
Code
function widgets_replace_fields($template, $data) {
$fields = widgets_field_scan($template);
foreach ($fields as $key => $field) {
$keys = explode(':', $key);
if (count($keys) == 1) {
$value = isset($data[$key]) ? $data[$key] : FALSE;
}
else {
$value = isset($data[$keys[0]][$keys[1]]) ? $data[$keys[0]][$keys[1]] : FALSE;
}
// if data value, use data otherwise use default
if ($value) {
// remove field if data value is set to none
if ($value == '<none>') {
$template = str_replace($field['original'], '', $template);
}
else {
$str = (isset($field['pre']) ? $field['pre'] : '') . $value . (isset($field['post']) ? $field['post'] : '');
$template = str_replace($field['original'], $str, $template);
}
}
else {
// remove field if default is set to none
if (isset($field['default']) && $field['default'] == '<none>') {
$template = str_replace($field['original'], '', $template);
}
else {
$str = (isset($field['pre']) ? $field['pre'] : '') . $field['default'] . (isset($field['post']) ? $field['post'] : '');
$template = str_replace($field['original'], $str, $template);
}
}
}
return $template;
}