Спасибо за совет
Я решил написать код создания заказа и рассылки писем сам в ТДС "магаз-корзина" в обработчике
/* AJAX добавление товара в корзину */
if (isset($_GET['ajax_add_item_id']))
чтобы заказ оформлялся сразу по нажатию кнопки "оформить заказ" ("Купить"
/* AJAX добавление товара в корзину */
if (isset($_GET['ajax_add_item_id']))
{
$fio1 = substr(quote_smart(to_str($_GET['fio'])), 0, 255);
$phone1 = substr(quote_smart(to_str($_GET['phone'])), 0, 255);
$email1 = substr(quote_smart(to_str($_GET['email'])), 0, 255);
$item_id1 = to_int($_GET['ajax_add_item_id']);
$item_row1 = $shop->getItem($item_id1);
if (!$item_row1/* || $fio1 == '' || $phone1 == '' || $email1 == ''*/) {
// Отображаем неудачу
$JsHttpRequest = new JsHttpRequest('UTF-8');
ob_start();
if (!$item_row1) {
echo "item_id";
} else if ($fio1 == '') {
echo "fio";
} else if ($phone1 == '') {
echo "phone";
} else if ($email1 == '') {
echo "email";
}
$error_html = ob_get_clean();
$GLOBALS['_RESULT'] = array('cart' => $error_html);
echo $JsHttpRequest->LOADER;
exit();
}
// Create order in db
$param = array();
$param['shop_shops_id'] = $shop_id;
$param['shop_system_of_pay_id'] = 16;
$param['shop_order_users_name'] = $fio1;
$param['shop_order_users_email'] = $email1;
$param['phone'] = $phone1;
$param['description'] = quote_smart(to_str($_GET['add_info']));
$param['shop_order_ip'] = '127.0.0.1';
/*$param['system_information'] = 'Дополнительная инфромация - system_information';*/
$order_id1 = $shop->InsertOrder($param);
// Add item to order
$param = array();
$param['shop_order_id'] = $order_id1;
$param['shop_items_catalog_item_id'] = $item_id1;
$param['shop_order_items_quantity'] = 1;
$param['shop_order_items_price'] = $item_row1['shop_items_catalog_price'];
$param['shop_order_items_name'] = $item_row1['shop_items_catalog_name'];
$param['shop_order_items_type'] = 0;
$shop->InsertOrderItems($param);
// Send email to admin and client
$param = array();
$param['admin-content-type'] = 'html';
$param['user-content-type'] = 'html';
$shop->SendMailAboutOrder($shop_id, $order_id1, $site_users_id, 'ПисьмоАдминистратору', 'ПисьмоПользователю', $email1, $param);
///////////////////////////////////////////////
// Отображаем результат "ок"
$JsHttpRequest = new JsHttpRequest('UTF-8');
ob_start();
echo "ok";
$little_cart_html = ob_get_clean();
$GLOBALS['_RESULT'] = array('cart' => $little_cart_html);
echo $JsHttpRequest->LOADER;
exit();
}
И вроде, всё отлично. Заказ пишется в базу. Письма рассылаются админам и пользователям.
Одно но: заказы почему-то дублируются(троятся и четверятся тоже) в базе, и письма приходят соответственно приходят тоже по несколько раз. Причём бывает, что дубликаты появляются сразу вместе с основным заказом. А бывает так, что с некоторым интервалом.
Что это может быть такое??