/**
  * @return bool
  */
 public function process()
 {
     $api = mc4wp_get_api();
     do_action('mc4wp_before_subscribe', $this->user_data['EMAIL'], $this->user_data, 0);
     $result = false;
     $email_type = $this->get_email_type();
     // loop through selected lists
     foreach ($this->map->list_fields as $list_id => $list_field_data) {
         // allow plugins to alter merge vars for each individual list
         $list_merge_vars = $this->get_list_merge_vars($list_id, $list_field_data);
         // send a subscribe request to MailChimp for each list
         $result = $api->subscribe($list_id, $this->user_data['EMAIL'], $list_merge_vars, $email_type, $this->form->settings['double_optin'], $this->form->settings['update_existing'], $this->form->settings['replace_interests'], $this->form->settings['send_welcome']);
         do_action('mc4wp_subscribe', $this->user_data['EMAIL'], $list_id, $list_merge_vars, $result, 'form', 'form', $this->form->ID);
     }
     do_action('mc4wp_after_subscribe', $this->user_data['EMAIL'], $this->user_data, 0, $result);
     // did we succeed in subscribing with the parsed data?
     if (!$result) {
         $this->message_type = $api->get_error_code() === 214 ? 'already_subscribed' : 'error';
         $this->mailchimp_error = $api->get_error_message();
     } else {
         $this->message_type = 'subscribed';
         // store user email in a cookie
         $this->set_email_cookie($this->user_data['EMAIL']);
         // send an email copy if that is desired
         // todo: move this to hook callback
         if ($this->form->settings['send_email_copy']) {
             $email = new MC4WP_Email_Notification($this->form->settings['email_copy_receiver'], $this->form, $this);
             $email->send();
         }
     }
     $this->success = $result;
     return $result;
 }
 /**
  * @param MC4WP_Form $form
  *
  * @return bool
  */
 public function send_form_notification(MC4WP_Form $form)
 {
     if (!$form->settings['send_email_copy']) {
         return false;
     }
     $email = new MC4WP_Email_Notification($form->settings['email_copy_receiver'], $form);
     $email->send();
 }