Регистрация
Вход через соцсети
Восстановление пароля

РЕШЕНО! Ошибка при оформлении заказа после смены метода рассылки

Новый топик
Страницы: 1  |  2
04.04.2015, 19:57
Ответить | Цитировать
Alex

Зарегистрирован:
2015-03-16
Сообщений: 59

Попробовал взять код из последней версии Netcat:
Код:

<?php

$order->set_id($msgID);
$order->offsetUnset('SignUp');
$email = $order['Email'];
$reg_data = array();
$auth_settings = $nc_core->get_settings('', 'auth', false, $catalogue_id);
if (!$AUTH_USER_ID) {
if (!isset($_SESSION['user_hash'])) {
$_SESSION['user_hash'] = md5((mt_rand(1, 1000) * mt_rand(1, 100) + mt_rand(1, 10000)) / mt_rand(1, 10));
}
$order->set('user_hash', $_SESSION['user_hash']);

if ($nc_core->input->fetch_post('f_SignUp')) {
$user_id = 0;

if ($nc_core->user->check_login($email) == NC_AUTH_LOGIN_OK) {
$alphabet = "abcdefghijklmnopqrstuvwxyz0123456789";
$length = strlen($alphabet);
$password = '';

for ($i = 0; $i < 8; $i++) {
$password .= $alphabet[mt_rand(0, $length - 1)];
}

$registration_code = $auth_settings['confirm'] ? md5(uniqid('', true)) : '';

try {
$user = array(
'Email' => $email,
'Login' => $email,
'ForumName' => $order['ContactName'],
);
$user_id = $nc_core->user->add($user, 2, $password, array(
'Checked' => $auth_settings['confirm'] ? 0 : 1,
), $registration_code);
} catch (Exception $e) {

}
}

if ($user_id) {
$order->set('User_ID', $user_id);
$reg_data = array('user_id' => $user_id, 'password' => $password);
if ($auth_settings['autoauthorize']) {
$nc_core->user->authorize_by_id($user_id);
}
}
}
}

setcookie('Order_ContactName', $order['ContactName'], time() + 31536000, '/');
setcookie('Order_Email', $order['Email'], time() + 31536000, '/');
setcookie('Order_City', $order['City'], time() + 31536000, '/');
setcookie('Order_Phone', $order['Phone'], time() + 31536000, '/');
setcookie('Order_Address', $order['Address'], time() + 31536000, '/');
setcookie('Order_Zip', $order['Zip'], time() + 31536000, '/');

$netshop->place_order($order, $reg_data);

$payment_method = new nc_netshop_payment_method($order['PaymentMethod']);
$payment_system_id = $payment_method['handler_id'];

$invoice = null;
if ($payment_system_id && nc_module_check_by_keyword('payment', false)) {
$invoice = new nc_payment_invoice(array(
"payment_system_id" => $payment_system_id,
"amount" => $order->get_totals(),
"description" => "Оплата заказа $msgID",
"currency" => $netshop->get_currency_code(),
"customer_id" => $AUTH_USER_ID,
"customer_name" => (string)$f_ContactName,
"customer_email" => (string)$f_Email,
"customer_phone" => (string)$f_Phone,
"order_source" => 'netshop',
"order_id" => $msgID,
));
$invoice->save();
}

while (ob_end_clean()) ;

if ($isNaked) {
echo 'OK';
} else {
// Переадресация
header("Location: {$nc_core->SUB_FOLDER}/orders/added" . ($invoice ? ("?invoice=" . $invoice->get('id')) : ""));
}

exit;


Теперь письмо о заказе не приходит, а письмо о регистрации приходит)
05.04.2015, 12:16
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Может быть в новом коде реализована отправка одним письмом и содержимого заказа, и регистрационных данных? Попробуйте все в один шаблон письма вставить.

05.04.2015, 13:06
Ответить | Цитировать
Alex

Зарегистрирован:
2015-03-16
Сообщений: 59

Цитата:
Может быть в новом коде реализована отправка одним письмом и содержимого заказа, и регистрационных данных? Попробуйте все в один шаблон письма вставить.


О да, Вы были правы, все заработало как надо, все присылается в одном письме и заказ и регистрация.

Еще раз спасибо.
05.04.2015, 13:27
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Вот уж этого я меньше всего ожидал. улыбка)
Пожалуйста!

198 196 2015-04-05 13:27:08 14089
Страницы: 1  |  2
Описание проекта