SMS отправляется клиенту при
- завершении оформления заказа
- оплате заказа
- смене статуса заказа
- приближении срока окончания действия бонусов
1.JPG 134.97К 50 Количество загрузок:
Установка:
----------
1. копируем файлы
modules_infosms.php -> core/includes/admin/sub/
modules_infosms.tpl.html -> core/tpl/admin/
infosms_function.php -> core/functions/
infosms_reminder.php -> core/includes/
2. в файле default.tpl.html перед строкой
<div class="marg"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=yandex">{$smarty.const.ADMIN_STRING_YANDEX}</a></div>
вставляем
{* BEGIN infosms *}
<div class="marg"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=infosms">ИнфoSMS</a></div>
{* END infosms *}
3. в файле core/tpl/admin/menu.tpl.html перед строкой
<table class="adn topj"><tr><td><img src="data/admin/drs.gif" alt=""></td><td width="100%"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=yandex">{$smarty.const.ADMIN_STRING_YANDEX}</a></td></tr></table>
вставляем
{* BEGIN infosms *}
<table class="adn topj"><tr><td><img src="data/admin/drs.gif" alt=""></td><td width="100%"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=infosms">ИнфoSMS</a></td></tr></table>
{* END infosms *}
4. в файле core/includes/admin/modules.php перед строкой
array("id"=>"yandex", "name"=>"Яндекс.Маркет" )
вставляем
# BEGIN infosms
array("id"=>"infosms", "name"=>"ИнфoSMS"),
# END infosms
5. в файле order_functions.php в функции ordOrderProcessing перед строкой
return $orderID;
вставляем
#BEGIN infosms
if(CONF_INFOSMS_MSG_ORDER_ENABLE)
{
$tmp_code = array();
foreach ($cartContent['cart_content'] as $prod)
if ($prod['product_code'])
$tmp_code[] = $prod['product_code'];
$replace = array();
$replace[0] = $orderID;
$replace[1] = $order_amount.$currentCurrency['code'];
$replace[2] = implode(',',$tmp_code);
$replace[3] = $paymentName;
#sendSMS(CONF_INFOSMS_LOGIN, CONF_INFOSMS_PWD, regCustomerPhone($customerID), CONF_INFOSMS_MSG_ORDER, CONF_INFOSMS_SENDER,$replace);
sendSMS(CONF_INFOSMS_LOGIN, CONF_INFOSMS_PWD, $customerInfo["last_name"], CONF_INFOSMS_MSG_ORDER, CONF_INFOSMS_SENDER,$replace);
}
#END infosms
6. в файле order_status_functions.php в функции ostSetOrderStatusToOrder
6.1 вместо строки
$q4 = db_query("select customerID, order_amount from ".ORDERS_TABLE." where orderID=".(int)$orderID);
вставляем
#BEGIN infosms
#$q4 = db_query("select customerID, order_amount from ".ORDERS_TABLE." where orderID=".(int)$orderID);
$q4 = db_query("select customerID, customer_lastname, order_amount from ".ORDERS_TABLE." where orderID=".(int)$orderID);
#END infosms
6.2 после строки
$order_amount = $row["order_amount"];
вставляем
#BEGIN infosms
$customer_lastname = $row["customer_lastname"];
#END infosms
6.3 вместо строки
$bonus_date_begin = ($check_point_validity >= time()) ? ", next_reminder=DATE_ADD(bonus_date_begin, INTERVAL ".($count_days_validity-CONF_BONUS_EMAIL_REMINDER)." DAY), num_reminder=0" : " , bonus_date_begin = '".date("Y-m-d")."' , next_reminder=DATE_ADD('".date("Y-m-d")."', INTERVAL ".($count_days_validity-CONF_BONUS_EMAIL_REMINDER)." DAY), num_reminder=0";
вставляем
#BEGIN infosms
#$bonus_date_begin = ($check_point_validity >= time()) ? ", next_reminder=DATE_ADD(bonus_date_begin, INTERVAL ".($count_days_validity-CONF_BONUS_EMAIL_REMINDER)." DAY), num_reminder=0" : " , bonus_date_begin = '".date("Y-m-d")."' , next_reminder=DATE_ADD('".date("Y-m-d")."', INTERVAL ".($count_days_validity-CONF_BONUS_EMAIL_REMINDER)." DAY), num_reminder=0";
$bonus_date_begin = ($check_point_validity >= time()) ? ", sms_reminder=DATE_ADD(bonus_date_begin, INTERVAL ".($count_days_validity-CONF_INFOSMS_MSG_BONUS_DAY)." DAY), next_reminder=DATE_ADD(bonus_date_begin, INTERVAL ".($count_days_validity-CONF_BONUS_EMAIL_REMINDER)." DAY), num_reminder=0" : " , bonus_date_begin = '".date("Y-m-d")."', sms_reminder=DATE_ADD(bonus_date_begin, INTERVAL ".($count_days_validity-CONF_INFOSMS_MSG_BONUS_DAY)." DAY), next_reminder=DATE_ADD('".date("Y-m-d")."', INTERVAL ".($count_days_validity-CONF_BONUS_EMAIL_REMINDER)." DAY), num_reminder=0";
#END infosms
6.4 в блоке
if($statusID == CONF_COMPLETED_ORDER_STATUS)
{
...
}
в самый конец вставляем
#BEGIN infosms
if(CONF_INFOSMS_MSG_STATUS_ENABLE)
{
$replace = array();
$replace[0] = $orderID;
$replace[1] = $clientID?$cust_info['bonus_adm']:'-';
$replace[2] = $clientID?date('j-M-Y',max($check_point_validity, time())):'-';
#sendSMS(CONF_INFOSMS_LOGIN, CONF_INFOSMS_PWD, regCustomerPhone($clientID), CONF_INFOSMS_MSG_STATUS, CONF_INFOSMS_SENDER,$replace);
sendSMS(CONF_INFOSMS_LOGIN, CONF_INFOSMS_PWD, $customer_lastname, CONF_INFOSMS_MSG_STATUS, CONF_INFOSMS_SENDER,$replace);
}
#END infosms
------------------
После всего этого в админке в разделе "Модули" появится новый модуль "ИнфoSMS".
Уровень доступа к этому модулю "Общие настройки" (это для тех, у кого кроме админов с полным доступом и клиентов есть еще пользователи с разными уровнями доступа в админке).
PS. Модуль написан под систему с установленным модулем накопительных бонусов.
В системе без этого модуля что-то лишнее придется убрать. А может, и так заработает. Не проверял.