function custom_formatters_export_ui_form in Custom Formatters 7.2
Custom Formatters settings form.
Parameters
array $form: The form api array.
array $form_state: The form state array.
1 string reference to 'custom_formatters_export_ui_form'
- custom_formatters_custom_formatters_ctools_export_ui in plugins/
export_ui/ custom_formatters.inc - CTools Export UI required function for plugin definition.
File
- plugins/
export_ui/ custom_formatters.inc, line 45 - CTools Export UI plugin for SexyBookmarks profiles.
Code
function custom_formatters_export_ui_form(&$form, &$form_state) {
$form['#attached'] = array(
'css' => array(
drupal_get_path('module', 'custom_formatters') . '/styles/custom_formatters.css',
),
'js' => array(
drupal_get_path('module', 'custom_formatters') . '/scripts/custom_formatters.admin.js',
),
);
$item = $form_state['item'];
$form['#item'] = $item;
$form['#formatters'] = TRUE;
$engines = module_invoke_all('custom_formatters_engine_info');
$engine = !empty($form_state['values']['mode']) ? $form_state['values']['mode'] : (!empty($item->mode) ? $item->mode : key($engines));
if (isset($engines[$engine]['file']) && file_exists($engines[$engine]['file'])) {
require_once $engines[$engine]['file'];
}
$disable = FALSE;
if ($form_state['op'] != 'add') {
$disable = custom_formatters_formatter_is_active($item);
if ($disable) {
drupal_set_message(t('As the Formatter is currently in use, certain features have been disabled.'), 'warning');
}
}
$form['info']['#title'] = t('Basic information');
$form['info']['#type'] = 'fieldset';
$form['info']['#collapsible'] = TRUE;
$form['info']['#collapsed'] = $form_state['op'] != 'add';
$form['info']['label']['#title'] = t('Formatter name');
$form['info']['label']['#required'] = TRUE;
$form['info']['description'] = array(
'#title' => t('Description'),
'#type' => 'textarea',
'#default_value' => $item->description,
);
$options = array();
foreach ($engines as $key => $option) {
$options[$key] = $option['label'];
}
$form['info']['mode'] = array(
'#title' => t('Format'),
'#type' => 'select',
'#options' => $options,
'#default_value' => $engine,
'#ajax' => array(
'callback' => 'custom_formatters_export_ui_form_js',
'wrapper' => 'engine-wrapper',
),
);
$form['engine'] = array(
'#type' => 'container',
'#prefix' => '<div id="engine-wrapper">',
'#suffix' => '</div>',
);
// Build list of available field types.
$options = array();
$fields = field_info_field_types();
// Give modules a chance to alter fields.
drupal_alter('custom_formatters_fields', $fields);
ksort($fields);
foreach ($fields as $type => $field) {
$options[$field['module']][$type] = $field['label'];
}
ksort($options);
$form['engine']['field_types'] = array(
'#title' => t('Field type(s)'),
'#type' => 'select',
'#options' => $options,
'#default_value' => $item->field_types,
'#required' => TRUE,
'#ajax' => array(
'callback' => 'custom_formatters_export_ui_form_js',
'wrapper' => 'engine-wrapper',
),
'#disabled' => $disable,
);
$form['engine']['code'] = array(
'#title' => t('Formatter'),
'#type' => 'textarea',
'#default_value' => !empty($item->code) ? $item->code : '',
'#required' => TRUE,
'#rows' => 10,
);
$options = _custom_formatters_preview_variables($form, $form_state);
$form['engine']['preview'] = array(
'#title' => t('Preview'),
'#type' => 'fieldset',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#weight' => 100,
'#theme' => 'custom_formatters_export_ui_form_preview',
'#tree' => TRUE,
);
$form['engine']['preview']['entity_type'] = array(
'#title' => t('Entity type'),
'#type' => 'select',
'#options' => $options['entity_types'],
'#default_value' => 'node',
'#disabled' => empty($options['entity_types']),
'#ajax' => array(
'callback' => 'custom_formatters_export_ui_form_js',
'wrapper' => 'engine-wrapper',
),
);
$form['engine']['preview']['bundle'] = array(
'#title' => t('Bundle'),
'#type' => 'select',
'#options' => $options['bundles'],
'#disabled' => empty($options['bundles']),
'#ajax' => array(
'callback' => 'custom_formatters_export_ui_form_js',
'wrapper' => 'engine-wrapper',
),
);
$form['engine']['preview']['field'] = array(
'#title' => t('Field'),
'#type' => 'select',
'#options' => $options['fields'],
'#disabled' => empty($options['fields']),
'#ajax' => array(
'callback' => 'custom_formatters_export_ui_form_js',
'wrapper' => 'engine-wrapper',
),
);
$form['engine']['preview']['entity'] = array(
'#title' => t('Entity'),
'#type' => 'select',
'#options' => $options['entities'],
'#disabled' => empty($options['entities']),
);
$form['engine']['preview']['options'] = array(
'#type' => 'container',
);
$form['engine']['preview']['button'] = array(
'#type' => 'button',
'#value' => t('Preview'),
'#ajax' => array(
'callback' => 'custom_formatters_export_ui_form_js_preview',
'wrapper' => 'preview-wrapper',
),
'#disabled' => empty($options['entities']),
);
$form['engine']['preview']['preview'] = array(
'#type' => 'container',
'#prefix' => '<div id="preview-wrapper">',
'#suffix' => '</div>',
);
$engines[$engine]['callbacks']['settings form']($form['engine'], $form_state, $item);
$form['buttons']['edit'] = array(
'#type' => 'submit',
'#value' => t('Save & Edit'),
);
}