You are here

function staticmap_ctools_export_ui_form in Static Map 7

Form for ctools export UI.

Parameters

array $form: Drupal form array.

array $form_state: Drupal form state array.

Return value

array Returns drupal form.

1 string reference to 'staticmap_ctools_export_ui_form'
staticmap_ctools_export_ui.inc in plugins/export_ui/staticmap_ctools_export_ui.inc

File

./staticmap.module, line 446
SiteMap module.

Code

function staticmap_ctools_export_ui_form(&$form, &$form_state) {
  $form = array();
  $preset = $form_state['item'];
  $preset_data = !empty($form_state['item']->data) ? unserialize($form_state['item']->data) : array();
  $provider_info = staticmap_load_provider_info();
  $provider_values = array();
  foreach ($provider_info as $key => $info) {
    $provider_values[$key] = $info['name'];
  }
  $values = array();
  $values = array_merge($values, $preset_data);
  $values = array_merge($values, !empty($form_state['values']) ? $form_state['values'] : array());
  $form['title'] = array(
    '#type' => 'textfield',
    '#title' => t('Title'),
    '#default_value' => !empty($values['title']) ? $values['title'] : '',
  );
  $form['name'] = array(
    '#type' => 'machine_name',
    '#title' => t('Name'),
    '#default_value' => !empty($values['name']) ? $values['name'] : '',
    '#machine_name' => array(
      'source' => array(
        'title',
      ),
      'exists' => 'staticmap_preset_exists',
    ),
  );
  $form['provider'] = array(
    '#type' => 'select',
    '#title' => t('Map Provider'),
    '#options' => array_merge(array(
      '' => '-blank-',
    ), $provider_values),
    '#default_value' => !empty($values['provider']) ? $values['provider'] : '',
    '#ajax' => array(
      'wrapper' => 'staticmap-ajax-wrapper',
      'callback' => 'staticmap_ajax_callback',
    ),
  );
  $form['mapsize'] = array(
    '#type' => 'textfield',
    '#title' => t('Map Size'),
    '#description' => 'Format: [width]x[height]',
    '#default_value' => !empty($values['mapsize']) ? $values['mapsize'] : '',
  );
  $form['cache'] = array(
    '#type' => 'checkbox',
    '#title' => t('Cache files in public://'),
    '#default_value' => !empty($values['cache']),
  );
  $form['staticmap_provider_specific'] = array(
    '#type' => 'fieldset',
    '#title' => !empty($values['provider']) ? t($values['provider'] . ' Settings') : '',
    '#prefix' => '<div id="staticmap-ajax-wrapper">',
    '#suffix' => '</div>',
  );
  if (!empty($values['provider'])) {
    $provider = staticmap_load_provider($values['provider']);
    $form['staticmap_provider_specific'] = array_merge($form['staticmap_provider_specific'], $provider
      ->presetFormAlter($form, $form_state, $values));
  }
  return $form;
}