/** * * @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;