/**
  *
  * @return void
  */
 protected function addReceiver()
 {
     $soap = new SoapClient($this->settings['wsdlUrl']);
     $userdata = array();
     $userdata['source'] = $this->settings['source'];
     $userdata['registered'] = time();
     $attributes = array_merge($this->parseFields('fields.'), $this->parseFields('additionalfields.'));
     $userdata['email'] = $attributes['email'];
     $userdata['attributes'] = $this->convertAttributes($attributes);
     $this->utilityFuncs->debugMessage("Attributes: \"" . print_r($userdata['attributes'], true) . "\"");
     // überprüfen, ob schon im System ist
     $return = $soap->receiverGetByEmail($this->settings['apiKey'], $this->settings['listId'], $userdata['email'], 0);
     $subscriber_found = !($return->statuscode == 20);
     if (!$subscriber_found) {
         $return = $soap->receiverAdd($this->settings['apiKey'], $this->settings['listId'], $userdata);
         if ($return->status == Tx_Formhandler_Finisher_CleverReach::STATUS_SUCCESS) {
             $this->utilityFuncs->debugMessage("Subscriber \"" . $userdata['email'] . "\" accepted");
         } else {
             $this->utilityFuncs->debugMessage("A problem with the new subscriber: " . (string) $return->message);
         }
     }
     if ($this->settings['directSubscription'] == "1") {
         // sofort aktivieren
         $return = $soap->receiverSetActive($this->settings['apiKey'], $this->settings['listId'], $userdata['email']);
     } else {
         $return = $soap->formsActivationMail($this->settings['apiKey'], $this->settings['formId'], $userdata['email']);
         if ($return->status == Tx_Formhandler_Finisher_CleverReach::STATUS_SUCCESS) {
             $this->utilityFuncs->debugMessage("Activation mail sent");
         } else {
             $this->utilityFuncs->debugMessage("Activation mail error for \"" . $userdata['email'] . "\": " . $return->message);
         }
     }
 }
     // Check if email was changed and if so, delete old CleverReach record and create a new one.
     $query = 'SELECT customers_email_address FROM ' . TABLE_CUSTOMERS . ' WHERE customers_id = ' . (int) $customers_id;
     $res = mysql_query($query);
     if ($res && mysql_num_rows($res)) {
         $old_email_address = mysql_result($res, 0, 0);
     }
     if ($old_email_address != $customers_email_address) {
         $client->receiverDelete(CR_API_KEY, CR_LIST_ID, $old_email_address);
         $crReceiver = array('email' => utf8_encode($customers_email_address), 'source' => utf8_encode('SwissCart'), 'attributes' => array(0 => array('key' => 'firstname', 'value' => utf8_encode($customers_firstname)), 1 => array('key' => 'lastname', 'value' => utf8_encode($customers_lastname))));
         $client->receiverAdd(CR_API_KEY, CR_LIST_ID, $crReceiver);
     } else {
         $crReceiver = array('email' => utf8_encode($customers_email_address), 'source' => utf8_encode('SwissCart'), 'attributes' => array(0 => array('key' => 'firstname', 'value' => utf8_encode($customers_firstname)), 1 => array('key' => 'lastname', 'value' => utf8_encode($customers_lastname))));
         $client->receiverUpdate(CR_API_KEY, CR_LIST_ID, $crReceiver);
     }
     if ($customers_newsletter) {
         $client->receiverSetActive(CR_API_KEY, CR_LIST_ID, utf8_encode($customers_email_address));
     } else {
         $client->receiverSetInactive(CR_API_KEY, CR_LIST_ID, utf8_encode($customers_email_address));
     }
 }
 //------------------------------ CleverReach Ends --------------------------------------
 $sql_data_array = array('customers_firstname' => $customers_firstname, 'customers_lastname' => $customers_lastname, 'customers_email_address' => $customers_email_address, 'customers_telephone' => $customers_telephone, 'customers_fax' => $customers_fax, 'customers_newsletter' => $customers_newsletter);
 if (ACCOUNT_GENDER == 'true') {
     $sql_data_array['customers_gender'] = $customers_gender;
 }
 if (ACCOUNT_DOB == 'true') {
     $sql_data_array['customers_dob'] = tep_date_raw($customers_dob);
 }
 tep_db_perform(TABLE_CUSTOMERS, $sql_data_array, 'update', "customers_id = '" . (int) $customers_id . "'");
 tep_db_query("update " . TABLE_CUSTOMERS_INFO . " set customers_info_date_account_last_modified = now() where customers_info_id = '" . (int) $customers_id . "'");
 if ($entry_zone_id > 0) {
    if (isset($HTTP_POST_VARS['newsletter_general']) && is_numeric($HTTP_POST_VARS['newsletter_general'])) {
        $newsletter_general = tep_db_prepare_input($HTTP_POST_VARS['newsletter_general']);
    } else {
        $newsletter_general = '0';
    }
    if ($newsletter_general != $newsletter['customers_newsletter']) {
        $newsletter_general = $newsletter['customers_newsletter'] == '1' ? '0' : '1';
        //----------------------------- CleverReach Starts --------------------------------------
        if (CR_ENABLED == 'true') {
            $query = tep_db_query("select customers_email_address from " . TABLE_CUSTOMERS . " where customers_id = '" . (int) $customer_id . "'");
            $customer = tep_db_fetch_array($query);
            $client = new SoapClient('http://api.cleverreach.com/soap/interface_v5.1.php?wsdl');
            if ($newsletter['customers_newsletter'] == '1') {
                $client->receiverSetInactive(CR_API_KEY, CR_LIST_ID, $customer['customers_email_address']);
            } else {
                $client->receiverSetActive(CR_API_KEY, CR_LIST_ID, $customer['customers_email_address']);
            }
        }
        //------------------------------ CleverReach Ends --------------------------------------
        tep_db_query("update " . TABLE_CUSTOMERS . " set customers_newsletter = '" . (int) $newsletter_general . "' where customers_id = '" . (int) $customer_id . "'");
    }
    $messageStack->add_session('account', SUCCESS_NEWSLETTER_UPDATED, 'success');
    tep_redirect(tep_href_link(FILENAME_ACCOUNT, '', 'SSL'));
}
$breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_ACCOUNT, '', 'SSL'));
$breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_ACCOUNT_NEWSLETTERS, '', 'SSL'));
require DIR_WS_INCLUDES . 'template_top.php';
?>

<h1><?php 
echo HEADING_TITLE;