Регистрация происходит в момент окончания оформления заказа.
Ничто не мешает вставить этот код и сразу после внесения quick-регистрационных данных,
но пока анонимус не оформил хотя бы один заказ - нахрен он нам сдался в базе клиентов?
Пинать его SMS-ками и емейлом? Спорно... Короче, я сделал это на этапе завершения оформления заказа.
Клиенту на email высылается информация, которая была занесена в базу.
Главное - Логин (User_XXXXXX) и пароль (YYYYYY).
XXXXXX случайно-цифровой, YYYYYY случайно-буквенно-цифровой.
Логин проверяется на совпадение с уже существующими.
Остальные данные - дополнительные поля (если они есть) и адрес/город/область (если они включены в админке) - тоже заносятся в запись этого клиента.
При установленном модуле отсылки SMSок (infosmska.ru) также отсылается SMS-ка с логином-паролем.
Спонсор: ker1
Установка:
=========
В файле order_functions.php в функции ordOrderProcessing перед строкой
$sql = "insert into ".ORDERS_TABLE.
вставляем
# BEGIN Register-after-quick
if (!$customerID)
{
while (true) if (!regIsRegister($login = 'user_'.generateRndCode(6,'1234567890'))) break;
$cust_password = generateRndCode(6);
$eml = xToText($_SESSION["email"]);
$first_name = xToText($_SESSION["first_name"]);
$last_name = xToText($_SESSION["last_name"]);
$country = $_SESSION["receiver_countryID"];
$state = $_SESSION["receiver_state"];
$zoneID = $_SESSION["receiver_zoneID"];
$city = xToText($_SESSION["receiver_city"]);
$addr = xToText($_SESSION["receiver_address"]);
foreach ($_SESSION as $key => $val)
if (strstr($key,"additional_field_") && strlen(trim($val)) > 0)
$additional_field_values[(int)str_replace("additional_field_","",$key)] = array('additional_field' => $val);
regRegisterCustomer( $login, $cust_password, $eml, $first_name, $last_name, 0, $additional_field_values);
regSetDefaultAddressIDByLogin($login, regAddAddress($first_name, $last_name, $country, $zoneID, $state, $city, $addr, $login, $errorCode));
regEmailNotification($smarty_mail, $login, $cust_password, $eml, $first_name, $last_name, 0, $additional_field_values, $country, $zoneID, $state, $city, $addr, 0);
$customerID = regGetIdByLogin( $login );
#sendSMS(CONF_INFOSMS_LOGIN, COF_INFOSMS_PWD, $last_name, "Регистрация. Логин:$login, Пароль:$cust_password", CONF_INFOSMS_SENDER);
}
# END Register-after-quick