Модуль UniSender для ShopCms

Модуль интеграции ShopCms и Unisender.

скачать


форма импорта в админке.

Для установки модуля распаковать содержимое архива в корневую папку сайта и внести добавления в следующие файлы:

0. Обязательные!!! настройки конфига — отркрываем файл \core\modules\unisender\config\config.php и устанавливаем свои значения для следуюших параметров:

  • key — API ключ получить в личном кабинете UniSender
  • get_lists — ID список кодов рассылок в которые добавлять нового пользователя при регистрации (перечислить через запятую)
  • subscription_form_get_lists — ID списка рассылки на который будет подписан пользователь отправивший форму subscription_form

1. Добавляем, обработчик страницы для админки — открыть файл \core\includes\admin\modules.php
после строки
array("id"=>"yandex", "name"=>"Яндекс.Маркет" ),

добавить
/* unisender */
array("id"=>"unisender", "name"=>"Экспорт контактов ShopSMS в UniSender" )
_____________________________________________________________
2. Делаем пункт меню для админки — открыть файл \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=custord&sub=affiliate">{$smarty.const.STRING_AFFILIATE_PROGRAM}</a></td></tr></table>

добавить
<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=unisender">{$smarty.const.STR_UNISENDER_MENU}</a></td></tr></table>
_____________________________________________________________
3. Добавлем текстовки — открыть файл \core\languages\russian.php
в конец или в начало файла добавить
/* unisender */	
include('core/modules/unisender/languages/russian.php');
_____________________________________________________________

далее пункты 4 и 5 нужны только если вы хотите добавлять нового пользователя в список рассылок при регистрации и для подписки/отписки пользователей на новости которые будете рассылать через UniSender.

4. Добавляем нового пользователя в список рассылок при регистрации — файл \core\functions\registration_functions.php

вначале файла перед
function regRegisterAdmin( $admin_login, $admin_pass )
добавить
include('core/modules/unisender/config/config.php');

после строк
db_query("insert into ".CUSTOMERS_TABLE.
                "( Login, cust_password, Email, first_name, last_name, subscribed4news, reg_datetime, CID, custgroupID, affiliateID, ActivationCode )".
                "values( '".xToText(trim($login))."', '".xEscSQL(trim($cust_password))."', '".xToText(trim($Email))."', ".
                " '".xToText(trim($first_name))."', '".xToText(trim($last_name))."', '".(int)$subscribed4news."', '".xEscSQL(get_current_time())."', ".
                        (int)$currencyID.", ".(int)$custgroupID.", ".xEscSQL(trim($affiliateID)).", '".xEscSQL(trim($ActivationCode))."' )" );

добавить
/* ---> UniSender */
	if (!CONF_ENABLE_REGCONFIRMATION){
	    $aConfigUnisender = unserialize(CONFIG_UNISENDER);
	    if ($aConfigUnisender['new_user']){
		$sName = xToText(trim($login));
		$first_name=xToText(trim($first_name));
		$last_name=xToText(trim($last_name));
		if (!empty($first_name) or !empty($last_name)) {
		    $aName = array();
		    if ($first_name != '')
			$aName[] = $first_name;
		    if ($last_name != '')
			$aName[] = $last_name;

		    $sName = implode(' ', $aName);
		}	    
		UniSendSubscribe($aConfigUnisender['get_lists'], xToText(trim($Email)), $sName);
	    }
	}
	/* <--- UniSender */

в функцию function regActivateCustomer($_CustomerID){

после
db_query($sql);
добавить
/* ---> UniSender */
	$aConfigUnisender = unserialize(CONFIG_UNISENDER);
	if ($aConfigUnisender['new_user']){
	    $sName = xToText(trim($login));
	    $first_name=xToText(trim($first_name));
	    $last_name=xToText(trim($last_name));
	    if (!empty($first_name) or !empty($last_name)) {
		$aName = array();
		if ($first_name != '')
		    $aName[] = $first_name;
		if ($last_name != '')
		    $aName[] = $last_name;

		$sName = implode(' ', $aName);
	    }	    
	    UniSendSubscribe($aConfigUnisender['get_lists'], xToText(trim($Email)), $sName);
	}
	/* <--- UniSender */
_____________________________________________________
5. Для подписки/отписки пользователей на новости — открыть файл \core\functions\subscribers_functions.php и в функцию function subscrAddUnRegisteredCustomerEmail( $email )

после строки
db_query( "insert into ".MAILING_LIST_TABLE." ( Email ) values ( '".xToText($email)."' )" );

добваить
/* ---> UniSender */
	    $aConfigUnisender = unserialize(CONFIG_UNISENDER);

	    if ($aConfigUnisender['subscription_form']){	    
		UniSendSubscribe($aConfigUnisender['subscription_form_get_lists'], xToText(trim($email)), $aConfigUnisender['subscription_form_name']);
	    }
	
	/* <--- UniSender */

и в функцию function subscrUnsubscribeSubscriberByEmail2( $email )
после
db_query( "delete from ".MAILING_LIST_TABLE." where Email='".xToText($email)."'" );

добавить
/* ---> UniSender */
	    $aConfigUnisender = unserialize(CONFIG_UNISENDER);
	    if ($aConfigUnisender['subscription_form']){	    
		UniSendExclude($aConfigUnisender['subscription_form_get_lists'], xToText(trim($email)));
	    }	
	/* <--- UniSender */

скачать
Все.

Оставить комментарий

Чтобы оставить комментарий или зарегистрируйтесь на сайте×

1 комментарий

комментарий был удален
еще