You are here

webform_button_classes.module in Webform Button Classes 7

File

webform_button_classes.module
View source
<?php

/**
* Implements hook_form_alter();
*/
function webform_button_classes_form_alter(&$form, &$form_state) {
  if ($form['#form_id'] === 'webform_configure_form') {
    $classes = variable_get("webform_button_classes_{$form['#node']->nid}");
    $form['advanced']['button_classes'] = array(
      '#type' => 'fieldset',
      '#title' => t('Webform button classes.'),
      '#description' => t('Add classes separated by spaces.'),
      '#collapsible' => TRUE,
      '#collapsed' => FALSE,
    );
    $form['advanced']['button_classes']['submit_btn_classes'] = array(
      '#type' => 'textfield',
      '#title' => t('Classes for Submit button'),
      '#default_value' => isset($classes['submit']) ? $classes['submit'] : '',
    );
    $form['advanced']['button_classes']['next_btn_classes'] = array(
      '#type' => 'textfield',
      '#title' => t('Classes for Next/Preview button'),
      '#default_value' => isset($classes['next']) ? $classes['next'] : '',
    );
    $form['advanced']['button_classes']['previous_btn_classes'] = array(
      '#type' => 'textfield',
      '#title' => t('Classes for Previous/Back button'),
      '#default_value' => isset($classes['previous']) ? $classes['previous'] : '',
    );
    $form['advanced']['button_classes']['draft_btn_classes'] = array(
      '#type' => 'textfield',
      '#title' => t('Classes for Save draft button'),
      '#default_value' => isset($classes['draft']) ? $classes['draft'] : '',
    );
    $form['#submit'][] = 'webform_button_classes_submit_save';
  }

  // If Webform button classes exist then continue.
  if (strpos($form['#id'], 'webform-client-form') !== FALSE && ($added_classes = variable_get("webform_button_classes_{$form['#node']->nid}"))) {
    foreach ($added_classes as $type => $classes) {
      if ($btn_classes =& $form['actions'][$type]['#attributes']['class']) {
        $btn_classes = array_merge($btn_classes, $classes);
      }
    }
  }
}

/**
*  Save data into variable.
*/
function webform_button_classes_submit_save($form, &$form_state) {
  $classes = array(
    'submit' => explode(' ', $form_state['values']['submit_btn_classes']),
    'next' => explode(' ', $form_state['values']['next_btn_classes']),
    'previous' => explode(' ', $form_state['values']['previous_btn_classes']),
    'draft' => explode(' ', $form_state['values']['draft_btn_classes']),
  );
  $webform_classes = "webform_button_classes_{$form_state['values']['nid']}";
  if ($classes) {
    variable_set($webform_classes, $classes);
  }
}

Functions