You are here

function services_client_error_sc_process_errors in Services Client 7

Same name in this branch
  1. 7 services_client.api.php \services_client_error_sc_process_errors()
  2. 7 services_client_error/services_client_error.module \services_client_error_sc_process_errors()

Implements hook_sc_process_errors().

File

services_client_error/services_client_error.module, line 139
Services Client error handling, re-try and reporting.

Code

function services_client_error_sc_process_errors($errors) {

  // Store errors for further processing.
  foreach ($errors as &$error) {
    $data = services_client_error_save($error);
    $error += $data;
    $queue_data = array(
      'title' => t('Processing services client error !eid', array(
        '!eid' => $data['eid'],
      )),
      'eid' => $data['eid'],
    );
    queue_runner_add($queue_data, 'sce_retry_call', 3);
  }

  // Send email notification
  if (variable_get('services_client_error_notify', FALSE)) {
    $recipients = explode("\n", variable_get('services_client_error_notify_recipients', ''));
    foreach ($recipients as $mail) {
      $mail = trim($mail);
      if (valid_email_address($mail)) {
        $params = array(
          'errors' => $errors,
        );
        drupal_mail('services_client_error', 'notify_errors', $mail, language_default(), $params);
      }
    }
  }
}