function widgets_template_auto_form in Widgets 7
Form structure for the template auto form.
Note that this is not a complete form, it only contains the portion of the form for configuring the resize options. Therefore it does not not need to include metadata about the element, nor a submit button.
Parameters
$data: The current configuration for this resize element.
1 call to widgets_template_auto_form()
- widgets_definition_edit_form_submit in ./
widgets.admin.inc - Submit handler for adding a new widget set.
1 string reference to 'widgets_template_auto_form'
- widgets_definition_edit_form_submit in ./
widgets.admin.inc - Submit handler for adding a new widget set.
File
- ./
widgets.admin.inc, line 762 - Administration pages for widget settings.
Code
function widgets_template_auto_form($data, $element = NULL) {
$form = array();
if (!isset($element)) {
$element = widgets_element_load_by_admin_path();
}
if (isset($element['data']) && count($element['data'])) {
$data = $element['data'];
}
$fields = widgets_field_scan($element['template']);
if (is_array($fields)) {
foreach ($fields as $key => $values) {
$keys = explode(':', $key);
if (count($keys) > 0) {
$key = $keys[count($keys) - 1];
}
$default = '';
if (count($keys) == 1) {
$default = isset($data[$keys[0]]) ? $data[$keys[0]] : '';
}
elseif (count($keys) == 2) {
$default = isset($data[$keys[0]][$keys[1]]) ? $data[$keys[0]][$keys[1]] : '';
}
$title = ucfirst(str_replace(array(
'_',
'-',
), ' ', $key));
$field = array(
'#type' => 'textfield',
'#title' => t($title),
'#default_value' => $default,
'#template_default_value' => $values['default'],
'#description' => t('Leave blank to use default %default.', array(
'%default' => $values['default'],
)),
);
if (isset($values['pre']) || isset($values['post'])) {
if (isset($values['pre'])) {
$field['#replace_pre'] = $values['pre'];
}
if (isset($values['post'])) {
$field['#replace_post'] = $values['post'];
}
$field['#description'] .= ' ' . t('Use <none> to remove setting.');
}
if (count($keys) == 1) {
$form[$key] = $field;
}
else {
if (!isset($form[$keys[0]])) {
$form[$keys[0]] = array(
'#type' => 'fieldset',
'#title' => ucfirst(str_replace(array(
'_',
'-',
), ' ', $keys[0])),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
}
$form[$keys[0]][$key] = $field;
}
}
}
return $form;
}