You are here

function webform2pdf_edit_form_submit in Webform2PDF 7.4

Same name and namespace in other branches
  1. 6.2 includes/webform2pdf.settings.inc \webform2pdf_edit_form_submit()
  2. 6 webform2pdf.module \webform2pdf_edit_form_submit()
  3. 7.3 includes/webform2pdf.settings.inc \webform2pdf_edit_form_submit()

File

includes/webform2pdf.settings.inc, line 1042
Webform to PDF settings form.

Code

function webform2pdf_edit_form_submit($form, &$form_state) {
  if ($form_state['values']['op'] == t('Save')) {
    $save = $form_state['values'];
    unset($save['nid']);
    unset($save['enabled']);
    unset($save['submit']);
    unset($save['reset']);
    unset($save['form_build_id']);
    unset($save['form_token']);
    unset($save['form_id']);
    unset($save['op']);

    // First enabled
    if (isset($form_state['values']['new'])) {
      unset($save['new']);
      if ($form_state['values']['enabled']) {

        // Image file create
        foreach (array(
          'h_left_logo',
          'h_right_logo',
          'f_left_logo',
          'f_right_logo',
          'p_background',
        ) as $logo) {
          if (isset($form_state['values'][$logo . '_del'])) {
            if ($form_state['values'][$logo . '_del']) {
              $save[$logo] = 0;
            }
            elseif (!empty($form_state['values'][$logo])) {
              $save[$logo] = $form_state['values'][$logo];
              $file = file_load($save[$logo]);
              file_usage_add($file, 'webform2pdf', $logo, 1);
            }
            unset($save[$logo . '_del']);
          }
          if (isset($form_state['values'][$logo . '_file'])) {
            $save[$logo] = _webform2pdf_save_logo($logo, $form_state['values']['nid']);
            unset($save[$logo . '_file']);
          }
        }
        $w2pdf_setting['nid'] = $form_state['values']['nid'];
        $w2pdf_setting['enabled'] = $form_state['values']['enabled'];
        $w2pdf_setting['data'] = $save;
        drupal_write_record('webform2pdf', $w2pdf_setting);
      }
    }
    else {

      // Image file deleted.
      foreach (array(
        'h_left_logo',
        'h_right_logo',
        'f_left_logo',
        'f_right_logo',
        'p_background',
      ) as $logo) {
        if (isset($form_state['values'][$logo . '_del'])) {
          if ($form_state['values'][$logo . '_del']) {
            $logo_file = file_load($form_state['values'][$logo]);
            file_usage_delete($logo_file, 'webform2pdf', $logo, 1);
            file_delete($logo_file);
            $save[$logo] = 0;
          }
          unset($save[$logo . '_del']);
        }
      }

      // Header and footer image file save.
      foreach (array(
        'h_left_logo',
        'h_right_logo',
        'f_left_logo',
        'f_right_logo',
        'p_background',
      ) as $logo) {
        if (isset($form_state['values'][$logo . '_file'])) {
          $save[$logo] = _webform2pdf_save_logo($logo, $form_state['values']['nid']);
          unset($save[$logo . '_file']);
        }
      }
    }
  }
  else {

    // default settings
    $save = variable_get('webform2pdf_default', '');

    // Image file deleted.
    foreach (array(
      'h_left_logo',
      'h_right_logo',
      'f_left_logo',
      'f_right_logo',
      'p_background',
    ) as $logo) {
      $logo_file = file_load($form_state['values'][$logo]);
      if ($logo_file) {
        file_usage_delete($logo_file, 'webform2pdf', $logo, 1);
        file_delete($logo_file);
      }
    }
  }
  if (!isset($form_state['values']['new'])) {

    // update settings
    $w2pdf_setting['nid'] = $form_state['values']['nid'];
    $w2pdf_setting['enabled'] = $form_state['values']['enabled'];
    $w2pdf_setting['data'] = $save;
    drupal_write_record('webform2pdf', $w2pdf_setting, 'nid');
  }
}