You are here

function webform_submission_resend in Webform 7.4

Same name and namespace in other branches
  1. 6.3 includes/webform.submissions.inc \webform_submission_resend()
  2. 7.3 includes/webform.submissions.inc \webform_submission_resend()

Form to resend specific e-mails associated with a submission.

1 string reference to 'webform_submission_resend'
webform_menu in ./webform.module
Implements hook_menu().

File

includes/webform.submissions.inc, line 558
Submission handling functions.

Code

function webform_submission_resend($form, $form_state, $node, $submission) {

  // Render the admin UI breadcrumb.
  webform_set_breadcrumb($node, $submission);
  $form['#tree'] = TRUE;
  $form['#node'] = $node;
  $form['#submission'] = $submission;
  foreach ($node->webform['emails'] as $eid => $email) {
    $mapping = isset($email['extra']['email_mapping']) ? $email['extra']['email_mapping'] : NULL;
    $addresses = webform_format_email_address($email['email'], NULL, $node, $submission, FALSE, FALSE, NULL, $mapping);
    $addresses_valid = array_map('webform_valid_email_address', $addresses);
    $valid_email = count($addresses) == array_sum($addresses_valid);
    $form['resend'][$eid] = array(
      '#type' => 'checkbox',
      '#default_value' => $valid_email && $email['status'],
      '#disabled' => !$valid_email,
    );
    $form['emails'][$eid]['email'] = array(
      '#markup' => nl2br(check_plain(implode("\n", $addresses))),
    );
    if (!$valid_email) {
      $form['emails'][$eid]['email']['#markup'] .= ' (' . t('empty or invalid') . ')';
    }
    $form['emails'][$eid]['subject'] = array(
      '#markup' => check_plain(webform_format_email_subject($email['subject'], $node, $submission)),
    );
    $form['actions'] = array(
      '#type' => 'actions',
    );
    $form['actions']['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Resend e-mails'),
    );
    $form['actions']['cancel'] = array(
      '#type' => 'markup',
      '#markup' => l(t('Cancel'), isset($_GET['destination']) ? $_GET['destination'] : 'node/' . $node->nid . '/submission/' . $submission->sid),
    );
  }
  return $form;
}