You are here

function widgets_definition_preview_form in Widgets 7

1 string reference to 'widgets_definition_preview_form'
widgets_menu in ./widgets.module
Implements hook_menu().

File

./widgets.admin.inc, line 1031
Administration pages for widget settings.

Code

function widgets_definition_preview_form($form, &$form_state, $definition) {
  $form = array();
  if (isset($_SESSION['widgets']['preview_form_data'])) {
    $definition['data'] = $_SESSION['widgets']['preview_form_data'];

    //unset($_SESSION['widgets']['preview_form_data']);
  }
  $set = array(
    'name' => 'preview',
  );

  // Show the thumbnail preview.
  $form['#tree'] = TRUE;
  $preview = theme('widgets_element_view', array(
    'element' => $definition,
  ));
  $form['preview'] = array(
    '#type' => 'item',
    '#title' => t('Preview'),
    '#markup' => $preview,
  );
  $form['markup'] = array(
    '#type' => 'fieldset',
    '#title' => t('Markup'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['markup']['template'] = array(
    '#type' => 'textarea',
    '#title' => t('Template'),
    '#default_value' => $definition['template'],
    '#rows' => 5,
  );
  $form['markup']['output'] = array(
    '#type' => 'textarea',
    '#title' => t('Output'),
    '#default_value' => $preview,
    '#rows' => 5,
  );
  $form['data'] = array(
    '#type' => 'fieldset',
    '#title' => t('Configuration form'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
  );
  if (isset($definition['form callback'])) {
    $fields = call_user_func($definition['form callback'], $definition['data']);
    drupal_alter('widgets_element_form', $fields, $set, $definition);
    $form['data'] = array_merge($form['data'], $fields);
  }
  else {
    $form['data']['markup'] = array(
      '#markup' => t('Widget definition has no configuration settings.'),
    );
  }
  $form['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Refresh preview'),
  );
  return $form;
}