403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/skyweb24.popuppro/classes/general/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/skyweb24.popuppro/classes/general/popuppro.php
<?php

use \Bitrix\Main\Application,
    Bitrix\Main,
    Bitrix\Main\Web\Cookie,
    Bitrix\Main\Context,
    Bitrix\Main\Localization\Loc,
    Bitrix\Main\Page\Asset,
    Bitrix\Main\UserConsent\Internals\AgreementTable,
    Bitrix\Main\UserConsent\Agreement;
use Bitrix\Main\Mail\Event;
use Bitrix\Sale\Internals;
use Skyweb24\Popuppro\Config;
use Skyweb24\Popuppro\Repository\RepositoryEventTemplateSms;
use Skyweb24\Popuppro\Service\Condition\ServiceCondition;
use Skyweb24\Popuppro\Service\Event\ServiceSendCouponPhone;
use Skyweb24\Popuppro\Service\Popup\Coupon\ServiceCoupon;

\Bitrix\Main\Loader::IncludeModule('sale');
\Bitrix\Main\Loader::IncludeModule('catalog');
Loc::loadMessages(__FILE__);

/**
 * @deprecated
 * Class popuppro
 * need use Skyweb24\Popuppro\Popup
 */

class popuppro extends \Skyweb24\Popuppro\Base
{
    use \Skyweb24\Popuppro\Conditions;

    protected $tableSetting;
    protected $tableColorThemes;
    protected $tableTemplates;
    protected $idPopup;
    protected $consentList;
    protected $site_id;
    protected $settings;

    const idModule = 'skyweb24.popuppro';

    function __construct($id = 'new')
    {
        $this->tableSetting = 'skyweb24_popuppro';
        $this->tableTemplates = 'skyweb24_popuppro_add_templates';
        $this->idPopup = $id;
        $this->consentList = 'none';
        $this->site_id = SITE_ID;

        if(!empty($id) AND is_numeric($id)) {
            $this->getSetting();
        }

    }

    public function getId()
    {
        return $this->idPopup;
    }

    public function isActive(): bool
    {
        return $this->settings['row']['active'] === "Y";
    }

    public function getConsentList()
    {

        if($this->consentList == 'none') {
            if(class_exists('Bitrix\Main\UserConsent\Agreement')) {
                $tmpList = [];
                $list = AgreementTable::getList([
                    'select' => ['ID', 'DATE_INSERT', 'ACTIVE', 'NAME', 'TYPE'],
                    'filter' => ['ACTIVE' => 'Y'],
                    'order'  => ['ID' => 'ASC']
                ]);

                if(!empty($list)) {
                    foreach($list as $item) {
                        $tmpList[$item['ID']] = $item['NAME'];
                    }
                    if(count($tmpList) > 0) {
                        $this->consentList = $tmpList;
                    }
                }
            }
        }
        return ($this->consentList == 'none') ? [] : $this->consentList;
    }

    public function getAgreements($agrArr = [])
    {
        $retArr = [];
        if(class_exists('Bitrix\Main\UserConsent\Agreement')) {
            $agreements = new Agreement(1);
            $agreements = $agreements::getActiveList();
            if(count($agreements) > 0) {
                foreach($agreements as $key => $agreement) {
                    $tmpAgreement = new Agreement($key, $agrArr);
                    $retArr[$key] = $tmpAgreement->getLabelText();
                }
            }
        }
        return $retArr;
    }

    public function setPopupId($id)
    {
        $this->idPopup = $id;
    }

    public function getTableSetting()
    {
        return $this->tableSetting;
    }

    private function getTypesPreset()
    {
        $type = [
            'banner' => [
                'code'          => 'banner',
                'sort'          => 100,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_BANNER"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_BANNER_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_BANNER_TARGET"),
                'active'        => true,
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_BANNER_LINK_DOCUMENT"),
                'props'         => [
                    'IMG_1_SRC'   => ['type' => 'content',
                                      'name' => GetMessage("skyweb24.popuppro_BANNER_CONTENT_IMG_1_SRC"),
                                      'hint' => GetMessage("skyweb24.popuppro_IMG_1_SRC_HINT")],
                    'LINK_HREF'   => ['type' => 'content',
                                      'name' => GetMessage("skyweb24.popuppro_BANNER_CONTENT_LINK_HREF"),
                                      'hint' => GetMessage("skyweb24.popuppro_LINK_HREF_HINT")],
                    'HREF_TARGET' => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage("skyweb24.popuppro_HREF_TARGET"),
                        'list' => ['_blank' => GetMessage("skyweb24.popuppro_HREF_TARGET_BLANK"),
                                   '_self'  => GetMessage("skyweb24.popuppro_HREF_TARGET_SELF")],
                        'hint' => GetMessage("skyweb24.popuppro_HREF_TARGET_HINT")
                    ]
                ]
            ],

            'video' => [
                'code'          => 'video',
                'sort'          => 200,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_VIDEO"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_VIDEO_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_VIDEO_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_VIDEO_LINK_DOCUMENT"),
                'props'         => [
                    'LINK_VIDEO'     => ['type' => 'content',
                                         'name' => GetMessage("skyweb24.popuppro_VIDEO_CONTENT_LINK_VIDEO"),
                                         'hint' => GetMessage("skyweb24.popuppro_VIDEO_CONTENT_LINK_VIDEO_HINT")],
                    'VIDEO_SIMILAR'  => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'list' => [0 => GetMessage("skyweb24.popuppro_NO"), 1 => GetMessage("skyweb24.popuppro_YES")],
                        'name' => GetMessage("skyweb24.popuppro_VIDEO_SERVICE_VIDEO_SIMILAR"),
                        'hint' => GetMessage("skyweb24.popuppro_VIDEO_SERVICE_VIDEO_SIMILAR_HINT")
                    ],
                    'VIDEO_AUTOPLAY' => [
                        'type' => 'service',
                        'name' => GetMessage("skyweb24.popuppro_VIDEO_SERVICE_VIDEO_AUTOPLAY"),
                        'tag'  => 'select',
                        'list' => [0 => GetMessage("skyweb24.popuppro_NO"), 1 => GetMessage("skyweb24.popuppro_YES")],
                        'hint' => GetMessage("skyweb24.popuppro_VIDEO_SERVICE_VIDEO_AUTOPLAY_HINT")
                    ]
                ]
            ],

            'action' => [
                'code'          => 'action',
                'sort'          => 300,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_ACTION"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_ACTION_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_ACTION_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_ACTION_LINK_DOCUMENT"),
                'color_style'   => [
                    'orange'       => GetMessage("skyweb24.popuppro_ACTION_COLOR_ORANGE"),
                    'green'        => GetMessage("skyweb24.popuppro_ACTION_COLOR_GREEN"),
                    'greensea'     => GetMessage("skyweb24.popuppro_ACTION_COLOR_GREENSEA"),
                    'red'          => GetMessage("skyweb24.popuppro_ACTION_COLOR_RED"),
                    'midnightblue' => GetMessage("skyweb24.popuppro_ACTION_COLOR_MIDNIGHTBLUE"),
                    'asbestos'     => GetMessage("skyweb24.popuppro_ACTION_COLOR_ASBESTOS"),
                    'dark'         => GetMessage("skyweb24.popuppro_ACTION_COLOR_DARK"),
                    'blue'         => GetMessage("skyweb24.popuppro_ACTION_COLOR_BLUE"),
                    'pumpkin'      => GetMessage("skyweb24.popuppro_ACTION_COLOR_PUMPKIN"),
                    'wisteria'     => GetMessage("skyweb24.popuppro_ACTION_COLOR_WISTERIA"),

                    'au_GreenlandGreen' => GetMessage("skyweb24.popuppro_au_GreenlandGreen"),
                    'au_Turbo'          => GetMessage("skyweb24.popuppro_au_Turbo"),
                    'au_PureApple'      => GetMessage("skyweb24.popuppro_au_PureApple"),
                    'au_CarminePink'    => GetMessage("skyweb24.popuppro_au_CarminePink"),
                    'au_HintOfIcePack'  => GetMessage("skyweb24.popuppro_au_HintOfIcePack"),
                    'au_QuinceJelly'    => GetMessage("skyweb24.popuppro_au_QuinceJelly"),
                    'au_WizardGrey'     => GetMessage("skyweb24.popuppro_au_WizardGrey"),
                    'au_Blurple'        => GetMessage("skyweb24.popuppro_au_Blurple"),
                    'au_DeepCove'       => GetMessage("skyweb24.popuppro_au_DeepCove"),
                    'au_SteelPink'      => GetMessage("skyweb24.popuppro_au_SteelPink"),

                    'ca_Cyanite'            => GetMessage("skyweb24.popuppro_ca_Cyanite"),
                    'ca_DarkMountainMeadow' => GetMessage("skyweb24.popuppro_ca_DarkMountainMeadow"),
                    'ca_Amour'              => GetMessage("skyweb24.popuppro_ca_Amour"),
                    'ca_AquaVelvet'         => GetMessage("skyweb24.popuppro_ca_AquaVelvet"),
                    'ca_DoubleDragonSkin'   => GetMessage("skyweb24.popuppro_ca_DoubleDragonSkin"),
                    'ca_LianHongLotusPink'  => GetMessage("skyweb24.popuppro_ca_LianHongLotusPink"),
                    'ca_BleuDeFrance'       => GetMessage("skyweb24.popuppro_ca_BleuDeFrance"),
                    'ca_StormPetrel'        => GetMessage("skyweb24.popuppro_ca_StormPetrel"),
                    'ca_Bluebell'           => GetMessage("skyweb24.popuppro_ca_Bluebell"),
                    'ca_ImperialPrimer'     => GetMessage("skyweb24.popuppro_ca_ImperialPrimer"),

                    'ru_BlueCuracao'     => GetMessage("skyweb24.popuppro_ru_BlueCuracao"),
                    'ru_Summertime'      => GetMessage("skyweb24.popuppro_ru_Summertime"),
                    'ru_PorcelainRose'   => GetMessage("skyweb24.popuppro_ru_PorcelainRose"),
                    'ru_DeepRose'        => GetMessage("skyweb24.popuppro_ru_DeepRose"),
                    'ru_Tigerlily'       => GetMessage("skyweb24.popuppro_ru_Tigerlily"),
                    'ru_SawtoothAak'     => GetMessage("skyweb24.popuppro_ru_SawtoothAak"),
                    'ru_FlamingoPink'    => GetMessage("skyweb24.popuppro_ru_FlamingoPink"),
                    'ru_Cornflower'      => GetMessage("skyweb24.popuppro_ru_Cornflower"),
                    'ru_Biscay'          => GetMessage("skyweb24.popuppro_ru_Biscay"),
                    'ru_PurpleCorallite' => GetMessage("skyweb24.popuppro_ru_PurpleCorallite"),
                ],
                'props'         => [

                    'IMG_1_SRC' => ['type' => 'content',
                                    'name' => GetMessage("skyweb24.popuppro_ACTION_CONTENT_IMG_1_SRC"),
                                    'hint' => GetMessage("skyweb24.popuppro_IMG_1_SRC_HINT")],
                    'TITLE'     => ['type'            => 'content',
                                    'name'            => GetMessage("skyweb24.popuppro_ACTION_CONTENT_TITLE"),
                                    'hint'            => GetMessage("skyweb24.popuppro_CONTENT_TITLE_HINT"),
                                    'PERSONALISATION' => 'Y'],
                    'SUBTITLE'  => ['type'            => 'content',
                                    'name'            => GetMessage("skyweb24.popuppro_ACTION_CONTENT_SUBTITLE"),
                                    'hint'            => GetMessage("skyweb24.popuppro_CONTENT_TITLE_HINT"),
                                    'PERSONALISATION' => 'Y'],
                    'CONTENT'   => ['type'            => 'content', 'tag' => 'textarea',
                                    'name'            => GetMessage("skyweb24.popuppro_ACTION_CONTENT_CONTENT"),
                                    'hint'            => GetMessage("skyweb24.popuppro_CONTENT_TITLE_HINT"),
                                    'PERSONALISATION' => 'Y'],
                    'LINK_TEXT' => ['type'            => 'content',
                                    'name'            => GetMessage("skyweb24.popuppro_ACTION_CONTENT_LINK_TEXT"),
                                    'hint'            => GetMessage("skyweb24.popuppro_CONTENT_TITLE_HINT"),
                                    'PERSONALISATION' => 'Y'],
                    'LINK_HREF' => ['type' => 'content',
                                    'name' => GetMessage("skyweb24.popuppro_ACTION_CONTENT_LINK_HREF"),
                                    'hint' => GetMessage("skyweb24.popuppro_ACTION_CONTENT_LINK_HREF_HINT")],

                    'HREF_TARGET'   => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage("skyweb24.popuppro_HREF_TARGET"),
                        'list' => ['_blank' => GetMessage("skyweb24.popuppro_HREF_TARGET_BLANK"),
                                   '_self'  => GetMessage("skyweb24.popuppro_HREF_TARGET_SELF")],
                        'hint' => GetMessage('skyweb24.popuppro_HREF_TARGET_HINT')
                    ],
                    'GOOGLE_FONT'   => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ],
                    'BUTTON_METRIC' => ['type' => 'service', 'tag' => 'textarea',
                                        'name' => GetMessage('skyweb24.popuppro_BUTTON_METRIC'),
                                        'hint' => GetMessage('skyweb24.popuppro_BUTTON_METRIC_HINT')],
                ]
            ],

            'social' => [
                'code'          => 'social',
                'sort'          => 400,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_SOCIAL"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_SOCIAL_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_SOCIAL_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_SOCIAL_LINK_DOCUMENT"),
                'props'         => [
                    'TITLE'       => ['type'            => 'content',
                                      'name'            => GetMessage("skyweb24.popuppro_VIDEO_CONTENT_TITLE"),
                                      'hint'            => GetMessage("skyweb24.popuppro_CONTENT_TITLE_HINT"),
                                      'PERSONALISATION' => 'Y'],/*??????*/
                    'ID_VK'       => ['type' => 'content',
                                      'name' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_VK"),
                                      'hint' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_VK_HINT")],
                    'ID_INST'     => ['type' => 'content',
                                      'name' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_INST"),
                                      'hint' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_INST_HINT")],
                    'ID_ODNKL'    => ['type' => 'content',
                                      'name' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_ODNKL"),
                                      'hint' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_ODNKL_HINT")],
                    'ID_FACEBOOK' => ['type' => 'content',
                                      'name' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_FACEBOOK"),
                                      'hint' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_ODNKL_HINT")],
                    'ID_TWITTER'  => ['type' => 'content',
                                      'name' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_TWITTER"),
                                      'hint' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_ODNKL_HINT")],
                    'ID_YOUTUBE'  => ['type' => 'content',
                                      'name' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_YOUTUBE"),
                                      'hint' => GetMessage("skyweb24.popuppro_SOCIAL_SERVICE_ID_ODNKL_HINT")],

                    'HREF_TARGET' => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage("skyweb24.popuppro_HREF_TARGET"),
                        'list' => ['_blank' => GetMessage("skyweb24.popuppro_HREF_TARGET_BLANK"),
                                   '_self'  => GetMessage("skyweb24.popuppro_HREF_TARGET_SELF")],
                    ],
                    'GOOGLE_FONT' => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ],
                ]
            ],

            'contact' => [
                'code'          => 'contact',
                'sort'          => 500,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_LINK_DOCUMENT"),
                'props'         => [
                    'IMG_1_SRC'   => [
                        'type' => 'content',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_CONTENT_MAIN_IMG"),
                        'hint' => GetMessage('skyweb24.popuppro_IMG_1_SRC_HINT')
                    ],
                    'TITLE'       => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_CONTACT_CONTENT_TITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'SUBTITLE'    => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_CONTACT_CONTENT_SUBTITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'BUTTON_TEXT' => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_CONTACT_CONTENT_BUTTON_TEXT"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],

                    'EMAIL_SHOW'        => [
                        'type'  => 'content',
                        'tag'   => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_SHOW"),
                        'block' => 'start'
                    ],
                    'EMAIL_REQUIRED'    => [
                        'type' => 'content', 'tag' => 'checkbox',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_REQUIRED"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_REQUIRED_HINT')
                    ],
                    'EMAIL_TITLE'       => [
                        'type' => 'content',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_TITLE"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_NAME_HINT')
                    ],
                    'EMAIL_PLACEHOLDER' => [
                        'type'  => 'content',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_PLACEHOLDER"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_PLECAHOLDER_HINT'),
                        'block' => 'end'
                    ],

                    'NAME_SHOW'        => [
                        'type'  => 'content', 'tag' => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_NAME_SHOW"),
                        'block' => 'start'
                    ],
                    'NAME_REQUIRED'    => [
                        'type' => 'content', 'tag' => 'checkbox',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_NAME_REQUIRED"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_REQUIRED_HINT')
                    ],
                    'NAME_TITLE'       => [
                        'type' => 'content', 'name' => GetMessage("skyweb24.popuppro_CONTACT_TITLE"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_NAME_HINT')
                    ],
                    'NAME_PLACEHOLDER' => [
                        'type'  => 'content',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_PLACEHOLDER"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_PLECAHOLDER_HINT'),
                        'block' => 'end'
                    ],

                    'PHONE_SHOW'        => [
                        'type'  => 'content', 'tag' => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_PHONE_SHOW"),
                        'block' => 'start'
                    ],
                    'PHONE_REQUIRED'    => [
                        'type' => 'content', 'tag' => 'checkbox',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_PHONE_REQUIRED"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_REQUIRED_HINT')
                    ],
                    'PHONE_TITLE'       => [
                        'type' => 'content',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_TITLE"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_NAME_HINT')
                    ],
                    'PHONE_PLACEHOLDER' => [
                        'type'  => 'content',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_PLACEHOLDER"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_PLECAHOLDER_HINT'),
                        'block' => 'end'
                    ],

                    'DESCRIPTION_SHOW'        => [
                        'type'  => 'content',
                        'tag'   => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_SHOW"),
                        'block' => 'start'
                    ],
                    'DESCRIPTION_REQUIRED'    => [
                        'type' => 'content',
                        'tag'  => 'checkbox',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_REQUIRED"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_REQUIRED_HINT')
                    ],
                    'DESCRIPTION_TITLE'       => [
                        'type' => 'content',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_TITLE"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_NAME_HINT')
                    ],
                    'DESCRIPTION_PLACEHOLDER' => [
                        'type'  => 'content',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_PLACEHOLDER"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_PLECAHOLDER_HINT'),
                        'block' => 'end'
                    ],

                    'USE_CONSENT_SHOW' => [
                        'type'  => 'content',
                        'tag'   => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT"),
                        'block' => 'start'
                    ],
                    'CONSENT_LIST'     => [
                        'type'  => 'content',
                        'tag'   => 'select',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT_LIST"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_CONSENT_HINT'),
                        'list'  => $this->getConsentList(),
                        'block' => 'end'
                    ],

                    'HREF_TARGET'   => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage("skyweb24.popuppro_HREF_TARGET"),
                        'list' => ['_blank' => GetMessage("skyweb24.popuppro_HREF_TARGET_BLANK"),
                                   '_self'  => GetMessage("skyweb24.popuppro_HREF_TARGET_SELF")],
                    ],
                    'BUTTON_METRIC' => ['type' => 'service', 'tag' => 'textarea',
                                        'name' => GetMessage('skyweb24.popuppro_BUTTON_METRIC'),
                                        'hint' => GetMessage('skyweb24.popuppro_BUTTON_METRIC_HINT')],
                    'GOOGLE_FONT'   => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ],


                ]
            ],

            'share' => [
                'code'          => 'share',
                'sort'          => 600,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_SHARE"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_SHARE_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_SHARE_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_SHARE_LINK_DOCUMENT"),
                'props'         => [
                    'IMG_1_SRC' => ['type' => 'content',
                                    'name' => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_IMG"),
                                    'hint' => GetMessage('skyweb24.popuppro_IMG_1_SRC_HINT')],
                    'TITLE'     => ['type'            => 'content',
                                    'name'            => GetMessage("skyweb24.popuppro_SHARE_CONTENT_TITLE"),
                                    'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                                    'PERSONALISATION' => 'Y'],
                    'SUBTITLE'  => ['type'            => 'content',
                                    'name'            => GetMessage("skyweb24.popuppro_SHARE_CONTENT_SUBTITLE"),
                                    'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                                    'PERSONALISATION' => 'Y'],
                    'SOC_VK'    => ['type' => 'content', 'tag' => 'checkbox',
                                    'name' => GetMessage("skyweb24.popuppro_SHARE_CONTENT_VK")],
                    'SOC_FB'    => ['type' => 'content', 'tag' => 'checkbox',
                                    'name' => GetMessage("skyweb24.popuppro_SHARE_SERVICE_FB")],
                    'SOC_OD'    => ['type' => 'content', 'tag' => 'checkbox',
                                    'name' => GetMessage("skyweb24.popuppro_SHARE_SERVICE_OD")],
                    'SOC_TW'    => ['type' => 'content', 'tag' => 'checkbox',
                                    'name' => GetMessage("skyweb24.popuppro_SHARE_SERVICE_TW")],
                    'SOC_MR'    => ['type' => 'content', 'tag' => 'checkbox',
                                    'name' => GetMessage("skyweb24.popuppro_SHARE_SERVICE_MR")],

                    'HREF_TARGET' => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage("skyweb24.popuppro_HREF_TARGET"),
                        'list' => ['_blank' => GetMessage("skyweb24.popuppro_HREF_TARGET_BLANK"),
                                   '_self'  => GetMessage("skyweb24.popuppro_HREF_TARGET_SELF")],
                        'hint' => GetMessage('skyweb24.popuppro_HREF_TARGET_HINT')
                    ],
                    'GOOGLE_FONT' => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ]
                ]
            ],

            'html' => [
                'code'          => 'html',
                'sort'          => 700,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_HTML"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_HTML_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_HTML_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_HTML_LINK_DOCUMENT"),
                'props'         => [
                    //'TITLE'=>array('type'=>'content', 'name'=>GetMessage("skyweb24.popuppro_SHARE_CONTENT_TITLE")),
                    'TEXTAREA'    => ['type'            => 'content', 'tag' => 'textarea',
                                      'name'            => GetMessage("skyweb24.popuppro_HTML_CONTENT_TEXTAREA"),
                                      'row'             => '10',
                                      'hint'            => GetMessage('skyweb24.popuppro_HTML_CONTENT_TEXTAREA_HINT'),
                                      'PERSONALISATION' => 'Y'],
                    'HREF_TARGET' => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage("skyweb24.popuppro_HREF_TARGET"),
                        'list' => ['_blank' => GetMessage("skyweb24.popuppro_HREF_TARGET_BLANK"),
                                   '_self'  => GetMessage("skyweb24.popuppro_HREF_TARGET_SELF")],
                    ],

                ]
            ],

            'age' => [
                'code'          => 'age',
                'sort'          => 800,
                'name'          => GetMessage('skyweb24.popuppro_TYPE_NAME_AGE'),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_AGE_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_AGE_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_AGE_LINK_DOCUMENT"),
                'props'         => [
                    'IMG_1_SRC'     => ['type' => 'content',
                                        'name' => GetMessage("skyweb24.popuppro_AGE_CONTENT_MAIN_IMG"),
                                        'hint' => GetMessage('skyweb24.popuppro_IMG_1_SRC_HINT')],
                    'TITLE'         => ['type' => 'content',
                                        'name' => GetMessage('skyweb24.popuppro_AGE_CONTENT_TITLE'),
                                        'hint' => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT')],
                    'BUTTON_TEXT_Y' => ['type' => 'content',
                                        'name' => GetMessage('skyweb24.popuppro_AGE_CONTENT_BUTTON_Y'),
                                        'hint' => GetMessage('skyweb24.popuppro_AGE_CONTENT_BUTTON_Y_HINT')],
                    'BUTTON_TEXT_N' => ['type' => 'content',
                                        'name' => GetMessage('skyweb24.popuppro_AGE_CONTENT_BUTTON_N'),
                                        'hint' => GetMessage('skyweb24.popuppro_AGE_CONTENT_BUTTON_N_HINT')],
                    'HREF_LINK'     => ['type' => 'content',
                                        'name' => GetMessage('skyweb24.popuppro_AGE_CONTENT_HREF_LINK'),
                                        'hint' => GetMessage('skyweb24.popuppro_AGE_CONTENT_HREF_LINK_HINT')],

                    'GOOGLE_FONT' => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ]
                ]
            ],

            "roulette" => [
                'code'          => 'roulette',
                'sort'          => 1000,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_ROULETTE"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_ROULETTE_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_ROULETTE_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_ROULETTE_LINK_DOCUMENT"),
                'props'         => [
                    'TITLE'        => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_TITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'SUBTITLE'     => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_SUBTITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'BUTTON_TEXT'  => [
                        'type' => 'content',
                        'name' => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_BUTTON_TEXT"),
                        'hint' => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'), 'PERSONALISATION' => 'Y'],
                    'RESULT_TEXT'  => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_RESULT_TITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'hint'            => GetMessage('skyweb24.popuppro_ROULETTE_RESULT_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'NOTHING_TEXT' => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_NOTHING_TITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'hint'            => GetMessage('skyweb24.popuppro_ROULETTE_NOTHING_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],

                    'EMAIL_SHOW'   => [
                        'type'  => 'content',
                        'tag'   => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_SHOW"),
                        'block' => 'start',
                        'toggle-related' => 1
                    ],

                    'EMAIL_PLACEHOLDER'  => [
                        'type' => 'content',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_PLACEHOLDER"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_PLECAHOLDER_HINT')
                    ],
                    'EMAIL_ADD2BASE'     => [
                        'type' => 'content',
                        'tag'  => 'checkbox',
                        'name' => GetMessage('skyweb24.popuppro_CONTACT_ADD'),
                        'hint' => GetMessage('skyweb24.popuppro_CONTACT_ADD_HINT'),
                    ],
                    'EMAIL_NOT_NEW'      => [
                        'type' => 'content',
                        'tag'  => 'checkbox',
                        'name' => GetMessage('skyweb24.popuppro_CONTACT_UNIQUE'),
                        'hint' => GetMessage('skyweb24.popuppro_CONTACT_UNIQUE_HINT')
                    ],
                    'EMAIL_NOT_NEW_TEXT' => [
                        'type'  => 'content',
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_CONTENT_EMAIL_NOT_NEW'),
                        'block' => 'end',
                        'hint'  => GetMessage('skyweb24.popuppro_ROULETTE_CONTENT_EMAIL_NOT_NEW_HINT')
                    ],
                    'PHONE_FIELD_ACTIVE' => [
                        'type'  => 'content',
                        'tag'  => 'checkbox',
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_PHONE_FIELD_ACTIVE'),
                        'block' => 'start',
                        'toggle-related' => 1
                    ],
                    'PHONE_PLACEHOLDER' => [
                        'type' => "content",
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_PHONE_PLACEHOLDER'),
                    ],
                    'PHONE_TO_CONTACT' => [
                        'type' => "content",
                        'tag' => "checkbox",
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_PHONE_TO_CONTACT'),
                    ],
                    'PHONE_CONTACT_UNIQUE' => [
                        'type' => "content",
                        'tag' => "checkbox",
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_PHONE_CONTACT_UNIQUE'),
                    ],
                    'PHONE_CONTACT_UNIQUE_ERROR_MESSAGE' => [
                        'type' => "content",
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_PHONE_CONTACT_UNIQUE_ERROR_MESSAGE'),
                    ],
                    'PHONE_TEMPLATE' => [
                        'type'  => 'content',
                        'tag'  => 'select',
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_PHONE_TEMPLATE'),
                        'list' => $this->getSmsTemplateList(ServiceSendCouponPhone::EVENT_NAME),
                        'block' => 'end',
                    ],

                    'USE_CONSENT_SHOW' => [
                        'type'  => 'content',
                        'tag'   => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT"),
                        'block' => 'start'
                    ],
                    'CONSENT_LIST'     => [
                        'type'  => 'content',
                        'tag'   => 'select',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT_LIST"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_CONSENT_HINT'),
                        'list'  => $this->getConsentList(),
                        'block' => 'end'
                    ],

                    'REGISTER_USER'      => [
                        'type' => 'content',
                        'tag'  => 'checkbox',
                        'name' => GetMessage('skyweb24.popuppro_REGISTER_USER'),
                        'hint' => GetMessage('skyweb24.popuppro_REGISTER_USER_HINT')
                    ],
                    'GOOGLE_FONT'        => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ],

                    'BUTTON_METRIC' => [
                        'type' => 'service',
                        'tag'  => 'textarea',
                        'name' => GetMessage('skyweb24.popuppro_BUTTON_METRIC'),
                        'hint' => GetMessage('skyweb24.popuppro_BUTTON_METRIC_HINT')
                    ],
                    "MAIL_TEMPLATE" => [
                        'type' => 'content',
                        'tag'  => 'select',
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_TEMPLATE'),
                        'hint' => GetMessage('skyweb24.popuppro_ROULETTE_TEMPLATE_HINT'),
                        'list' => \Skyweb24\Popuppro\Event::getMailTemplates('SKYWEB24_POPUPPRO_ROULETTE_SEND')
                    ],

                ]
            ],

            'thimbles' => [
                'code'          => 'thimbles',
                'sort'          => 1200,
                'name'          => GetMessage("SKYWEB24_POPUPPRO_THIMBLES_TYPE_NAME"),
                'description'   => GetMessage("SKYWEB24_POPUPPRO_THIMBLES_TYPE_DESCRIPTION"),
                'target'        => GetMessage("SKYWEB24_POPUPPRO_THIMBLES_TYPE_DESCRIPTION_TARGET"),
                'link_document' => GetMessage("SKYWEB24_POPUPPRO_THIMBLES_TYPE_DESCRIPTION_LINK"),
                'props'         => [
                    'TITLE'              => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_TITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'SUBTITLE'           => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_SUBTITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'BUTTON_TEXT'        => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_BUTTON_TEXT"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'RESULT_TEXT'        => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_RESULT_TITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'hint'            => GetMessage('skyweb24.popuppro_ROULETTE_RESULT_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'NOTHING_TEXT'       => [
                        'type'            => 'content',
                        'name'            => GetMessage("skyweb24.popuppro_ROULETTE_NOTHING_TITLE"),
                        'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                        'hint'            => GetMessage('skyweb24.popuppro_ROULETTE_NOTHING_HINT'),
                        'PERSONALISATION' => 'Y'
                    ],
                    'EMAIL_SHOW'         => [
                        'type'  => 'content', 'tag' => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_SHOW"),
                        'block' => 'start'
                    ],
                    'EMAIL_PLACEHOLDER'  => [
                        'type' => 'content',
                        'name' => GetMessage("skyweb24.popuppro_CONTACT_PLACEHOLDER"),
                        'hint' => GetMessage('skyweb24.popuppro_INPUT_PLECAHOLDER_HINT')
                    ],
                    'EMAIL_NOT_NEW'      => [
                        'type' => 'content', 'tag' => 'checkbox',
                        'name' => GetMessage('skyweb24.popuppro_CONTACT_UNIQUE'),
                        'hint' => GetMessage('skyweb24.popuppro_CONTACT_UNIQUE_HINT')
                    ],
                    'EMAIL_NOT_NEW_TEXT' => [
                        'type'  => 'content',
                        'name'  => GetMessage('skyweb24.popuppro_ROULETTE_CONTENT_EMAIL_NOT_NEW'),
                        'block' => 'end',
                        'hint'  => GetMessage('skyweb24.popuppro_ROULETTE_CONTENT_EMAIL_NOT_NEW_HINT')
                    ],

                    'USE_CONSENT_SHOW' => [
                        'type'  => 'content',
                        'tag'   => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT"),
                        'block' => 'start'
                    ],
                    'CONSENT_LIST'     => [
                        'type'  => 'content',
                        'tag'   => 'select',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT_LIST"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_CONSENT_HINT'),
                        'list'  => $this->getConsentList(),
                        'block' => 'end'
                    ],
                    
                    'REGISTER_USER'      => [
                        'type' => 'content', 'tag' => 'checkbox',
                        'name' => GetMessage('skyweb24.popuppro_REGISTER_USER'),
                        'hint' => GetMessage('skyweb24.popuppro_REGISTER_USER_HINT')
                    ],
                    'GOOGLE_FONT'        => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ],
                    'IMG_WIN'            => [
                        'type' => 'service',
                        'name' => GetMessage("SKYWEB24_POPUPPRO_THIMBLES_IMG_WIN"),
                        'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_HINT')
                    ],
                    'IMG_DEFEAT'         => [
                        'type' => 'service',
                        'name' => GetMessage("SKYWEB24_POPUPPRO_THIMBLES_IMG_DEFEAT"),
                        'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_HINT')
                    ],
                    'IMG_DEFAULT'        => [
                        'type' => 'service',
                        'name' => GetMessage("SKYWEB24_POPUPPRO_THIMBLES_IMG_DEFAULT"),
                        'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_HINT')
                    ],
                    'CHANCE'             => [
                        'type' => 'service', 'name' => "chance",
                        'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_HINT')
                    ],
                    "TIMING"             => [
                        'type' => 'service',
                        'name' => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING"),
                        'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_HINT')
                    ],
                    "MAIL_TEMPLATE"      => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_TEMPLATE'),
                        'hint' => GetMessage('skyweb24.popuppro_ROULETTE_TEMPLATE_HINT'),
                        'list' => \Skyweb24\Popuppro\Event::getMailTemplates('SKYWEB24_POPUPPRO_ROULETTE_SEND')
                    ]
                ]
            ],
        ];

        if(\Bitrix\Main\Loader::IncludeModule('sale')) {
            $type['coupon'] = [
                'code'          => 'coupon',
                'sort'          => 900,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_LINK_DOCUMENT"),
                'color_style'   => [
                    'green'        => GetMessage("skyweb24.popuppro_ACTION_COLOR_GREEN"),
                    'red'          => GetMessage("skyweb24.popuppro_ACTION_COLOR_RED"),
                    'blue'         => GetMessage("skyweb24.popuppro_ACTION_COLOR_BLUE"),
                    'wisteria'     => GetMessage("skyweb24.popuppro_ACTION_COLOR_WISTERIA"),
                    'orange'       => GetMessage("skyweb24.popuppro_ACTION_COLOR_ORANGE"),
                    'pumpkin'      => GetMessage("skyweb24.popuppro_ACTION_COLOR_PUMPKIN"),
                    'greensea'     => GetMessage("skyweb24.popuppro_ACTION_COLOR_GREENSEA"),
                    'midnightblue' => GetMessage("skyweb24.popuppro_ACTION_COLOR_MIDNIGHTBLUE"),
                    'dark'         => GetMessage("skyweb24.popuppro_ACTION_COLOR_DARK"),
                    'asbestos'     => GetMessage("skyweb24.popuppro_ACTION_COLOR_ASBESTOS")
                ],
                'props'         => [
                    'IMG_1_SRC'          => ['type' => 'content',
                                             'name' => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_IMG"),
                                             'hint' => GetMessage('skyweb24.popuppro_IMG_1_SRC_HINT')],
                    'TITLE'              => ['type'            => 'content',
                                             'name'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE"),
                                             'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                                             'PERSONALISATION' => 'Y'],
                    'SUBTITLE'           => ['type'            => 'content',
                                             'name'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE"),
                                             'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                                             'PERSONALISATION' => 'Y'],
                    'BUTTON_TEXT'        => ['type'            => 'content',
                                             'name'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT"),
                                             'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                                             'PERSONALISATION' => 'Y'],
                    'EMAIL_SHOW'         => ['type'  => 'content', 'tag' => 'checkbox',
                                             'name'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_SHOW"),
                                             'block' => 'start'],
                    'EMAIL_PLACEHOLDER'  => ['type' => 'content',
                                             'name' => GetMessage("skyweb24.popuppro_CONTACT_PLACEHOLDER"),
                                             'hint' => GetMessage('skyweb24.popuppro_INPUT_PLECAHOLDER_HINT')],
                    'EMAIL_NOT_NEW'      => ['type' => 'content', 'tag' => 'checkbox',
                                             'name' => GetMessage('skyweb24.popuppro_CONTACT_UNIQUE'),
                                             'hint' => GetMessage('skyweb24.popuppro_CONTACT_UNIQUE_HINT')],
                    'EMAIL_NOT_NEW_TEXT' => ['type'  => 'content',
                                             'name'  => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW'),
                                             'block' => 'end',
                                             'hint'  => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_HINT')],
                    'REGISTER_USER'      => ['type' => 'content', 'tag' => 'checkbox',
                                             'name' => GetMessage('skyweb24.popuppro_REGISTER_USER'),
                                             'hint' => GetMessage('skyweb24.popuppro_REGISTER_USER_HINT')],

                    'USE_CONSENT_SHOW' => [
                        'type'  => 'content',
                        'tag'   => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT"),
                        'block' => 'start'
                    ],
                    'CONSENT_LIST'     => [
                        'type'  => 'content',
                        'tag'   => 'select',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT_LIST"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_CONSENT_HINT'),
                        'list'  => $this->getConsentList(),
                        'block' => 'end'
                    ],

                    'RULE_ID'       => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'list' => Skyweb24\Popuppro\Tools::getBasketRules(),
                        'name' => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID"),
                        'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_HINT')
                    ],
                    'TIMING'        => ['type' => 'service',
                                        'name' => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING"),
                                        'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_HINT')],
                    'GOOGLE_FONT'   => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ],
                    'BUTTON_METRIC' => ['type' => 'service', 'tag' => 'textarea',
                                        'name' => GetMessage('skyweb24.popuppro_BUTTON_METRIC'),
                                        'hint' => GetMessage('skyweb24.popuppro_BUTTON_METRIC_HINT')],


                    'EMAIL_ADD2BASE' => ['type' => 'service', 'tag' => 'checkbox',
                                         'name' => GetMessage('skyweb24.popuppro_CONTACT_ADD'),
                                         'hint' => GetMessage('skyweb24.popuppro_CONTACT_ADD_HINT')],
                    'EMAIL_EMAIL_TO' => ['type' => 'service', 'tag' => 'checkbox',
                                         'name' => GetMessage('skyweb24.popuppro_CONTACT_EMAIL_TO'),
                                         'hint' => GetMessage('skyweb24.popuppro_CONTACT_EMAIL_TO_HINT')],

                    'EMAIL_TEMPLATE' => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage('skyweb24.popuppro_CONTACT_TEMPLATE'),
                        'hint' => GetMessage('skyweb24.popuppro_CONTACT_TEMPLATE_HINT'),
                        'list' => \Skyweb24\Popuppro\Event::getMailTemplates("SKYWEB24_POPUPPRO_SEND_COUPON")
                    ],

                ]
            ];
            $type['discount'] = [
                'code'          => 'discount',
                'sort'          => 1100,
                'name'          => GetMessage("skyweb24.popuppro_TYPE_NAME_DISCOUNT"),
                'description'   => GetMessage("skyweb24.popuppro_TYPE_NAME_DISCOUNT_DESCRIPTION"),
                'target'        => GetMessage("skyweb24.popuppro_TYPE_NAME_DISCOUNT_TARGET"),
                'link_document' => GetMessage("skyweb24.popuppro_TYPE_NAME_DISCOUNT_LINK_DOCUMENT"),
                'props'         => [
                    'IMG_1_SRC'   => ['type' => 'content', 'name' => GetMessage("skyweb24.popuppro_DISCOUNT_IMG_1"),
                                      'hint' => GetMessage('skyweb24.popuppro_IMG_1_SRC_HINT')],
                    'IMG_2_SRC'   => ['type' => 'content', 'name' => GetMessage("skyweb24.popuppro_DISCOUNT_IMG_2"),
                                      'hint' => GetMessage('skyweb24.popuppro_IMG_1_SRC_HINT')],
                    'TITLE'       => ['type'            => 'content',
                                      'name'            => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_TITLE"),
                                      'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                                      'PERSONALISATION' => 'Y'],
                    'SUBTITLE'    => ['type'            => 'content',
                                      'name'            => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_SUBTITLE"),
                                      'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                                      'PERSONALISATION' => 'Y'],
                    'BUTTON_TEXT' => ['type'            => 'content',
                                      'name'            => GetMessage("skyweb24.popuppro_ROULETTE_CONTENT_BUTTON_TEXT"),
                                      'hint'            => GetMessage('skyweb24.popuppro_CONTENT_TITLE_HINT'),
                                      'PERSONALISATION' => 'Y'],

                    'NAME_SHOW'     => ['type'  => 'content', 'tag' => 'checkbox',
                                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_NAME_SHOW"),
                                        'block' => 'start'],
                    'NAME_REQUIRED' => ['type' => 'content', 'tag' => 'checkbox',
                                        'name' => GetMessage("skyweb24.popuppro_CONTACT_NAME_REQUIRED"),
                                        'hint' => GetMessage('skyweb24.popuppro_INPUT_REQUIRED_HINT')],
                    'NAME_TITLE'    => ['type' => 'content', 'name' => GetMessage("skyweb24.popuppro_CONTACT_TITLE"),
                                        'hint' => GetMessage('skyweb24.popuppro_INPUT_NAME_HINT'), 'block' => 'end'],

                    'LASTNAME_SHOW'     => ['type'  => 'content', 'tag' => 'checkbox',
                                            'name'  => GetMessage("skyweb24.popuppro_DISCOUNT_LASTNAME_SHOW"),
                                            'block' => 'start'],
                    'LASTNAME_REQUIRED' => ['type' => 'content', 'tag' => 'checkbox',
                                            'name' => GetMessage("skyweb24.popuppro_DISCOUNT_LASTNAME_REQUIRED"),
                                            'hint' => GetMessage('skyweb24.popuppro_INPUT_REQUIRED_HINT')],
                    'LASTNAME_TITLE'    => ['type'  => 'content',
                                            'name'  => GetMessage("skyweb24.popuppro_CONTACT_TITLE"),
                                            'hint'  => GetMessage('skyweb24.popuppro_INPUT_NAME_HINT'),
                                            'block' => 'end'],

                    'PHONE_SHOW'     => ['type'  => 'content', 'tag' => 'checkbox',
                                         'name'  => GetMessage("skyweb24.popuppro_CONTACT_PHONE_SHOW"),
                                         'block' => 'start'],
                    'PHONE_REQUIRED' => ['type' => 'content', 'tag' => 'checkbox',
                                         'name' => GetMessage("skyweb24.popuppro_CONTACT_PHONE_REQUIRED"),
                                         'hint' => GetMessage('skyweb24.popuppro_INPUT_REQUIRED_HINT')],
                    'PHONE_TITLE'    => ['type' => 'content', 'name' => GetMessage("skyweb24.popuppro_CONTACT_TITLE"),
                                         'hint' => GetMessage('skyweb24.popuppro_INPUT_NAME_HINT'), 'block' => 'end'],

                    'EMAIL_SHOW'         => ['type'  => 'content', 'tag' => 'checkbox',
                                             'name'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_SHOW"),
                                             'block' => 'start'],
                    'EMAIL_TITLE'        => ['type' => 'content',
                                             'name' => GetMessage("skyweb24.popuppro_CONTACT_TITLE"),
                                             'hint' => GetMessage('skyweb24.popuppro_INPUT_NAME_HINT')],
                    'EMAIL_ADD2BASE'     => ['type' => 'content', 'tag' => 'checkbox',
                                             'name' => GetMessage('skyweb24.popuppro_CONTACT_ADD'),
                                             'hint' => GetMessage('skyweb24.popuppro_CONTACT_ADD_HINT')],
                    'EMAIL_NOT_NEW'      => ['type' => 'content', 'tag' => 'checkbox',
                                             'name' => GetMessage('skyweb24.popuppro_CONTACT_UNIQUE'),
                                             'hint' => GetMessage('skyweb24.popuppro_CONTACT_UNIQUE_HINT')],
                    'EMAIL_NOT_NEW_TEXT' => [
                        'type'  => 'content',
                        'name'  => GetMessage('skyweb24.popuppro_ROULETTE_CONTENT_EMAIL_NOT_NEW'),
                        'block' => 'end',
                        'hint'  => GetMessage('skyweb24.popuppro_ROULETTE_CONTENT_EMAIL_NOT_NEW_HINT')
                    ],

                    'USE_CONSENT_SHOW' => [
                        'type'  => 'content',
                        'tag'   => 'checkbox',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT"),
                        'block' => 'start'
                    ],
                    'CONSENT_LIST'     => [
                        'type'  => 'content',
                        'tag'   => 'select',
                        'name'  => GetMessage("skyweb24.popuppro_CONTACT_CONSENT_LIST"),
                        'hint'  => GetMessage('skyweb24.popuppro_INPUT_CONSENT_HINT'),
                        'list'  => $this->getConsentList(),
                        'block' => 'end'
                    ],

                    'RULE_ID'          => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'list' => Skyweb24\Popuppro\Tools::getBasketRules(),
                        'name' => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID"),
                        'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_HINT')
                    ],
                    'DISCOUNT_MASK'    => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_DISCOUNT_MASK_TITLE'),
                        'hint' => GetMessage('skyweb24.popuppro_DISCOUNT_MASK_TITLE_HINT')
                    ],
                    'USER_GROUP'       => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'list' => Skyweb24\Popuppro\Tools::getUserGroup(),
                        'name' => GetMessage('skyweb24.popuppro_DISCOUNT_USERGROUP_TITLE'),
                        'hint' => GetMessage('skyweb24.popuppro_DISCOUNT_USERGROUP_TITLE_HINT')
                    ],
                    'EMAIL_TEMPLATE_D' => [
                        'type' => 'service',
                        'tag'  => 'select',
                        'name' => GetMessage('skyweb24.popuppro_ROULETTE_TEMPLATE'),
                        'hint' => GetMessage('skyweb24.popuppro_ROULETTE_TEMPLATE_HINT'),
                        'list' => \Skyweb24\Popuppro\Event::getMailTemplates('SKYWEB24_POPUPPRO_DISCOUNT_SEND')
                    ],
                    'GOOGLE_FONT'      => [
                        'type' => 'service',
                        'name' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_NAME'),
                        'hint' => GetMessage('skyweb24.popuppro_GOOGLE_FONT_HINT')
                    ],
                    'BUTTON_METRIC'    => [
                        'type' => 'service',
                        'tag'  => 'textarea',
                        'name' => GetMessage('skyweb24.popuppro_BUTTON_METRIC'),
                        'hint' => GetMessage('skyweb24.popuppro_BUTTON_METRIC_HINT')
                    ],


                ]
            ];
            $type['roulette']['props']['TIMING'] = [
                'type' => 'service',
                'name' => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING"),
                'hint' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_HINT')
            ];
        }


        foreach($type as &$nextType) {

            $nextType['props']['SHOW_CLOSEBUTTON'] = [
                'type' => 'service',
                'tag'  => 'checkbox',
                'name' => GetMessage("skyweb24.popuppro_EFFECTS_SHOW_CLOSEBUTTON"),
                'hint' => GetMessage("skyweb24.popuppro_EFFECTS_SHOW_CLOSEBUTTON_HINT")
            ];
            $nextType['props']['CLOSE_AUTOHIDE'] = [
                'type' => 'service',
                'tag'  => 'checkbox',
                'name' => GetMessage("skyweb24.popuppro_EFFECTS_CLOSE_AUTOHIDE"),
                'hint' => GetMessage("skyweb24.popuppro_EFFECTS_CLOSE_AUTOHIDE_HINT")
            ];
            $nextType['props']['CLOSE_TEXTBOX'] = [
                'type' => 'service',
                'tag'  => 'checkbox',
                'name' => GetMessage("skyweb24.popuppro_EFFECTS_CLOSE_TEXTBOX"),
                'hint' => GetMessage("skyweb24.popuppro_EFFECTS_CLOSE_TEXTBOX_HINT")
            ];
            $nextType['props']['CLOSE_TEXTAREA'] = [
                'type' => 'service',
                'name' => GetMessage("skyweb24.popuppro_EFFECTS_CLOSE_TEXTAREA"),
                'hint' => GetMessage("skyweb24.popuppro_EFFECTS_CLOSE_TEXTAREA_HINT")
            ];

            $nextType['list_theme_color'] = \Skyweb24\Popuppro\Themes::getList($nextType['code']);

            $nextType['props']['SHOW_ANIMATION'] = [
                'type' => 'effects',
                'tag'  => 'select',
                'name' => GetMessage("skyweb24.popuppro_EFFECTS_SHOW"),
                'list' => config::getShowAnimationWindow(),
                'hint' => GetMessage("skyweb24.popuppro_EFFECTS_SHOW_HINT")
            ];

            $nextType['props']['HIDE_ANIMATION'] = [
                'type' => 'effects',
                'tag'  => 'select',
                'name' => GetMessage("skyweb24.popuppro_EFFECTS_HIDE"),
                'list' => config::getHideAnimationWindow(),
                'hint' => GetMessage("skyweb24.popuppro_EFFECTS_HIDE_HINT")
            ];

            $nextType['props']['BACKGROUND_COLOR'] = [
                'type'    => 'effects',
                'tag'     => 'color',
                'id'      => 'effects_color',
                'default' => '#000',
                'name'    => GetMessage("skyweb24.popuppro_EFFECT_BACKGROUND_COLOR"),
                'hint'    => GetMessage("skyweb24.popuppro_EFFECT_BACKGROUND_COLOR_HINT")
            ];

            $nextType['props']['BACKGROUND_OPACITY'] = [
                'type' => 'effects',
                'tag'  => 'range',
                'min'  => 0,
                'max'  => 100,
                'step' => 1,
                'name' => GetMessage("skyweb24.popuppro_EFFECT_BACKGROUND_OPACITY"),
                'hint' => GetMessage("skyweb24.popuppro_EFFECT_BACKGROUND_OPACITY_HINT")
            ];

            if(!config::getExceptionsType($nextType['code'], 'BUTTON_ANIMATION')) {
                $nextType['props']['BUTTON_ANIMATION'] = [
                    'type' => 'effects',
                    'tag'  => 'select',
                    'name' => GetMessage("skyweb24.popuppro_BUTTON_ANIMATION_NAME"),
                    'list' => Skyweb24\Popuppro\Config::getButtonAnimation(),
                    'hint' => GetMessage("skyweb24.popuppro_BUTTON_ANIMATION_NAME_HINT")
                ];

                $nextType['props']['BUTTON_ANIMATION_TIME'] = [
                    'type' => 'effects',
                    'tag'  => 'select',
                    'list' => Skyweb24\Popuppro\Config::getTimeAnimationButton(),
                    'name' => GetMessage("skyweb24.popuppro_BUTTON_ANIMATION_TIME"),
                    'hint' => GetMessage("skyweb24.popuppro_BUTTON_ANIMATION_TIME_HINT")
                ];


            }

            $nextType['props']['BUTTON_WINDOW_POPUP'] = [
                "BWP_ACTIVE"     => [
                    'VALUE'       => "N",
                    "TITLE_BLOCK" => GetMessage("skyweb24.popuppro_BWP_ACTIVE"),
                    "NAME"        => "BWP_ACTIVE",
                    'TYPE'        => 'CHECKBOX',
                    'HINT'        => GetMessage("skyweb24.popuppro_BWP_ACTIVE_HINT"),
                ],
                "BWP_ANIMATION"  => [
                    "NAME"        => "BWP_ANIMATION",
                    "TITLE_BLOCK" => GetMessage("skyweb24.popuppro_BWP_ANIMATION"),
                    "LIST"        => config::getButtonAnimation(),
                    'VALUE'       => "none",
                    'TYPE'        => 'SELECT',
                    'HINT'        => GetMessage("skyweb24.popuppro_BWP_ANIMATION_HINT"),
                ],
                "BWP_BACKGROUND" => [
                    "NAME"        => "BWP_BACKGROUND",
                    "TITLE_BLOCK" => GetMessage("skyweb24.popuppro_BWP_BACKGROUND"),
                    'VALUE'       => "#0083d1",
                    'TYPE'        => 'COLOR',
                    'HINT'        => GetMessage("skyweb24.popuppro_BWP_BACKGROUND_HINT"),
                ],
                "BWP_ICON"       => [
                    "NAME"        => "BWP_ICON",
                    "TITLE_BLOCK" => GetMessage("skyweb24.popuppro_BWP_ICON"),
                    'VALUE'       => "fa-gift",
                    'TYPE'        => 'INPUT',
                    'HINT'        => GetMessage("skyweb24.popuppro_BWP_ICON_HINT"),
                ],
                "BWP_ICON_COLOR" => [
                    "NAME"        => "BWP_ICON_COLOR",
                    "TITLE_BLOCK" => GetMessage("skyweb24.popuppro_BWP_ICON_COLOR"),
                    'VALUE'       => "white",
                    'TYPE'        => 'COLOR',
                    'HINT'        => GetMessage("skyweb24.popuppro_BWP_ICON_COLOR_HINT"),
                ],
            ];

            if(!config::getExceptionsType($nextType['code'], 'INTEGRATION')) {
                $nextType['props']['INTEGRATION'] = [
                    'INTEG_CRM_ACTIVE' => [
                        "NAME"        => "INTEG_CRM_ACTIVE",
                        "TITLE_BLOCK" => GetMessage("skyweb24.popuppro_INTEG_CRM_ACTIVE"),
                        'VALUE'       => "N",
                        'TYPE'        => 'CHECKBOX',
                        'HINT'        => GetMessage("skyweb24.popuppro_INTEG_CRM_ACTIVE_HINT"),
                        'TOGGLE_GROUP' => "Y"
                    ],
                    'INTEG_CRM_SERVER' => [
                        "NAME"        => "INTEG_CRM_SERVER",
                        "TITLE_BLOCK" => GetMessage("skyweb24.popuppro_INTEG_CRM_SERVER"),
                        "LIST"        => config::getListCRMServer(),
                        'VALUE'       => "0",
                        'TYPE'        => 'SELECT',
                        'HINT'        => GetMessage("skyweb24.popuppro_INTEG_CRM_SERVER_HINT"),
                    ]
                ];
            }

            $typeTemplate['props']['BUTTON_WINDOW_POPUP']['BWP_POSITION_LEFT']["VALUE"] = 'N';
            $typeTemplate['props']['BUTTON_WINDOW_POPUP']['BWP_POSITION_RIGHT']["VALUE"] = 'Y';
            $typeTemplate['props']['BUTTON_WINDOW_POPUP']['BWP_POSITION_TOP']["VALUE"] = 'N';
            $typeTemplate['props']['BUTTON_WINDOW_POPUP']['BWP_POSITION_BOTTOM']["VALUE"] = 'N';


            $nextType['props']['POSITION_LEFT'] = ['type' => 'positionpopup', 'tag' => 'checkbox',
                                                   'name' => GetMessage("skyweb24.popuppro_POSITION_LEFT")];
            $nextType['props']['POSITION_RIGHT'] = ['type' => 'positionpopup', 'tag' => 'checkbox',
                                                    'name' => GetMessage("skyweb24.popuppro_POSITION_RIGHT")];
            $nextType['props']['POSITION_TOP'] = ['type' => 'positionpopup', 'tag' => 'checkbox',
                                                  'name' => GetMessage("skyweb24.popuppro_POSITION_TOP")];
            $nextType['props']['POSITION_BOTTOM'] = ['type' => 'positionpopup', 'tag' => 'checkbox',
                                                     'name' => GetMessage("skyweb24.popuppro_POSITION_BOTTOM")];
            $nextType['props']['POSITION_FIXED'] = ['type' => 'positionpopup', 'tag' => 'checkbox',
                                                    'name' => GetMessage("skyweb24.popuppro_POSITION_fixed"),
                                                    'hint' => GetMessage("skyweb24.popuppro_POSITION_fixed_HINT")];


        }

        return $type;
    }

    private function getSmsTemplateList($eventName): array
    {
        foreach ((new RepositoryEventTemplateSms())->getListEventTemplate($eventName) as $template) {
            $row[$template['ID']] = $template['EVENT_NAME'] . " [" . $template['ID'] . "]";
        }

        return $row ?? [];
    }


    public function getTypes()
    {
        $arTypes = [];
        $presets = $this->getTypesPreset();

        usort($presets, function($a, $b){
            $a = (int)$a['sort'];
            $b = (int)$b['sort'];

            if ($a == $b) {
                return 0;
            }
            return ($a < $b) ? -1 : 1;
        });

        $settings = $this->getSetting($this->idPopup);
        foreach($presets as $keyType => &$nextType) {

            if($nextType['code'] == $settings['view']['type']) {
                $nextType['active'] = true;
            }
            else {
                $nextType['active'] = false;
            }

            $arTypes[$nextType['code']] = $nextType;
        }


        return $arTypes;
    }

    protected function getTemplatesPreset()
    {

        $eventTemplateSmsList = (new RepositoryEventTemplateSms())->getListEventTemplate(ServiceSendCouponPhone::EVENT_NAME);
        $eventTemplateSmsId = $eventTemplateSmsList[0]['ID'];

        $templates = [
            'banner'   => [
                [
                    'template' => 'default',
                    'name'     => GetMessage("skyweb24.popuppro_TYPE_NAME_BANNER_T1"),
                    'active'   => true,
                    'props'    => [
                        'IMG_1_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/banner_1.jpg',
                        'LINK_HREF'   => "https://skyweb24.ru",
                        'HREF_TARGET' => '_blank',
                    ]
                ]
            ],
            'video'    => [
                [
                    'template' => 'youtube',
                    'name'     => GetMessage("skyweb24.popuppro_TYPE_NAME_VIDEO_T1"),
                    'active'   => true,
                    'props'    => [
                        'LINK_VIDEO'     => 'EHQqQENOEps',
                        'VIDEO_SIMILAR'  => '0',
                        'VIDEO_AUTOPLAY' => '0',
                    ]
                ]
            ],
            'action'   => [
                [
                    'template'    => 'leftimg',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_ACTION_T1"),
                    'active'      => true,
                    'color_style' => 'au_Blurple',
                    'props'       => [
                        'IMG_1_SRC' => '/bitrix/themes/.default/skyweb24.popuppro/preload/gift_1.jpg',
                        'TITLE'     => GetMessage("skyweb24.popuppro_ACTION_TITLE"),
                        'SUBTITLE'  => GetMessage("skyweb24.popuppro_ACTION_SUBTITLE"),
                        'CONTENT'   => GetMessage("skyweb24.popuppro_ACTION_CONTENT"),
                        'LINK_TEXT' => GetMessage("skyweb24.popuppro_ACTION_LINK_TEXT"),
                        'LINK_HREF' => 'https://skyweb24.ru',

                        'HREF_TARGET'   => '_blank',
                        'GOOGLE_FONT'   => 'Roboto',
                        'BUTTON_METRIC' => ''
                    ]
                ],
                [
                    'template'    => 'rightimg',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_ACTION_T2"),
                    'color_style' => 'ca_Amour',
                    'props'       => [
                        'IMG_1_SRC' => '/bitrix/themes/.default/skyweb24.popuppro/preload/gift_1.jpg',
                        'TITLE'     => GetMessage("skyweb24.popuppro_ACTION_TITLE"),
                        'SUBTITLE'  => GetMessage("skyweb24.popuppro_ACTION_SUBTITLE"),
                        'CONTENT'   => GetMessage("skyweb24.popuppro_ACTION_CONTENT"),
                        'LINK_TEXT' => GetMessage("skyweb24.popuppro_ACTION_LINK_TEXT"),
                        'LINK_HREF' => 'https://skyweb24.ru',

                        'HREF_TARGET'   => '_blank',
                        'GOOGLE_FONT'   => '',
                        'BUTTON_METRIC' => ''
                    ]
                ],
                [
                    'template'    => 'top',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_ACTION_T3"),
                    'color_style' => 'ru_DeepRose',
                    'props'       => [
                        'IMG_1_SRC' => '/bitrix/themes/.default/skyweb24.popuppro/preload/gift_1.jpg',
                        'TITLE'     => GetMessage("skyweb24.popuppro_ACTION_TITLE"),
                        'SUBTITLE'  => GetMessage("skyweb24.popuppro_ACTION_SUBTITLE"),
                        'CONTENT'   => GetMessage("skyweb24.popuppro_ACTION_CONTENT"),
                        'LINK_TEXT' => GetMessage("skyweb24.popuppro_ACTION_LINK_TEXT"),
                        'LINK_HREF' => 'https://skyweb24.ru',

                        'HREF_TARGET'   => '_blank',
                        'GOOGLE_FONT'   => '',
                        'BUTTON_METRIC' => ''
                    ]
                ]
            ],
            'social'   => [
                [
                    'template'    => 'one',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_SOCIAL_T1"),
                    'active'      => true,
                    'color_style' => 'orange',
                    'props'       => [
                        'TITLE'    => GetMessage("skyweb24.popuppro_SOCIAL_TITLE"),
                        'ID_VK'    => '89371159',
                        'ID_INST'  => 'white_coffee_cat',
                        'ID_ODNKL' => '50582132228315',

                        'GOOGLE_FONT' => ''
                    ]
                ],
                [
                    'template'    => 'all',
                    'color_style' => 'orange',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_SOCIAL_T2"),
                    'props'       => [
                        'TITLE'    => GetMessage("skyweb24.popuppro_SOCIAL_TITLE"),
                        'ID_VK'    => '89371159',
                        'ID_INST'  => 'white_coffee_cat',
                        'ID_ODNKL' => '50582132228315',

                        'TYPE_VIEW'   => '',
                        'GOOGLE_FONT' => ''
                    ]
                ],
                [
                    'template'    => 'type3',
                    'color_style' => 'orange',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_SOCIAL_T3"),
                    'props'       => [
                        'TITLE'       => GetMessage("skyweb24.popuppro_SOCIAL_TITLE"),
                        'ID_VK'       => '89371159',
                        'ID_INST'     => 'white_coffee_cat',
                        'ID_ODNKL'    => '50582132228315',
                        'ID_FACEBOOK' => '',
                        'ID_TWITTER'  => '',
                        'ID_YOUTUBE'  => '',

                        'TYPE_VIEW'   => '',
                        'GOOGLE_FONT' => ''
                    ]
                ],
                [
                    'template'    => 'type4',
                    'color_style' => 'orange',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_SOCIAL_T4"),
                    'props'       => [
                        'TITLE'       => GetMessage("skyweb24.popuppro_SOCIAL_TITLE"),
                        'ID_VK'       => '89371159',
                        'ID_INST'     => 'white_coffee_cat',
                        'ID_ODNKL'    => '50582132228315',
                        'ID_FACEBOOK' => '',
                        'ID_TWITTER'  => '',
                        'ID_YOUTUBE'  => '',

                        'TYPE_VIEW'   => '',
                        'GOOGLE_FONT' => ''
                    ]
                ]
            ],
            'contact'  => [
                [
                    'template'     => 'type1',
                    'name'         => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_T1"),
                    'active'       => true,
                    'color_style'  => 'grad_wisteria-red',
                    'color_styles' => \Skyweb24\Popuppro\Themes::getTemplateThemes("contact_type1"),
                    'props'        => [
                        'IMG_1_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/black_friday.png',
                        'TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_TITLE1"),
                        'SUBTITLE'    => GetMessage("skyweb24.popuppro_CONTACT_SUBTITLE"),
                        'BUTTON_TEXT' => GetMessage("skyweb24.popuppro_CONTACT_SEND_BUTTON"),

                        'EMAIL_SHOW'        => 'Y',
                        'EMAIL_REQUIRED'    => 'Y',
                        'EMAIL_TITLE'       => 'email',
                        'EMAIL_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),

                        'NAME_SHOW'        => 'Y',
                        'NAME_REQUIRED'    => 'Y',
                        'NAME_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_NAME_TITLE"),
                        'NAME_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_NAME_PLACEHOLDER"),

                        'PHONE_SHOW'        => 'Y',
                        'PHONE_REQUIRED'    => 'Y',
                        'PHONE_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_PHONE_TITLE"),
                        'PHONE_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_PHONE_PLACEHOLDER"),

                        'DESCRIPTION_SHOW'        => 'Y',
                        'DESCRIPTION_REQUIRED'    => 'Y',
                        'DESCRIPTION_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_TITLE"),
                        'DESCRIPTION_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_PLACEHOLDER"),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'BUTTON_METRIC' => '',
                        'GOOGLE_FONT'   => '',


                        'WINDOW_SUCCESS' => [
                            'WS_TITLE'       => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE"),
                                'NAME'        => 'WS_TITLE',
                                'TYPE'        => "INPUT",
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_HINT"),
                            ],
                            'WS_DESCRIPTION' => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA"),
                                'TYPE'        => 'TEXTAREA',
                                'NAME'        => 'WS_DESCRIPTION',
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_HINT"),
                            ],
                        ]
                    ]
                ],
                [
                    'template'     => 'type2',
                    'name'         => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_T2"),
                    'color_style'  => 'grad_blue-wisteria',
                    'color_styles' => \Skyweb24\Popuppro\Themes::getTemplateThemes("contact_type1"),
                    'props'        => [
                        'TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_TITLE2"),
                        'SUBTITLE'    => GetMessage("skyweb24.popuppro_CONTACT_SUBTITLE2"),
                        'BUTTON_TEXT' => GetMessage("skyweb24.popuppro_CONTACT_SEND_BUTTON2"),

                        'EMAIL_SHOW'        => 'Y',
                        'EMAIL_REQUIRED'    => 'Y',
                        'EMAIL_TITLE'       => 'email',
                        'EMAIL_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),

                        'NAME_SHOW'        => 'Y',
                        'NAME_REQUIRED'    => 'Y',
                        'NAME_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_NAME_TITLE"),
                        'NAME_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_NAME_PLACEHOLDER"),

                        'PHONE_SHOW'        => 'Y',
                        'PHONE_REQUIRED'    => 'Y',
                        'PHONE_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_PHONE_TITLE"),
                        'PHONE_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_PHONE_PLACEHOLDER"),

                        'DESCRIPTION_SHOW'        => 'Y',
                        'DESCRIPTION_REQUIRED'    => 'Y',
                        'DESCRIPTION_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_TITLE"),
                        'DESCRIPTION_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_PLACEHOLDER"),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'BUTTON_METRIC'  => '',
                        'GOOGLE_FONT'    => '',
                        'WINDOW_SUCCESS' => [
                            'WS_TITLE'       => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE"),
                                'NAME'        => 'WS_TITLE',
                                'TYPE'        => "INPUT",
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_HINT"),
                            ],
                            'WS_DESCRIPTION' => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA"),
                                'TYPE'        => 'TEXTAREA',
                                'NAME'        => 'WS_DESCRIPTION',
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_HINT"),
                            ],
                        ]
                    ]
                ],
                [
                    'template'    => 'type3',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_T3"),
                    'color_style' => 'ca_BleuDeFrance',
                    'props'       => [
                        'IMG_1_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/bisnesplan.png',
                        'TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_TITLE3"),
                        'SUBTITLE'    => GetMessage("skyweb24.popuppro_CONTACT_SUBTITLE3"),
                        'BUTTON_TEXT' => GetMessage("skyweb24.popuppro_CONTACT_SEND_BUTTON3"),

                        'EMAIL_SHOW'        => 'Y',
                        'EMAIL_REQUIRED'    => 'Y',
                        'EMAIL_TITLE'       => 'email',
                        'EMAIL_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),

                        'NAME_SHOW'        => 'Y',
                        'NAME_REQUIRED'    => 'Y',
                        'NAME_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_NAME_TITLE"),
                        'NAME_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_NAME_PLACEHOLDER"),

                        'PHONE_SHOW'        => 'Y',
                        'PHONE_REQUIRED'    => 'Y',
                        'PHONE_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_PHONE_TITLE"),
                        'PHONE_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_PHONE_PLACEHOLDER"),

                        'DESCRIPTION_SHOW'        => 'Y',
                        'DESCRIPTION_REQUIRED'    => 'Y',
                        'DESCRIPTION_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_TITLE3"),
                        'DESCRIPTION_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_PLACEHOLDER3"),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'BUTTON_METRIC' => '',
                        'GOOGLE_FONT'   => '',

                        'WINDOW_SUCCESS' => [
                            'WS_TITLE'       => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE"),
                                'NAME'        => 'WS_TITLE',
                                'TYPE'        => "INPUT",
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_HINT"),
                            ],
                            'WS_DESCRIPTION' => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA"),
                                'TYPE'        => 'TEXTAREA',
                                'NAME'        => 'WS_DESCRIPTION',
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_HINT"),
                            ],
                        ]
                    ]
                ],
                [
                    'template'    => 'type4',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_T4"),
                    'color_style' => 'ru_BlueCuracao',
                    'props'       => [
                        'IMG_1_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/cotntact_type4.jpg',
                        'TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_TITLE4"),
                        'SUBTITLE'    => GetMessage("skyweb24.popuppro_CONTACT_SUBTITLE4"),
                        'BUTTON_TEXT' => GetMessage("skyweb24.popuppro_CONTACT_SEND_BUTTON4"),

                        'EMAIL_SHOW'        => 'Y',
                        'EMAIL_REQUIRED'    => 'Y',
                        'EMAIL_TITLE'       => 'email',
                        'EMAIL_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),

                        'NAME_SHOW'        => 'Y',
                        'NAME_REQUIRED'    => 'Y',
                        'NAME_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_NAME_TITLE"),
                        'NAME_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_NAME_PLACEHOLDER"),

                        'PHONE_SHOW'        => 'Y',
                        'PHONE_REQUIRED'    => 'Y',
                        'PHONE_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_PHONE_TITLE"),
                        'PHONE_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_PHONE_PLACEHOLDER"),

                        'DESCRIPTION_SHOW'        => 'Y',
                        'DESCRIPTION_REQUIRED'    => 'Y',
                        'DESCRIPTION_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_TITLE4"),
                        'DESCRIPTION_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_PLACEHOLDER3"),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'BUTTON_METRIC'  => '',
                        'GOOGLE_FONT'    => '',
                        'WINDOW_SUCCESS' => [
                            'WS_TITLE'       => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE"),
                                'NAME'        => 'WS_TITLE',
                                'TYPE'        => "INPUT",
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_HINT"),
                            ],
                            'WS_DESCRIPTION' => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA"),
                                'TYPE'        => 'TEXTAREA',
                                'NAME'        => 'WS_DESCRIPTION',
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_HINT"),
                            ],
                        ]
                    ]
                ],
                [
                    'template'    => 'type5',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_T5"),
                    'color_style' => 'ru_BlueCuracao',
                    'props'       => [
                        'IMG_1_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/cotntact_type4.jpg',
                        'TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_TITLE4"),
                        'SUBTITLE'    => GetMessage("skyweb24.popuppro_CONTACT_SUBTITLE4"),
                        'BUTTON_TEXT' => GetMessage("skyweb24.popuppro_CONTACT_SEND_BUTTON4"),

                        'EMAIL_SHOW'        => 'Y',
                        'EMAIL_REQUIRED'    => 'Y',
                        'EMAIL_TITLE'       => 'email',
                        'EMAIL_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),

                        'NAME_SHOW'        => 'Y',
                        'NAME_REQUIRED'    => 'Y',
                        'NAME_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_NAME_TITLE"),
                        'NAME_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_NAME_PLACEHOLDER"),

                        'PHONE_SHOW'        => 'Y',
                        'PHONE_REQUIRED'    => 'Y',
                        'PHONE_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_PHONE_TITLE"),
                        'PHONE_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_PHONE_PLACEHOLDER"),

                        'DESCRIPTION_SHOW'        => 'Y',
                        'DESCRIPTION_REQUIRED'    => 'Y',
                        'DESCRIPTION_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_TITLE4"),
                        'DESCRIPTION_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_PLACEHOLDER3"),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'BUTTON_METRIC'  => '',
                        'GOOGLE_FONT'    => '',
                        'WINDOW_SUCCESS' => [
                            'WS_TITLE'       => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE"),
                                'NAME'        => 'WS_TITLE',
                                'TYPE'        => "INPUT",
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_HINT"),
                            ],
                            'WS_DESCRIPTION' => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA"),
                                'TYPE'        => 'TEXTAREA',
                                'NAME'        => 'WS_DESCRIPTION',
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_HINT"),
                            ],
                        ]
                    ]
                ],
                [
                    'template'    => 'type6',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_CONTACT_T6"),
                    'color_style' => 'ru_BlueCuracao',
                    'props'       => [
                        'IMG_1_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/cotntact_type4.jpg',
                        'TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_TITLE4"),
                        'SUBTITLE'    => GetMessage("skyweb24.popuppro_CONTACT_SUBTITLE4"),
                        'BUTTON_TEXT' => GetMessage("skyweb24.popuppro_CONTACT_SEND_BUTTON4"),

                        'EMAIL_SHOW'        => 'Y',
                        'EMAIL_REQUIRED'    => 'Y',
                        'EMAIL_TITLE'       => 'email',
                        'EMAIL_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),

                        'NAME_SHOW'        => 'Y',
                        'NAME_REQUIRED'    => 'Y',
                        'NAME_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_NAME_TITLE"),
                        'NAME_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_NAME_PLACEHOLDER"),

                        'PHONE_SHOW'        => 'Y',
                        'PHONE_REQUIRED'    => 'Y',
                        'PHONE_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_PHONE_TITLE"),
                        'PHONE_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_PHONE_PLACEHOLDER"),

                        'DESCRIPTION_SHOW'        => 'Y',
                        'DESCRIPTION_REQUIRED'    => 'Y',
                        'DESCRIPTION_TITLE'       => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_TITLE4"),
                        'DESCRIPTION_PLACEHOLDER' => GetMessage("skyweb24.popuppro_CONTACT_DESCRIPTION_PLACEHOLDER3"),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'BUTTON_METRIC'  => '',
                        'GOOGLE_FONT'    => '',
                        'WINDOW_SUCCESS' => [
                            'WS_TITLE'       => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE"),
                                'NAME'        => 'WS_TITLE',
                                'TYPE'        => "INPUT",
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TITLE_HINT"),
                            ],
                            'WS_DESCRIPTION' => [
                                'VALUE'       => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_VALUE_DEFAULT"),
                                'TITLE_BLOCK' => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA"),
                                'TYPE'        => 'TEXTAREA',
                                'NAME'        => 'WS_DESCRIPTION',
                                'HINT'        => GetMessage("skyweb24.popuppro_WINDOW_SUCCESS_TEXTAREA_HINT"),
                            ],
                        ]
                    ]
                ]
            ],
            'share'    => [
                [
                    'template' => 'default',
                    'name'     => GetMessage("skyweb24.popuppro_TYPE_NAME_SHARE_T1"),
                    'active'   => true,
                    'props'    => [
                        'IMG_1_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/share_1.jpg',
                        'TITLE'       => GetMessage("skyweb24.popuppro_SHARE_TITLE"),
                        'SUBTITLE'    => GetMessage("skyweb24.popuppro_SHARE_SUBTITLE"),
                        'SOC_VK'      => 'Y',
                        'SOC_FB'      => 'Y',
                        'SOC_OD'      => 'Y',
                        'SOC_TW'      => 'Y',
                        'SOC_GP'      => 'Y',
                        'SOC_MR'      => 'Y',
                        'HREF_TARGET' => '_blank',

                        'GOOGLE_FONT' => ''
                    ]
                ]
            ],
            'html'     => [
                [
                    'template' => 'default',
                    'name'     => GetMessage("skyweb24.popuppro_TYPE_NAME_HTML_T1"),
                    'active'   => true,
                    'props'    => [
                        'TEXTAREA' => '<div style="text-align:center; padding:10px; background:#16a085"><h1 style="text-align:center; padding:10px; margin:0; background:#e67e22">' . GetMessage("skyweb24.popuppro_TYPE_NAME_HTML_SOMECODE") . '</h1></div>',


                    ]
                ]
            ],
            'age'      => [
                [
                    'template'    => 'default',
                    'name'        => GetMessage('skyweb24.popuppro_TYPE_NAME_AGE_T1'),
                    'active'      => true,
                    'color_style' => 'orange',
                    'props'       => [
                        'IMG_1_SRC'     => '/bitrix/themes/.default/skyweb24.popuppro/preload/age.svg',
                        'TITLE'         => GetMessage('skyweb24.popuppro_AGE_CONTENT_TITLE_DEF'),
                        'BUTTON_TEXT_Y' => GetMessage('skyweb24.popuppro_AGE_CONTENT_BUTTON_Y_DEF'),
                        'BUTTON_TEXT_N' => GetMessage('skyweb24.popuppro_AGE_CONTENT_BUTTON_N_DEF'),
                        'HREF_LINK'     => 'http://disney.ru/',

                        'GOOGLE_FONT' => ''
                    ]
                ]
            ],
            'roulette' => [
                [
                    'template'    => 'default',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_ROULETTE_T1"),
                    'active'      => true,
                    'color_style' => 'au_PureApple',
                    'props'       => [
                        'TITLE'              => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_BUTTON_DEFAULT"),
                        'RESULT_TEXT'        => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_RESULT_DEFAULT"),
                        'NOTHING_TEXT'       => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_NOTHING_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_PLACEHOLDER_DEFAULT"),
                        "EMAIL_ADD2BASE"     => "N",
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        "PHONE_FIELD_ACTIVE" => "N",
                        "PHONE_PLACEHOLDER" => GetMessage('skyweb24.popuppro_COUPON_PHONE_PHONE_PLACEHOLDER'),
                        "PHONE_TO_CONTACT" => "N",
                        "PHONE_CONTACT_UNIQUE" => "N",
                        "PHONE_CONTACT_UNIQUE_ERROR_MESSAGE" => GetMessage('skyweb24.popuppro_COUPON_PHONE_CONTACT_UNIQUE_ERROR_MESSAGE'),
                        "PHONE_TEMPLATE" => $eventTemplateSmsId,
                        'REGISTER_USER'      => 'N',
                        'GOOGLE_FONT'        => ""

                    ]
                ],
                [
                    'template'    => 'type2',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_ROULETTE_T2"),
                    'active'      => false,
                    'color_style' => 'au_PureApple',
                    'props'       => [
                        'TITLE'              => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_BUTTON_DEFAULT"),
                        'RESULT_TEXT'        => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_RESULT_DEFAULT"),
                        'NOTHING_TEXT'       => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_NOTHING_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        "EMAIL_ADD2BASE"     => "N",
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_PLACEHOLDER_DEFAULT"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),
                        "PHONE_FIELD_ACTIVE" => "N",
                        "PHONE_PLACEHOLDER" => GetMessage('skyweb24.popuppro_COUPON_PHONE_PHONE_PLACEHOLDER'),
                        "PHONE_TO_CONTACT" => "N",
                        "PHONE_CONTACT_UNIQUE" => "N",
                        "PHONE_CONTACT_UNIQUE_ERROR_MESSAGE" => GetMessage('skyweb24.popuppro_COUPON_PHONE_CONTACT_UNIQUE_ERROR_MESSAGE'),
                        "PHONE_TEMPLATE" => $eventTemplateSmsId,

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'REGISTER_USER'      => 'N',
                        'GOOGLE_FONT'        => ""
                    ]
                ],
                [
                    'template'    => 'type3',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_ROULETTE_T3"),
                    'active'      => false,
                    'color_style' => 'au_PureApple',
                    'props'       => [
                        'TITLE'              => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_BUTTON_DEFAULT"),
                        'RESULT_TEXT'        => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_RESULT_DEFAULT"),
                        'NOTHING_TEXT'       => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_NOTHING_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        "EMAIL_ADD2BASE"     => "N",
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_PLACEHOLDER_DEFAULT"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),
                        "PHONE_FIELD_ACTIVE" => "N",
                        "PHONE_PLACEHOLDER" => GetMessage('skyweb24.popuppro_COUPON_PHONE_PHONE_PLACEHOLDER'),
                        "PHONE_TO_CONTACT" => "N",
                        "PHONE_CONTACT_UNIQUE" => "N",
                        "PHONE_CONTACT_UNIQUE_ERROR_MESSAGE" => GetMessage('skyweb24.popuppro_COUPON_PHONE_CONTACT_UNIQUE_ERROR_MESSAGE'),
                        "PHONE_TEMPLATE" => $eventTemplateSmsId,

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'REGISTER_USER'      => 'N',
                        'GOOGLE_FONT'        => ""

                    ]
                ]
            ],
            'thimbles' => [
                [
                    'template'    => 'type1',
                    'name'        => GetMessage('skyweb24.popuppro_TYPE_NAME_AGE_T1'),
                    'active'      => true,
                    'color_style' => 'ca_LianHongLotusPink',
                    'props'       => [
                        'TITLE'              => GetMessage("SKYWEB24_POPUPPRO_TYPE_THIMBLES_TITLE"),
                        'SUBTITLE'           => GetMessage("SKYWEB24_POPUPPRO_TYPE_THIMBLES_SUBTITLE"),
                        'BUTTON_TEXT'        => GetMessage("SKYWEB24_POPUPPRO_TYPE_THIMBLES_BUTTON"),
                        'RESULT_TEXT'        => GetMessage("SKYWEB24_POPUPPRO_TYPE_THIMBLES_RESULT_TEXT"),
                        'NOTHING_TEXT'       => GetMessage("SKYWEB24_POPUPPRO_TYPE_THIMBLES_NOTHING_TEXT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_TYPE_ROULETTE_PLACEHOLDER_DEFAULT"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'REGISTER_USER'      => 'N',
                        'GOOGLE_FONT'        => "",
                        'TIMER'              => "N",
                        'IMG_WIN'            => '/bitrix/themes/.default/skyweb24.popuppro/preload/thimbles_type1_win.png',
                        'IMG_DEFEAT'         => '/bitrix/themes/.default/skyweb24.popuppro/preload/thimbles_type1_defeat.png',
                        'IMG_DEFAULT'        => '/bitrix/themes/.default/skyweb24.popuppro/preload/thimbles_type1_default.png',
                        'LIST_WINS'          => \Bitrix\Main\Web\Json::encode([
                            [
                                "text"    => GetMessage('SKYWEB24_POPUPPRO_THIMBLES_PRIZE_DEFEAT'),
                                "prizeId" => "1",
                                "chance"  => 33,
                                "gravity" => 50
                            ],
                            [
                                "text"    => GetMessage('SKYWEB24_POPUPPRO_THIMBLES_PRIZE_WIN'),
                                "prizeId" => "1",
                                "chance"  => 33,
                                "gravity" => 50
                            ],
                            [
                                "text"    => GetMessage('SKYWEB24_POPUPPRO_THIMBLES_PRIZE_WIN'),
                                "prizeId" => "0",
                                "chance"  => 33,
                                "gravity" => 50
                            ]
                        ])
                    ]
                ]
            ]
        ];

        if(\Bitrix\Main\Loader::IncludeModule('sale')) {

            $arMailTemplates = \Skyweb24\Popuppro\Event::getMailTemplates('SKYWEB24_POPUPPRO_SEND_COUPON');
            foreach($arMailTemplates as $mailTemplateId => $emailEvent) {
                break;
            }
            $templates['coupon'] = [
                [
                    'template'    => 'type1',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_T1"),
                    'active'      => true,
                    'color_style' => 'ru_PurpleCorallite',
                    'props'       => [
                        'IMG_1_SRC'          => '/bitrix/themes/.default/skyweb24.popuppro/preload/coupon_1.jpg',
                        'TITLE'              => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_DEFAULT"),
                        'TIMING'             => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT"),
                        'GOOGLE_FONT'        => '',
                        'BUTTON_METRIC'      => '',
                        'REGISTER_USER'      => 'N',
                        'EMAIL_ADD2BASE'     => 'N',
                        'EMAIL_EMAIL_TO'     => 'N',
                        'EMAIL_TEMPLATE'     => $mailTemplateId,

                    ]
                ],
                [
                    'template'    => 'type2',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_T2"),
                    'active'      => false,
                    'color_style' => 'ru_PurpleCorallite',
                    'props'       => [
                        'IMG_1_SRC'          => '/bitrix/themes/.default/skyweb24.popuppro/preload/coupon_1.jpg',
                        'TITLE'              => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_DEFAULT"),
                        'TIMING'             => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT"),
                        'GOOGLE_FONT'        => '',
                        'BUTTON_METRIC'      => '',
                        'REGISTER_USER'      => 'N',
                        'EMAIL_ADD2BASE'     => 'N',
                        'EMAIL_EMAIL_TO'     => 'N',
                        'EMAIL_TEMPLATE'     => $mailTemplateId,

                    ]
                ],
                [
                    'template'    => 'type3',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_T3"),
                    'active'      => false,
                    'color_style' => 'ru_PurpleCorallite',
                    'props'       => [
                        'IMG_1_SRC'          => '/bitrix/themes/.default/skyweb24.popuppro/preload/coupon_1.jpg',
                        'TITLE'              => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_DEFAULT"),
                        'TIMING'             => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT"),
                        'GOOGLE_FONT'        => '',
                        'BUTTON_METRIC'      => '',
                        'REGISTER_USER'      => 'N',
                        'EMAIL_ADD2BASE'     => 'N',
                        'EMAIL_EMAIL_TO'     => 'N',
                        'EMAIL_TEMPLATE'     => $mailTemplateId,

                    ]
                ],
                [
                    'template'    => 'type4',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_T4"),
                    'active'      => false,
                    'color_style' => 'ru_PurpleCorallite',
                    'props'       => [
                        'IMG_1_SRC'          => '/bitrix/themes/.default/skyweb24.popuppro/preload/coupon_1.jpg',
                        'TITLE'              => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_DEFAULT"),
                        'TIMING'             => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT"),
                        'GOOGLE_FONT'        => '',
                        'BUTTON_METRIC'      => '',
                        'REGISTER_USER'      => 'N',
                        'EMAIL_ADD2BASE'     => 'N',
                        'EMAIL_EMAIL_TO'     => 'N',
                        'EMAIL_TEMPLATE'     => $mailTemplateId,

                    ]
                ],
                [
                    'template'    => 'type5',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_T5"),
                    'active'      => false,
                    'color_style' => 'ru_PurpleCorallite',
                    'props'       => [
                        'IMG_1_SRC'          => '/bitrix/themes/.default/skyweb24.popuppro/preload/coupon_1.jpg',
                        'TITLE'              => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_DEFAULT"),
                        'TIMING'             => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT"),
                        'GOOGLE_FONT'        => '',
                        'BUTTON_METRIC'      => '',
                        'REGISTER_USER'      => 'N',
                        'EMAIL_ADD2BASE'     => 'N',
                        'EMAIL_EMAIL_TO'     => 'N',
                        'EMAIL_TEMPLATE'     => $mailTemplateId,

                    ]
                ],
                [
                    'template'    => 'type6',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_T6"),
                    'active'      => false,
                    'color_style' => 'ru_PurpleCorallite',
                    'props'       => [
                        'IMG_1_SRC'          => '/bitrix/themes/.default/skyweb24.popuppro/preload/coupon_1.jpg',
                        'TITLE'              => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_DEFAULT"),
                        'TIMING'             => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT"),
                        'GOOGLE_FONT'        => '',
                        'BUTTON_METRIC'      => '',
                        'REGISTER_USER'      => 'N',
                        'EMAIL_ADD2BASE'     => 'N',
                        'EMAIL_EMAIL_TO'     => 'N',
                        'EMAIL_TEMPLATE'     => $mailTemplateId,

                    ]
                ],
                [
                    'template'    => 'type7',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_T7"),
                    'active'      => false,
                    'color_style' => 'ru_PurpleCorallite',
                    'props'       => [
                        'IMG_1_SRC'          => '/bitrix/themes/.default/skyweb24.popuppro/preload/coupon_1.jpg',
                        'TITLE'              => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_DEFAULT"),
                        'TIMING'             => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT"),
                        'GOOGLE_FONT'        => '',
                        'BUTTON_METRIC'      => '',
                        'REGISTER_USER'      => 'N',
                        'EMAIL_ADD2BASE'     => 'N',
                        'EMAIL_EMAIL_TO'     => 'N',
                        'EMAIL_TEMPLATE'     => $mailTemplateId,

                    ]
                ],
                [
                    'template'    => 'type8',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_COUPON_T8"),
                    'active'      => false,
                    'color_style' => 'ru_PurpleCorallite',
                    'props'       => [
                        'IMG_1_SRC'          => '/bitrix/themes/.default/skyweb24.popuppro/preload/coupon_1.jpg',
                        'TITLE'              => GetMessage("skyweb24.popuppro_COUPON_CONTENT_TITLE_DEFAULT"),
                        'SUBTITLE'           => GetMessage("skyweb24.popuppro_COUPON_CONTENT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT'        => GetMessage("skyweb24.popuppro_COUPON_CONTENT_BUTTON_TEXT_DEFAULT"),
                        'EMAIL_SHOW'         => 'Y',
                        'EMAIL_PLACEHOLDER'  => GetMessage("skyweb24.popuppro_CONTACT_EMAIL_PLACEHOLDER"),
                        'EMAIL_NOT_NEW'      => 'N',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage('skyweb24.popuppro_COUPON_CONTENT_EMAIL_NOT_NEW_DEFAULT'),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'            => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_RULE_ID_DEFAULT"),
                        'TIMING'             => GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT"),
                        'GOOGLE_FONT'        => '',
                        'BUTTON_METRIC'      => '',
                        'REGISTER_USER'      => 'N',
                        'EMAIL_ADD2BASE'     => 'N',
                        'EMAIL_EMAIL_TO'     => 'N',
                        'EMAIL_TEMPLATE'     => $mailTemplateId,

                    ]
                ],
            ];

            $arMailTemplates = \Skyweb24\Popuppro\Event::getMailTemplates('SKYWEB24_POPUPPRO_DISCOUNT_SEND');
            foreach($arMailTemplates as $mailTemplateId => $emailEvent) {
                break;
            }
            $templates['discount'] = [
                [
                    'template'    => 'default',
                    'name'        => GetMessage("skyweb24.popuppro_TYPE_NAME_DISCOUNT_T1"),
                    'active'      => true,
                    'color_style' => 'ru_BlueCuracao',
                    'props'       => [
                        'IMG_1_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/discount_logo.png',
                        'IMG_2_SRC'   => '/bitrix/themes/.default/skyweb24.popuppro/preload/discount_girl.png',
                        'TITLE'       => GetMessage("skyweb24.popuppro_TYPE_DISCOUNT_TITLE_DEFAULT"),
                        'SUBTITLE'    => GetMessage("skyweb24.popuppro_TYPE_DISCOUNT_SUBTITLE_DEFAULT"),
                        'BUTTON_TEXT' => GetMessage("skyweb24.popuppro_TYPE_DISCOUNT_BUTTON_DEFAULT"),

                        'NAME_SHOW'     => 'Y',
                        'NAME_REQUIRED' => 'Y',
                        'NAME_TITLE'    => GetMessage("skyweb24.popuppro_DISCOUNT_NAME_TITLE"),

                        'LASTNAME_SHOW'     => 'Y',
                        'LASTNAME_REQUIRED' => 'Y',
                        'LASTNAME_TITLE'    => GetMessage("skyweb24.popuppro_DISCOUNT_LASTNAME_TITLE"),

                        'PHONE_SHOW'     => 'Y',
                        'PHONE_REQUIRED' => 'Y',
                        'PHONE_TITLE'    => GetMessage("skyweb24.popuppro_DISCOUNT_PHONE_TITLE"),

                        'EMAIL_SHOW'     => 'Y',
                        'EMAIL_REQUIRED' => 'Y',
                        'EMAIL_TITLE'    => GetMessage("skyweb24.popuppro_DISCOUNT_EMAIL_TITLE"),
                        'EMAIL_ADD2BASE' => 'Y',
                        'EMAIL_EMAIL_TO' => 'Y',

                        'EMAIL_NOT_NEW'      => 'Y',
                        'EMAIL_NOT_NEW_TEXT' => GetMessage("skyweb24.popuppro_DISCOUNT_EMAIL_NOT_NEW"),

                        'USE_CONSENT_SHOW' => 'Y',
                        'CONSENT_LIST'     => '1',

                        'RULE_ID'          => '',
                        'DISCOUNT_MASK'    => '0000#####',
                        'USER_GROUP'       => '',
                        'EMAIL_TEMPLATE_D' => $mailTemplateId,
                        'GOOGLE_FONT'      => '',
                        'BUTTON_METRIC'    => '',
                    ]
                ]
            ];

            foreach($templates['roulette'] as &$template) {
                $template['props']['BUTTON_METRIC'] = '';
                $template['props']['TIMING'] = GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT");
            }

            foreach($templates['thimbles'] as &$template) {
                $template['props']['BUTTON_METRIC'] = '';
                $template['props']['TIMING'] = GetMessage("skyweb24.popuppro_COUPON_CONTENT_MAIN_TIMING_DEFAULT");
            }
        }


        $arMailTemplates = \Skyweb24\Popuppro\Event::getMailTemplates('SKYWEB24_POPUPPRO_ROULETTE_SEND');
        foreach($arMailTemplates as $mailTemplateId => $emailEvent) {
            foreach($templates['thimbles'] as &$template) {
                $template['props']['MAIL_TEMPLATE'] = $mailTemplateId;
            }
            break;
        }

        $arMailTemplates = \Skyweb24\Popuppro\Event::getMailTemplates('SKYWEB24_POPUPPRO_ROULETTE_SEND');
        foreach($arMailTemplates as $mailTemplateId => $emailEvent) {
            foreach($templates['roulette'] as &$template) {
                $template['props']['MAIL_TEMPLATE'] = $mailTemplateId;
            }
            break;
        }


        $customTemplates = $this->getCustomTemplates();
        foreach($templates as $nextKey => &$nextTemplate) {
            foreach($nextTemplate as &$typeTemplate) {
                $typeTemplate['props']['SHOW_CLOSEBUTTON'] = 'Y';
                $typeTemplate['props']['CLOSE_AUTOHIDE'] = 'Y';
                $typeTemplate['props']['CLOSE_TEXTBOX'] = 'N';
                $typeTemplate['props']['CLOSE_TEXTAREA'] = '';
                $typeTemplate['props']['SHOW_ANIMATION'] = 'none';
                $typeTemplate['props']['HIDE_ANIMATION'] = 'none';
                $typeTemplate['props']['BUTTON_ANIMATION'] = 'none';
                $typeTemplate['props']['BUTTON_ANIMATION_TIME'] = '3000';
                $typeTemplate['props']['BACKGROUND_COLOR'] = '#000000';
                $typeTemplate['props']['BACKGROUND_OPACITY'] = '50';
                $typeTemplate['props']['POSITION_LEFT'] = '';
                $typeTemplate['props']['POSITION_RIGHT'] = '';
                $typeTemplate['props']['POSITION_TOP'] = '';
                $typeTemplate['props']['POSITION_BOTTOM'] = '';
                $typeTemplate['props']['POSITION_FIXED'] = '';


                $typeTemplate['props']['BWP_ACTIVE'] = "N";
                $typeTemplate['props']['BWP_ANIMATION'] = "none";
                $typeTemplate['props']['BWP_BACKGROUND'] = "#0083d1";
                $typeTemplate['props']['BWP_ICON'] = "fa-gift";
                $typeTemplate['props']['BWP_ICON_COLOR'] = "white";

                $typeTemplate['props']['INTEG_CRM_ACTIVE'] = "N";
                $typeTemplate['props']['INTEG_CRM_SERVER'] = "0";


                $typeTemplate['props']['BWP_POSITION_LEFT'] = 'N';
                $typeTemplate['props']['BWP_POSITION_RIGHT'] = 'Y';
                $typeTemplate['props']['BWP_POSITION_TOP'] = 'N';
                $typeTemplate['props']['BWP_POSITION_BOTTOM'] = 'N';

                $typeTemplate['props']['THEME'] = "red";


            }

            if(!empty($customTemplates[$nextKey])) {
                $nextTemplate = array_merge($nextTemplate, $customTemplates[$nextKey]);
            }
        }

        return $templates;

    }

    private function getCustomPreset()
    {
        return $this->getTemplatesPreset();
    }

    public function getCustomTemplate($id)
    {
        global $DB;
        $res = $DB->Query("SELECT * FROM  `{$this->tableTemplates}`  WHERE `id` = '{$id}' ");
        return $res->Fetch();

    }

    public function getCustomTemplates()
    {
        global $DB;
        $retArr = [];
        $res = $DB->Query('select * from ' . $this->tableTemplates . ' order by id;');
        while($row = $res->Fetch()) {
            $additionalColorThemes[$row['template']]['custom_' . $row['id']] = $row['name'] . ' [' . $row['id'] . ']';
            $retArr[$row['type']][] = unserialize($row['template']);
        }
        return $retArr;
    }

    public function getTemplates()
    {
        //$templates=$this->getTemplatesPreset();
        $templates = $this->getCustomPreset();
        // $customTempleList = $this->getCustomTemplates();
        if($this->idPopup != 'new') {
            $settings = $this->getSetting($this->idPopup);
            if($templates[$settings['view']['type']]) {
                foreach($templates[$settings['view']['type']] as &$nextTemplate) {
                    if($nextTemplate['template'] == $settings['view']['template']) {
                        $nextTemplate['active'] = true;
                        $nextTemplate['color_style'] = $settings['view']['color_style'];
                        foreach($settings['view']['props'] as $keyProp => $valProp) {
                            if(strpos($keyProp, 'IMG_') !== false && strpos($keyProp, '_id') !== false) {
                                continue;
                            }
                            if(strpos($keyProp, 'IMG_') !== false && strpos($keyProp, '_id') === false && intval($valProp) > 0) {
                                $nextTemplate['props'][$keyProp . '_id'] = $valProp;
                                $valProp = CFile::GetPath($valProp);
                            }
                            if(strpos($keyProp, 'IMG_') !== false && strpos($keyProp, '_id') === false && empty($valProp)) {
                                $valProp = $nextTemplate['props'][$keyProp];
                            }

                            $nextTemplate['props'][$keyProp] = $valProp;

                            /*if($keyProp=='HREF_TARGET'){
                                $nextTemplate['props'][$keyProp]='123';
                            }*/
                        }
                    }
                    else {
                        $nextTemplate['active'] = false;
                    }
                }
            }
        }

        return $templates;
    }

    public function searchinMailList($mail, $id = 0)
    {
        if(\Bitrix\Main\Loader::IncludeModule('sender')) {
            if(empty($id)) {
                return false;
            }
            if(empty($mail)) {
                return false;
            }

            $connection = \Bitrix\Main\Application::getConnection();
            $conHelper = $connection->getSqlHelper();
            $tmpMail = $conHelper->forSql($mail);

            $filter = [
                'filter' => [
                    'CODE' => $tmpMail
                ]
            ];

            $groupList = \Bitrix\Sender\ListTable::GetList([
                'filter' => ['CODE' => 'skyweb24PopupPro_' . $id]
            ]);
            try {
                $emailList = \Bitrix\Sender\ContactTable::GetList($filter);
            } catch(Exception $e) {
                $filter = [
                    'filter' => ['EMAIL' => $tmpMail]
                ];
                $emailList = \Bitrix\Sender\ContactTable::GetList($filter);
            }
            $filter = [];

            if($row = $emailList->fetch()) {
                $filter['filter']['CONTACT_ID'] = $row['ID'];
            }
            else {
                return false;
            }

            if(!$row = $groupList->fetch()) {
                $rowPopup = $this->getSetting($id);
                $listAddDb = \Bitrix\Sender\ListTable::add([
                    'NAME' => $rowPopup['service_name'],
                    'CODE' => 'skyweb24PopupPro_' . $id,
                ]);
                if($listAddDb->isSuccess()) {
                    $listId = $listAddDb->getId();
                }
            }
            else {
                $listId = $row['ID'];
            }

            $filter['filter']['LIST_ID'] = $listId;

            $emailList = \Bitrix\Sender\ContactListTable::GetList($filter);

            if($row = $emailList->fetch()) {
                return true;
            }

        }

        return false;
    }

    public function insertToMailList($mail, $name, $idPopup = 0)
    {
        if(!\Bitrix\Main\Loader::IncludeModule('sender')) {
            return false;
        }

        $tmpPopup = 0;
        if((int)$idPopup > 0) {
            $tmpPopup = (int)$idPopup;
        }
        else if((int)$this->idPopup > 0) {
            $tmpPopup = (int)$this->idPopup;
        }
        if($tmpPopup > 0) {

            $connection = \Bitrix\Main\Application::getConnection();
            $conHelper = $connection->getSqlHelper();
            $curDateFunc = new \Bitrix\Main\Type\DateTime;

            $rowPopup = $this->getSetting($tmpPopup);


            //groupId
            $filter = ['CODE' => 'skyweb24PopupPro_' . $tmpPopup];
            if(!empty($rowPopup['contact']['groupmail'])) {
                $filter = ['ID' => $rowPopup['contact']['groupmail']];
            }

            $groupList = \Bitrix\Sender\ListTable::GetList([
                'filter' => $filter
            ]);
            if(!$row = $groupList->fetch()) {
                $listAddDb = \Bitrix\Sender\ListTable::add([
                    'NAME' => $rowPopup['service_name'],
                    'CODE' => 'skyweb24PopupPro_' . $tmpPopup,
                ]);

                if($listAddDb->isSuccess()) {
                    $listId = $listAddDb->getId();
                }
            }
            else {
                $listId = $row['ID'];
            }
            //mailId
            $tmpMail = $conHelper->forSql($mail);

            try {
                $emailList = \Bitrix\Sender\ContactTable::GetList([
                    'filter' => ['CODE' => $tmpMail]
                ]);
            } catch(Exception $e) {
                $emailList = \Bitrix\Sender\ContactTable::GetList([
                    'filter' => ['EMAIL' => $tmpMail]
                ]);

            }


            if(!$row = $emailList->fetch()) {

                if(file_exists($_SERVER["DOCUMENT_ROOT"] . '/bitrix/modules/sender/lib/recipient/type.php')) {
                    $typeId = \Bitrix\Sender\Recipient\Type::detect($mail);
                    $listAddDb = \Bitrix\Sender\ContactTable::add([
                        'NAME'        => $conHelper->forSql($name),
                        'CODE'        => $tmpMail,
                        'TYPE_ID'     => $typeId,
                        'DATE_INSERT' => $curDateFunc,
                        'DATE_UPDATE' => $curDateFunc
                    ]);

                }
                else {
                    $listAddDb = \Bitrix\Sender\ContactTable::add([
                        'NAME'        => $conHelper->forSql($name),
                        'EMAIL'       => $tmpMail,
                        'DATE_INSERT' => $curDateFunc,
                        'DATE_UPDATE' => $curDateFunc
                    ]);

                }

                if($listAddDb->isSuccess()) {
                    $mailId = $listAddDb->getId();
                }
                else {
                    //error
                }

            }
            else {
                $mailId = $row['ID'];
            }

            //add group to mail
            $unionList = \Bitrix\Sender\ContactListTable::GetList([
                'filter' => ['LIST_ID' => $listId, 'CONTACT_ID' => $mailId]
            ]);

            if(!$row = $unionList->fetch()) {

                $listAddDb = \Bitrix\Sender\ContactListTable::add([
                    'LIST_ID'    => $listId,
                    'CONTACT_ID' => $mailId
                ]);
                if($listAddDb->isSuccess()) {
                    return true;
                }
            }
            else {
                return true;
            }
        }

        return false;
    }

    public function getValueSetting()
    {

    }

    public function getSetting($id = false)
    {

        if(!$id OR !is_numeric($id)) {
            if(!$id = $this->getId()) {
                return false;
            }
        }

        $row = \Skyweb24\Popuppro\Entity\PopupproTable::getList([
            "filter" => [
                "id" => $id
            ],
            "limit"  => 1
        ])->fetch();

        if(!$row) {
            return false;
        }

        $retArr = $row['settings'];

        $retArr['service_name'] = $row['name'];
        $retArr['row'] = $row;

        if($retArr['view']['type'] == 'coupon') {

            CModule::IncludeModule("sale");
            $res = CSaleDiscount::GetByID($retArr['view']['props']['RULE_ID']);

            $retArr['view']['props']['PERCENT'] = $res;
            $retArr['view']['props']['PERCENT'] = explode('=>', $res['APPLICATION']);

            $type = explode(',', $retArr['view']['props']['PERCENT'][2]);
            $type = $type[0];

            $retArr['view']['props']['PERCENT'] = explode(',', $retArr['view']['props']['PERCENT'][1]);
            $retArr['view']['props']['PERCENT'] = (float)$retArr['view']['props']['PERCENT'][0] * (-1);

            if($type[2] == 'P') {
                $retArr['view']['props']['PERCENT'] = $retArr['view']['props']['PERCENT'] . '%';
            }
            else if($type[2] == 'S' || $type[2] == 'F') {
                $retArr['view']['props']['PERCENT'] = CurrencyFormat($retArr['view']['props']['PERCENT'], $res['CURRENCY']);
            }

        }

        $this->settings = $retArr;
        return $retArr;

    }

    /**
     * @param $id
     * @param $avaliable
     * @param string $email
     * @param int $popup_id
     * @param string $result_text
     * @param string $mask
     * @return bool|string
     */
    public function getCoupon($id, $avaliable, $email = '', int $popup_id = 0, $result_text = '', $mask = '', $allowEmailUnique = '')
    {
        if(empty($id)) {
            return false;
        }

        if(!empty($allowEmailUnique)) {
            $res = ServiceCoupon::checkCouponExists($id, $email);
            if(!empty($res)) {
                return $res["COUPON"];
            }
        }

        if($id != 'win') {
            $COUPON = '';
            $cTime = time();
            $startTime = new Bitrix\Main\Type\DateTime(ConvertTimeStamp($cTime, "FULL"));
            $endTime = false;
            if($avaliable != '' && $avaliable != 'infinite') {
                $endTime = $endTime = AddToTimeStamp(['DD' => $avaliable], $cTime);
                $endTime = new Bitrix\Main\Type\DateTime(ConvertTimeStamp($endTime, "FULL"));
            }
            $fields = [
                'DISCOUNT_ID' => $id,
                'ACTIVE'      => 'Y',
                'COUPON'      => $COUPON,
                'DATE_APPLY'  => false,
                'ACTIVE_TO'   => $endTime,
                'ACTIVE_FROM' => $startTime,
                'DESCRIPTION' => $email,
            ];

            if($avaliable === 'infinite') {
                global $USER;
                $fields['TYPE'] = Bitrix\Sale\Internals\DiscountCouponTable::TYPE_MULTI_ORDER;
                $fields['MAX_USE'] = '';
                $fields['USER_ID'] = $USER->GetID();
                $res = \Bitrix\Sale\Internals\DiscountCouponTable::GetList(['filter' => ['DISCOUNT_ID' => $id],
                                                                            'order'  => ['ID' => 'desc']]);
                $prevCoupon = str_replace('%23', '0', $mask);
                $prevCoupon = str_replace('#', '0', $prevCoupon);
                $mask_length = strlen($prevCoupon);
                if($r = $res->fetch()) {
                    $prevCoupon = $r['COUPON'];
                    if($mask_length > strlen($prevCoupon)) {
                        $len = strlen($prevCoupon);
                        $prevCoupon = substr($mask, ($mask_length - $len)) . $prevCoupon;
                    }
                }
                $mask = str_replace('%23', '', $mask);
                $mask = str_replace('#', '', $mask);
                $mask_length_ = strlen($mask);
                $prevCoupon = substr($prevCoupon, $mask_length_);
                $newCoupon = (int)$prevCoupon;
                $newCoupon++;
                $couponLen = strlen($newCoupon);
                $prevCouponLen = strlen($prevCoupon);
                while($prevCouponLen > $couponLen) {
                    $newCoupon = '0' . $newCoupon;
                    $couponLen++;
                }
                $COUPON = $mask . $newCoupon;
            }
            else {
                $COUPON = Bitrix\Sale\Internals\DiscountCouponTable::generateCoupon(true);
                $fields['TYPE'] = Bitrix\Sale\Internals\DiscountCouponTable::TYPE_ONE_ORDER;
                $fields['MAX_USE'] = '1';
            }
            $fields['COUPON'] = $COUPON;

            if($popup_id != 0) {
                $settings = $this->getSetting($popup_id);
                if($settings['view']['type'] == 'coupon') {
                    if(!empty($settings['view']['props']['EMAIL_TEMPLATE'])) {
                        if($email != '') {
                            Event::send([
                                "EVENT_NAME" => "SKYWEB24_POPUPPRO_SEND_COUPON",
                                "LID"        => $this->site_id,
                                "C_FIELDS"   => [
                                    "EMAIL"  => $email,
                                    "COUPON" => $COUPON,
                                ],
                                'MESSAGE_ID' => $settings['view']['props']['EMAIL_TEMPLATE']
                            ]);
                        }
                    }
                }
                else if($settings['view']['type'] == 'roulette') {

                    /*if(!empty($settings['view']['props']['MAIL_TEMPLATE'])) {
                        if($email != '') {
                            Event::send([
                                "EVENT_NAME" => "SKYWEB24_POPUPPRO_ROULETTE_SEND",
                                "LID"        => $this->site_id,
                                "C_FIELDS"   => [
                                    "EMAIL"       => $email,
                                    "COUPON"      => $COUPON,
                                    "RESULT_TEXT" => $result_text,
                                ],
                                'MESSAGE_ID' => $settings['view']['props']['MAIL_TEMPLATE']
                            ]);
                        }
                    }*/
                }
                else if($settings['view']['type'] == 'discount') {

                    if(!empty($settings['view']['props']['EMAIL_TEMPLATE_D'])) {
                        if($email != '') {
                            Event::send([
                                "EVENT_NAME" => "SKYWEB24_POPUPPRO_DISCOUNT_SEND",
                                "LID"        => $this->site_id,
                                "C_FIELDS"   => [
                                    "EMAIL"     => $email,
                                    "COUPON"    => $COUPON,
                                    "NAME"      => $USER->GetFirstName(),
                                    "LAST_NAME" => $USER->GetLastName(),
                                ],
                                'MESSAGE_ID' => $settings['view']['props']['EMAIL_TEMPLATE_D']
                            ]);
                        }
                    }
                }
            }
            $couponsResult = \Bitrix\Sale\Internals\DiscountCouponTable::add($fields);
            return $COUPON;
        }
        else if($id == 'win') {
            $COUPON = '';
            if($popup_id != 0) {
                $settings = $this->getSetting($popup_id);

                if(!empty($settings['view']['props']['MAIL_TEMPLATE'])) {
                    if($email != '') {

                        Event::send([
                            "EVENT_NAME" => "SKYWEB24_POPUPPRO_ROULETTE_SEND",
                            "LID"        => $this->site_id,
                            "C_FIELDS"   => [
                                "EMAIL"       => $email,
                                "COUPON"      => $COUPON,
                                "RESULT_TEXT" => $result_text,
                            ],
                            'MESSAGE_ID' => $settings['view']['props']['MAIL_TEMPLATE']
                        ]);
                    }
                }
            }
        }
    }

    public function getSimilarProps($id)
    {
        $numbers_values = ['AFTER_SHOW_COUNT_PAGES', 'AFTER_TIME_SECOND', 'CART_COUNT', 'CART_SUMM'];
        $props = [];
        if(!empty($id) && $id != 'new') {
            $selectRow = $this->getSetting($id);
            return $selectRow['condition']['rule'];
        }
        if(empty($props)) {
            $props = ['id'       => '0', 'controlId' => 'CondGroup', 'values' => ['All' => 'AND', 'True' => 'True'],
                      'children' => []];
        }
        return $props;
    }

    public function getAvaliableProps()
    {
        $avaliableProps = [];
        $avaliableProps[] = [
            'controlId'   => 'CondGroup',
            'group'       => true,
            'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_GROUP"),
            'defaultText' => GetMessage("skyweb24.popuppro_PROP_CONDITION_GROUP_DEFAULT"),
            'showIn'      => ['CondGroup'],
            'visual'      => [
                'controls' => ['All', 'True'],
                'values'   => [
                    [
                        'All' => 'AND', 'True' => 'True'
                    ], [
                        'All' => 'AND', 'True' => 'False'
                    ], [
                        'All' => 'OR', 'True' => 'True'
                    ], [
                        'All' => 'OR', 'True' => 'False'
                    ]
                ],
                'logic'    => [
                    [
                        'style'   => 'condition-logic-and',
                        'message' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_AND")
                    ], [
                        'style'   => 'condition-logic-and',
                        'message' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_AND_NOT")
                    ], [
                        'style'   => 'condition-logic-or',
                        'message' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_OR")
                    ], [
                        'style'   => 'condition-logic-or',
                        'message' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_OR_NOT")
                    ]
                ]
            ],
            'control'     => [
                [
                    'id'           => 'All',
                    'name'         => 'aggregator',
                    'type'         => 'select',
                    'values'       => [
                        'AND' => GetMessage("skyweb24.popuppro_PROP_CONDITION_ALL"),
                        'OR'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_OR")
                    ],
                    'defaultText'  => '...',
                    'defaultValue' => 'AND',
                    'first_option' => '...'
                ], [
                    'id'           => 'True',
                    'name'         => 'value',
                    'type'         => 'select',
                    'values'       => [
                        'True'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_TRUE"),
                        'False' => GetMessage("skyweb24.popuppro_PROP_CONDITION_FALSE")
                    ],
                    'defaultText'  => '...',
                    'defaultValue' => 'True',
                    'first_option' => '...'
                ]
            ]
        ];
        $sites = ['all' => GetMessage("skyweb24.popuppro_SITES_ALL_NAME")];
        $tmpSites = CSite::GetList($by = "sort", $order = "desc");
        while($tmpSite = $tmpSites->Fetch()) {
            $sites[$tmpSite['ID']] = $tmpSite['NAME'];
        }
        $groups = ['unregister' => GetMessage("skyweb24.popuppro_CONDITIONS_GROUPSUNREGISTER"),
                   'firstvisit' => GetMessage("skyweb24.popuppro_CONDITIONS_GROUPSFIRSTVISIT")];
        $tmpGroups = CGroup::GetList($by = "sort", $order = "desc");
        while($tmpGroup = $tmpGroups->Fetch()) {
            $groups[$tmpGroup['ID']] = $tmpGroup['NAME'];
        }

        $editableWindow = new popupproEdit();

        $avaliableProps[] = [
            'controlgroup' => true,
            'group'        => false,
            'label'        => GetMessage("skyweb24.popuppro_PROP_CONDITION_GROUP_BASIC"),
            'showIn'       => ['CondGroup'],
            'children'     => [
                [
                    'controlId'   => 'SITES',
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_SITE_HINT"),
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_SITES_LABEL"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_SITES_TEXT")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       => ['Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                               'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'type'       => 'select',
                            'multiple'   => 'Y',
                            'values'     => $sites,
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                            'id'         => 'value',
                            'name'       => 'value'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'SHOW_PAGE',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_SHOW_PAGE_LABEL"),
                    'showIn'      => ['CondGroup'],
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_SHOWONLYPATH_HINT"),
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_SHOW_PAGE_TEXT")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       =>
                                [
                                    'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                    'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                                ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'id'         => 'value',
                            'name'       => 'value',
                            'type'       => 'input',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ]
                    ]
                ],
                [
                    'controlId'   => 'SHOW_DOMAIN',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_SHOW_DOMAIN_LABEL"),
                    'showIn'      => ['CondGroup'],
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_SHOWONLYDOMAIN_HINT"),
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_SHOW_DOMAIN_LABEL")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       =>
                                [
                                    'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                    'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                                ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'id'         => 'value',
                            'name'       => 'value',
                            'type'       => 'input',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ]
                    ]
                ],
                [
                    'controlId'   => 'DATE',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_DATE_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_ACTIVE_DATE_PERIOD_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DATE_TEXT_1")
                        ], GetMessage("skyweb24.popuppro_PROP_CONDITION_DATE_TEXT_2"),
                        [
                            'id'     => 'ValueStart',
                            'name'   => 'ValueStart',
                            'type'   => 'datetime',
                            'format' => 'date'
                        ]
                        , GetMessage("skyweb24.popuppro_PROP_CONDITION_DATE_TEXT_3"), [
                            'id'     => 'ValueEnd',
                            'name'   => 'ValueEnd',
                            'type'   => 'datetime',
                            'format' => 'date'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'USER_GROUP',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_USER_GROUP_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_GROUPS_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_USER_GROUP_TEXT")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       => ['Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                               'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'type'       => 'select',
                            'multiple'   => 'Y',
                            'values'     => $groups,
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                            'id'         => 'value',
                            'name'       => 'value'
                        ]
                    ]
                ]
            ]
        ];

        $avaliableProps[] = [
            'controlgroup' => true,
            'group'        => false,
            'label'        => GetMessage("skyweb24.popuppro_PROP_CONDITION_GROUP_SPECIAL"),
            'showIn'       => ['CondGroup'],
            'children'     => [
                [
                    'controlId'   => 'REPEAT_SHOW',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_REPEAT_SHOW_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_REPEATTIME_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_REPEAT_SHOW_TEXT_1")
                        ],
                        [
                            'type'         => 'input',
                            'id'           => 'repeat',
                            'name'         => 'repeat',
                            'param_id'     => 'n',
                            'show_value'   => 'Y',
                            'defaultValue' => '1'
                        ], [
                            'type'         => 'select',
                            'multiple'     => 'N',
                            'values'       => [
                                'HOUR'  => GetMessage("skyweb24.popuppro_HOUR"),
                                'DAY'   => GetMessage("skyweb24.popuppro_DAY"),
                                'WEEK'  => GetMessage("skyweb24.popuppro_WEEK"),
                                'MONTH' => GetMessage("skyweb24.popuppro_MONTH"),
                                'YEAR'  => GetMessage("skyweb24.popuppro_YEAR"),
                            ],
                            'param_id'     => 'n',
                            'show_value'   => 'Y',
                            'id'           => 'type',
                            'name'         => 'type',
                            'defaultText'  => GetMessage("skyweb24.popuppro_DAY"),
                            'defaultValue' => 'DAY'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'REPEAT_GAME',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_REPEAT_GAME_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_REPEATTIME_GAME_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_REPEAT_GAME_TEXT_1")
                        ],
                        [
                            'type'         => 'input',
                            'id'           => 'repeat',
                            'name'         => 'repeat',
                            'param_id'     => 'n',
                            'show_value'   => 'Y',
                            'defaultValue' => '1'
                        ], [
                            'type'         => 'select',
                            'multiple'     => 'N',
                            'values'       => [
                                'HOUR'  => GetMessage("skyweb24.popuppro_HOUR"),
                                'DAY'   => GetMessage("skyweb24.popuppro_DAY"),
                                'WEEK'  => GetMessage("skyweb24.popuppro_WEEK"),
                                'MONTH' => GetMessage("skyweb24.popuppro_MONTH"),
                                'YEAR'  => GetMessage("skyweb24.popuppro_YEAR"),
                            ],
                            'param_id'     => 'n',
                            'show_value'   => 'Y',
                            'id'           => 'type',
                            'name'         => 'type',
                            'defaultText'  => GetMessage("skyweb24.popuppro_DAY"),
                            'defaultValue' => 'DAY'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'PREVIOUS_WINDOW',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_PREVIOUS_WINDOW_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_PREVIOUS_WINDOW_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_PREVIOUS_WINDOW_LABEL")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       =>
                                [
                                    'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                    'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                                ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'type'       => 'select',
                            'multiple'   => 'N',
                            'values'     => $editableWindow->getAllPopups(["LIST" => "prevpopup"]),
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                            'id'         => 'value',
                            'name'       => 'value'
                        ]
                    ]
                ],
            ]
        ];

        $avaliableProps[] = [
            'controlgroup' => true,
            'group'        => false,
            'label'        => GetMessage("skyweb24.popuppro_PROP_CONDITION_GROUP_ADDITIONAL"),
            'showIn'       => ['CondGroup'],
            'children'     => [
                [
                    'controlId'   => 'AFTER_SHOW_COUNT_PAGES',
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_AFTERSHOWCOUNTPAGES_HINT"),
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_SHOW_COUNT_PAGES_LABEL"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_SHOW_COUNT_PAGES_TEXT_1")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       => [
                                'more' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                                'less' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_3"),
                            ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                            'defaultValue' => 'more'
                        ], [
                            'id'           => 'value',
                            'name'         => 'value',
                            'type'         => 'input',
                            'format'       => 'number',
                            'param_id'     => 'n',
                            'show_value'   => 'Y',
                            'defaultValue' => '1'
                        ], GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_SHOW_COUNT_PAGES_TEXT_2")
                    ]
                ],
                [
                    'controlId'   => 'AFTER_TIME_SECOND',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_TIME_SECOND_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_AFTERTIMESECOND_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_TIME_SECOND_TEXT_1")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       => [
                                'more' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                                'less' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_3"),
                            ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                            'defaultValue' => 'more'
                        ], [
                            'id'           => 'value',
                            'name'         => 'value',
                            'type'         => 'input',
                            'format'       => 'number',
                            'param_id'     => 'n',
                            'show_value'   => 'Y',
                            'defaultValue' => '10'
                        ], GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_TIME_SECOND_TEXT_2")
                    ]
                ],
                [
                    'controlId'   => 'AFTER_TIME_SECOND_PAGE',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_TIME_SECOND_PAGE_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_AFTERTIMESECOND_PAGE_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_TIME_SECOND_PAGE_TEXT_1")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       => [
                                'more' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                                'less' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_3"),
                            ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                            'defaultValue' => 'more'
                        ], [
                            'id'           => 'value',
                            'name'         => 'value',
                            'type'         => 'input',
                            'format'       => 'number',
                            'param_id'     => 'n',
                            'show_value'   => 'Y',
                            'defaultValue' => '10'
                        ], GetMessage("skyweb24.popuppro_PROP_CONDITION_AFTER_TIME_SECOND_PAGE_TEXT_2")
                    ]
                ],
                [
                    'controlId'   => 'TIME_INTERVAL',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_TIME_INTERVAL_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_TIMEINTERVAL_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_TIME_INTERVAL_TEXT_1")
                        ], GetMessage("skyweb24.popuppro_PROP_CONDITION_TIME_INTERVAL_TEXT_2"),
                        [
                            'id'         => 'time_start',
                            'name'       => 'time_start',
                            'type'       => 'datetime',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ]
                        , GetMessage("skyweb24.popuppro_PROP_CONDITION_TIME_INTERVAL_TEXT_3"), [
                            'id'         => 'time_end',
                            'name'       => 'time_end',
                            'type'       => 'datetime',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ]
                    ]
                ],
                [
                    'controlId'   => 'ANCHOR_VISIBLE',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_ANCHOR_VISIBLE_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_ANCHORVISIBLE_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_ANCHOR_VISIBLE_TEXT_1")
                        ], [
                            'id'   => 'value',
                            'name' => 'value',
                            'type' => 'input'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'PERCENT_PAGE',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_PREVENT_PAGE_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_PREVENT_PAGE_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage('skyweb24.popuppro_PROP_CONDITION_PRECENT_PAGE')
                        ], GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"), [
                            'id'         => 'value',
                            'name'       => 'value',
                            'type'       => 'input',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ], '%'
                    ]
                ],
                [
                    'controlId'   => 'ON_CLICK_CLASS_LINK',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_ON_CLICK_CLASS_LINK_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_ONCLICKCLASSLINK_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_ON_CLICK_CLASS_LINK_TEXT_1")
                        ], [
                            'id'         => 'value',
                            'name'       => 'value',
                            'type'       => 'input',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ]
                    ]
                ],
                [
                    'controlId'   => 'ALREADY_GOING',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_ALREADY_GOING_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_ALREADYGOING_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_ALREADY_GOING_TEXT_1")
                        ],
                        [

                            'type'         => 'select',
                            'multiple'     => 'N',
                            'values'       => [
                                'Y' => '',
                            ],
                            'param_id'     => 'n',
                            'show_value'   => 'Y',
                            'id'           => 'value',
                            'name'         => 'value',
                            'defaultText'  => '',
                            'defaultValue' => 'Y'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'DEVICE_TYPE',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_DEVICE_TYPE_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_DEVICE_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DEVICE_TYPE_LABEL")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       =>
                                [
                                    'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                    'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                                ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'type'       => 'select',
                            'multiple'   => 'Y',
                            'values'     => [
                                'ipad'          => 'iPad',
                                'iphone'        => 'iPhone',
                                'android'       => 'Android',
                                'windows phone' => 'Windows Phone',
                            ],
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                            'id'         => 'value',
                            'name'       => 'value'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'OS',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_OS_TYPE_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_OS_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_OS_TYPE_LABEL")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       =>
                                [
                                    'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                    'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                                ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'type'       => 'select',
                            'multiple'   => 'Y',
                            'values'     => [
                                'win'   => 'Windows',
                                'mac'   => 'Mac OS',
                                'linux' => 'Linux',
                            ],
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                            'id'         => 'value',
                            'name'       => 'value'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'BROWSER',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_BROWSER_TYPE_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_BROWSER_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_BROWSER_TYPE_LABEL")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       =>
                                [
                                    'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                    'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                                ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'type'       => 'select',
                            'multiple'   => 'Y',
                            'values'     => [
                                'chrome'  => 'Google Chrome',
                                'firefox' => 'Firefox',
                                'opera'   => 'Opera',
                                'apple'   => 'Safari',
                                'msie'    => 'Internet Explorer',
                                'edge'    => 'Edge'
                            ],
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                            'id'         => 'value',
                            'name'       => 'value'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'DAY',
                    'group'       => false,
                    'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_LABEL"),
                    'description' => GetMessage("skyweb24.popuppro_TABCOND_DAYWEEK_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_LABEL")
                        ], [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       =>
                                [
                                    'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                    'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                                ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ], [
                            'type'       => 'select',
                            'multiple'   => 'Y',
                            'values'     => [
                                '1' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_TEXT_1"),
                                '2' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_TEXT_2"),
                                '3' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_TEXT_3"),
                                '4' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_TEXT_4"),
                                '5' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_TEXT_5"),
                                '6' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_TEXT_6"),
                                '7' => GetMessage("skyweb24.popuppro_PROP_CONDITION_DAY_TEXT_7")
                            ],
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                            'id'         => 'value',
                            'name'       => 'value'
                        ]
                    ]
                ],
                [
                    'controlId'   => 'HAS_COOKIE',
                    'group'       => false,
                    'label'       => GetMessage("SKYWEB24_POPUPPRO_PROP_CONDITION_COOKIE_LABEL"),
                    'description' => GetMessage("SKYWEB24_POPUPPRO_TABCOND_ACTIVE_COOKIE_PERIOD_HINT"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("SKYWEB24_POPUPPRO_PROP_CONDITION_COOKIE_TEXT_1")
                        ],
                        GetMessage("SKYWEB24_POPUPPRO_PROP_CONDITION_COOKIE_TEXT_2"),
                        [
                            'id'         => 'name',
                            'name'       => 'name',
                            'type'       => 'input',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ],
                        [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       => [
                                'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                            ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ],
                        [
                            'id'         => 'value',
                            'name'       => 'value',
                            'type'       => 'input',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ]
                    ]
                ],
                [
                    'controlId'   => 'BROWSER_PARAM',
                    'group'       => false,
                    'label'       => GetMessage("SKYWEB24_POPUPPRO_PROP_CONDITION_BROWSER_PARAM_LABEL"),
                    'description' => GetMessage("SKYWEB24_POPUPPRO_PROP_CONDITION_BROWSER_PARAM_DESCRIPTION"),
                    'showIn'      => ['CondGroup'],
                    'control'     => [
                        [
                            'id'   => 'prefix',
                            'type' => 'prefix',
                            'text' => GetMessage("SKYWEB24_POPUPPRO_PROP_CONDITION_BROWSER_PARAM_TEXT_1")
                        ],
                        [
                            'id'         => 'name',
                            'name'       => 'name',
                            'type'       => 'input',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ],
                        [
                            'id'           => 'logic',
                            'name'         => 'logic',
                            'type'         => 'select',
                            'values'       => [
                                'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                            ],
                            'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                            'defaultValue' => 'Equal'
                        ],
                        [
                            'id'         => 'value',
                            'name'       => 'value',
                            'type'       => 'input',
                            'param_id'   => 'n',
                            'show_value' => 'Y',
                        ]
                    ]
                ],

            ]
        ];

        if(CModule::IncludeModule("sale")) {
            $currency = '';
            if(CModule::IncludeModule("currency")) {
                $currency = CCurrency::GetBaseCurrency();
            }
            else {
                $currency = 'RUB';
            }
            $avaliableProps[] = [
                'controlgroup' => true,
                'group'        => false,
                'label'        => GetMessage("skyweb24.popuppro_PROP_CONDITION_GROUP_SALE"),
                'showIn'       => ['CondGroup'],
                'children'     => [
                    [
                        'controlId'   => 'CART_COUNT',
                        'group'       => false,
                        'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_COUNT_LABEL"),
                        'description' => GetMessage("skyweb24.popuppro_TABCOND_SALECOUNTPRODUCT_HINT"),
                        'showIn'      => ['CondGroup'],
                        'control'     => [
                            [
                                'id'   => 'prefix',
                                'type' => 'prefix',
                                'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_COUNT_TEXT_1")
                            ], [
                                'id'           => 'logic',
                                'name'         => 'logic',
                                'type'         => 'select',
                                'values'       => [
                                    'more' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_COUNT_TEXT_3"),
                                    'less' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_COUNT_TEXT_4"),
                                ],
                                'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                                'defaultValue' => 'more'
                            ],
                            [
                                'type'         => 'input',
                                'id'           => 'value',
                                'name'         => 'value',
                                'param_id'     => 'n',
                                'show_value'   => 'Y',
                                'defaultValue' => '1'
                            ], GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_COUNT_TEXT_2")
                        ]
                    ], [
                        'controlId'   => 'CART_SUMM',
                        'group'       => false,
                        'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_LABEL"),
                        'description' => GetMessage("skyweb24.popuppro_TABCOND_SALESUMMBASKET_HINT"),
                        'showIn'      => ['CondGroup'],
                        'control'     => [
                            [
                                'id'   => 'prefix',
                                'type' => 'prefix',
                                'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_1")
                            ],
                            [
                                'id'           => 'logic',
                                'name'         => 'logic',
                                'type'         => 'select',
                                'values'       => [
                                    'more' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                                    'less' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_3"),
                                ],
                                'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_SUMM_TEXT_2"),
                                'defaultValue' => 'more'
                            ],
                            [
                                'type'         => 'input',
                                'id'           => 'value',
                                'name'         => 'value',
                                'param_id'     => 'n',
                                'show_value'   => 'Y',
                                'defaultValue' => '100'
                            ], $currency
                        ]
                    ], [
                        'controlId'   => 'CART_PRODUCT',
                        'group'       => false,
                        'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_PRODUCT_LABEL"),
                        'description' => GetMessage("skyweb24.popuppro_TABCOND_SALEIDPRODINBASKET_HINT"),
                        'showIn'      => ['CondGroup'],
                        'control'     => [
                            [
                                'id'   => 'prefix',
                                'type' => 'prefix',
                                'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_CART_PRODUCT_TEXT_1")
                            ],
                            [
                                'id'           => 'logic',
                                'name'         => 'logic',
                                'type'         => 'select',
                                'values'       =>
                                    [
                                        'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                        'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_NOT")
                                    ],
                                'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_LOGIC_EQUAL"),
                                'defaultValue' => 'Equal'
                            ],
                            [
                                'type'         => 'dialog',
                                'popup_url'    => '/bitrix/tools/sale/product_search_dialog.php',
                                'popup_params' => [
                                    'lang'   => 'ru',
                                    'caller' => 'discount_rules'
                                ],
                                'param_id'     => 'n',
                                'show_value'   => 'Y',
                                'id'           => 'value',
                                'name'         => 'value'
                            ]
                        ]
                    ], [
                        'controlId'   => 'CART_SECTION',
                        'group'       => false,
                        'label'       => GetMessage("skyweb24.popuppro_PROP_CONDITION_SECTION_LABEL"),
                        'description' => GetMessage("skyweb24.popuppro_TABCOND_SALEIDPRODINSECTION_HINT"),
                        'showIn'      => ['CondGroup'],
                        'control'     => [
                            [
                                'id'   => 'prefix',
                                'type' => 'prefix',
                                'text' => GetMessage("skyweb24.popuppro_PROP_CONDITION_SECTION_TEXT_1")
                            ], [
                                'id'           => 'logic',
                                'name'         => 'logic',
                                'type'         => 'select',
                                'values'       => [
                                    'Equal' => GetMessage("skyweb24.popuppro_PROP_CONDITION_SECTION_TEXT_2"),
                                    'Not'   => GetMessage("skyweb24.popuppro_PROP_CONDITION_SECTION_TEXT_3")
                                ],
                                'defaultText'  => GetMessage("skyweb24.popuppro_PROP_CONDITION_SECTION_TEXT_3"),
                                'defaultValue' => 'Equal'
                            ], [
                                'type'         => 'popup',
                                'popup_url'    => '/bitrix/admin/iblock_section_search.php',
                                'popup_params' => [
                                    'lang'       => 'ru',
                                    'discount'   => 'Y',
                                    'simplename' => 'Y'
                                ],
                                'param_id'     => 'n',
                                'show_value'   => 'Y',
                                'id'           => 'value',
                                'name'         => 'value'
                            ]
                        ]
                    ]
                ]
            ];
        }
        return $avaliableProps;
    }

    public function ConvertRequest($request)
    {
        $result = [];
        if(empty($request)) {
            return false;
        }
        foreach($request as $keyProp => &$nextProp) {
            $arKeys = $this->__ConvertKey($keyProp);
            $tmpKey = '';
            foreach($arKeys as $arKey)
                $tmpKey = $arKey;

            $tmp_item = [
                'id'        => $tmpKey,
                'controlId' => $nextProp['controlId'],
            ];
            $tmp_item['values'] = [];
            if(!empty($nextProp['aggregator'])) {
                $nextProp['All'] = [$nextProp['aggregator']];
                $nextProp['True'] = [$nextProp['value']];
            }
            foreach($nextProp as $value_key => $value)
                if($value_key != 'controlId') {
                    $tmp_item['values'][$value_key] = $value;
                }

            if($nextProp['controlId'] == 'CondGroup') {
                $tmp_item['children'] = [];
            }

            if($nextProp['controlId'] == 'CART_PRODUCT') {
                if(CModule::IncludeModule("iblock")) {
                    $tmp_label = CIBlockElement::GetList([], ['ID' => $nextProp['value']], false, false, ['NAME']);
                    if($tmp_label = $tmp_label->Fetch()) {
                        $tmp_item['labels'] = ['value' => [$tmp_label['NAME']]];
                    }
                    else {
                        unset($nextProp['values']['value']);
                    }
                }
            }
            if($nextProp['controlId'] == 'CART_SECTION') {
                if(CModule::IncludeModule("iblock")) {

                    $tmp_label = CIBlockSection::GetList([], ['ID' => $nextProp['value']], false, false, ['NAME']);
                    if($tmp_label = $tmp_label->Fetch()) {
                        $tmp_item['labels'] = ['value' => [$tmp_label['NAME']]];
                    }
                    else {
                        unset($nextProp['values']['value']);
                    }
                }
            }
            $this->__SetCondition($result, $arKeys, 0, $tmp_item);
        }
        $result = $this->__formatIndex($result);
        return $result;
    }

    public function __ConvertKey($strKey)
    {
        if('' !== $strKey) {
            $arKeys = explode('__', $strKey);
            if(is_array($arKeys)) {
                foreach($arKeys as &$intOneKey) {
                    $intOneKey = (int)$intOneKey;
                }
            }
            return $arKeys;
        }
        else {
            return false;
        }
    }

    private function __formatIndex($level)
    {
        if(isset($level['children'])) {
            foreach($level['children'] as &$child) {
                if($child['controlId'] == 'CondGroup') {
                    $child = popuppro::__formatIndex($child);
                }
            }
            unset($child);
            $level['children'] = array_values($level['children']);
            foreach($level['children'] as $key => &$child) {
                $child['id'] = $key;
            }
        }
        return $level;
    }

    public function __SetCondition(&$arResult, $arKeys, $intIndex, $arOneCondition)
    {
        if(0 == $intIndex) {
            if(1 == sizeof($arKeys)) {
                $arResult = $arOneCondition;
                return true;
            }
            else {
                return $this->__SetCondition($arResult, $arKeys, $intIndex + 1, $arOneCondition);
            }
        }
        else {
            if(!isset($arResult['children'])) {
                $arResult['children'] = [];
            }
            if(!isset($arResult['children'][$arKeys[$intIndex]])) {
                $arResult['children'][$arKeys[$intIndex]] = [];
            }
            if(($intIndex + 1) < sizeof($arKeys)) {
                return $this->__SetCondition($arResult['children'][$arKeys[$intIndex]], $arKeys, $intIndex + 1, $arOneCondition);
            }
            else {
                if(!empty($arResult['children'][$arKeys[$intIndex]])) {
                    return false;
                }
                else {
                    $arResult['children'][$arKeys[$intIndex]] = $arOneCondition;
                    return true;
                }
            }
        }
    }

    public static function convertTimeFromSecond($tm)
    {
        $tmStr = '';
        if($tm > 86400) {
            $tmStr .= floor($tm / 86400) . ' ' . GetMessage("skyweb24.popuppro_TIME_DAYS") . ' ';
            $tm = $tm % 86400;
        }
        if($tm > 3600) {
            $tmStr .= floor($tm / 3600) . ' ' . GetMessage("skyweb24.popuppro_TIME_HOURS") . ' ';
            $tm = $tm % 3600;
        }
        if($tm > 60) {
            $tmStr .= floor($tm / 60) . ' ' . GetMessage("skyweb24.popuppro_TIME_MINUTES") . ' ';
            $tm = $tm % 60;
        }
        if($tm > 0) {
            $tmStr .= $tm . ' ' . GetMessage("skyweb24.popuppro_TIME_SECONDS");
        }
        return $tmStr;
    }

    public static function insertPopups()
    {
        global $APPLICATION;

        $module = self::idModule;
        $minified = \Bitrix\Main\Config\Option::get("main", "use_minified_assets", "N") == "Y" ? true : false;
        $active = \Bitrix\Main\Config\Option::get('skyweb24.popuppro', 'popup_active', 'Y') == "Y" ? true : false;
        $ie9 = is_numeric(strpos($_SERVER['HTTP_USER_AGENT'], "Trident"));
        $FA = \Bitrix\Main\Config\Option::get('skyweb24.popuppro', 'popup_fontawesome_active', 'Y') == "Y" ? true : false;
        $fa_custom_url = \Bitrix\Main\Config\Option::get('skyweb24.popuppro', 'popup_fontawesome_url');
        $fa_type = \Bitrix\Main\Config\Option::get('skyweb24.popuppro', 'popup_fontawesome_type');

        if(
            !defined('ADMIN_SECTION') AND
            empty($_SERVER['HTTP_X_REQUESTED_WITH']) AND
            empty($_SERVER['HTTP_BX_AJAX']) AND
            $active
        ) {

            CJSCore::Init(["ajax", "popup", "fx"]);
            CJSCore::Init(['phone_number']);

            $paths = [
                "JS"  => [
                    "public"  => "/bitrix/js/{$module}/script_public.js",
                    "effects" => "/bitrix/js/{$module}/effects.js",
                ],
                "CSS" => [
                    "animation"  => "/bitrix/css/{$module}/animation.css",
                    "core_popup" => '/bitrix/js/main/core/css/core_popup.min.css',
                ]
            ];

            $paths['JS']["polyfill"] = ($ie9) ? "/bitrix/js/{$module}/css-vars-ponyfill.js" : false;
            $paths['CSS']["FA"] = ($FA) ? (($fa_type == "bitrix") ? '/bitrix/css/main/font-awesome.css' : $fa_custom_url) : false;


            foreach($paths['JS'] as $path) {
                if($minified) {
                    $path = self::URLMinification($path);
                }
                \Bitrix\Main\Page\Asset::getInstance()->addJs($path);
            }
            foreach($paths['CSS'] as $path) {
                if($minified) {
                    $path = self::URLMinification($path);
                }
                \Bitrix\Main\Page\Asset::getInstance()->addCss($path);
            }

        }
    }

    static public function URLMinification($url)
    {
        if(empty($url)){
            return $url;
        }

        if(
            strpos($url, "http://") !== false OR
            strpos($url, "https://") !== false OR
            strpos($url, ".min.css") !== false OR
            strpos($url, ".min.js") !== false
        ){
            return $url;
        }

        $explode = explode(".", $url);
        $format = $explode[count($explode) - 1];
        $result = substr($url, 0, strlen($url) - strlen($format)) . 'min.' . $format;


        return (file_exists($_SERVER['DOCUMENT_ROOT'] . $result)) ? $result : $url;
    }

    public static function GetBasketInfo()
    {
        if(CModule::IncludeModule('sale')) {
            CModule::IncludeModule('iblock');
            $basket = ['products' => [], 'summ' => 0, 'sections' => [], 'count' => 0];
            $basketNum = CSaleBasket::GetBasketUserID(true);
            $tmpOffers = [];
            if(!empty($basketNum)) {
                $dbBasketItems = CSaleBasket::GetList([],
                    ["FUSER_ID" => $basketNum, "LID" => SITE_ID, "ORDER_ID" => "NULL"],
                    false,
                    false,
                    ["ID", "TYPE", "CALLBACK_FUNC", 'PRODUCT_XML_ID', "MODULE", "PRODUCT_ID", "QUANTITY", "DELAY",
                        "CAN_BUY", "PRICE", "WEIGHT", "DISCOUNT_PRICE"]);
                $arBasketItems = [];
                $complects = [];
                while($arItems = $dbBasketItems->Fetch()) {
                    if($arItems["TYPE"] == 1) {
                        $complects[] = $arItems;
                    }
                    else {
                        $arBasketItems[] = $arItems;
                    }
                }
                //while($arItems = $dbBasketItems->Fetch()){
                //	$basket['products'][]=$arItems['PRODUCT_ID'];
                //	$basket['summ']+=$arItems['PRICE']*$arItems['QUANTITY'];
                //	$basket['count']++;
                //	if($arItems['PRODUCT_XML_ID']!=$arItems['PRODUCT_ID']){
                //		$tmpOffers[]=$arItems['PRODUCT_ID'];
                //	}
                //}
                if(!empty($complects)) {
                    foreach($complects as $complect) {
                        $arSets = CCatalogProductSet::getAllSetsByProduct($complect['PRODUCT_ID'], CCatalogProductSet::TYPE_SET);
                        $arSet = array_shift($arSets);
                        foreach($arSet["ITEMS"] as $productAsComplect) {
                            foreach($arBasketItems as $key => $product) {
                                if($product["PRODUCT_ID"] == $productAsComplect['ITEM_ID']
                                    && $productAsComplect["QUANTITY"] * $complect["QUANTITY"] == $product["QUANTITY"]
                                    && floatval($product["DISCOUNT_PRICE"] == 0)) {
                                    unset($arBasketItems[$key]);
                                    break;
                                }
                            }
                        }
                    }
                    $arBasketItems = array_merge($arBasketItems, $complects);
                }
                foreach($arBasketItems as $item) {

                    $basket['products'][] = $item['PRODUCT_ID'];
                    $basket['summ'] += (double)$item['PRICE'] * (double)$item['QUANTITY'];
                    $basket['count']++;
                    if($items['PRODUCT_XML_ID'] != $item['PRODUCT_ID'] && $item['TYPE'] != 1) {
                        $tmpOffers[] = $item['PRODUCT_ID'];
                    }
                }

                if(count($tmpOffers) > 0) {
                    $prods = CCatalogSKU::getProductList($tmpOffers);
                    foreach($prods as $nextProduct) {
                        $basket['products'][] = $nextProduct['ID'];
                    }
                }

                $db_sections = CIBlockElement::GetElementGroups($basket['products'], true);
                while($ar_group = $db_sections->Fetch()) {
                    $basket['sections'][] = $ar_group['ID'];
                }
                $basket['sections'] = array_unique($basket['sections']);
            }
            return $basket;
        }
        else {
            return ['not_include' => 'Y'];
        }
    }

    public function getComponentResult($popupId)
    {
        if($popupId == 0 OR !is_numeric($popupId)) {
            return false;
        }

        $res = \Skyweb24\Popuppro\Entity\PopupproTable::getList([
            "select" => ["*"],
            "filter" => ["id" => $popupId],
            "limit"  => 1
        ]);

        if($row = $res->fetch()) {
            $settings = $row['settings'];

            $settings['view']['props']['THEME'] = $settings['view']['color_style'];

            $settings['view']['props']['TEMPLATE_NAME'] = $settings['view']['type'] . '_' . $settings['view']['template'];
            foreach($settings['view']['props'] as $keyProp => $nextProp) {
                if(strpos($keyProp, 'IMG_') !== false && intval($nextProp) > 0) {
                    $settings['view']['props'][$keyProp] = CFile::GetPath($nextProp);
                }
                else if(strpos($keyProp, 'IMG_') !== false && empty($nextProp)) {
                    $tmpTemplates = $this->getTemplates();
                    foreach($tmpTemplates[$settings['view']['type']] as $nextTemplate) {
                        if($nextTemplate['template'] == $settings['view']['template']) {
                            $settings['view']['props'][$keyProp] = $nextTemplate['props'][$keyProp];
                            break;
                        }
                    }
                }
            }

            if(!empty($settings['view']['props']['WINDOW_SUCCESS'])) {
                if(is_array($settings['view']['props']['WINDOW_SUCCESS']['WS_TITLE'])) {
                    $settings['view']['props']['WINDOW_SUCCESS']['WS_TITLE'] = $settings['view']['props']['WINDOW_SUCCESS']['WS_TITLE']['VALUE'];
                }
                if(is_array($settings['view']['props']['WINDOW_SUCCESS']['WS_DESCRIPTION'])) {
                    $settings['view']['props']['WINDOW_SUCCESS']['WS_DESCRIPTION'] = $settings['view']['props']['WINDOW_SUCCESS']['WS_DESCRIPTION']['VALUE'];
                }
            }

            return $settings['view']['props'];
        }
    }

    public function getHTMLByPopup($idPopup)
    {
        $settings = $this->getSetting($idPopup);
        global $APPLICATION;

        $APPLICATION->IncludeComponent(
            "skyweb24:popup.pro", $settings['view']['type'] . '_' . $settings['view']['template'],
            [
                "ID_POPUP" => $idPopup
            ]
        );
    }

    public function getComponentPath($idPopups)
    {
        if(count($idPopups) == 0) {
            return false;
        }

        if(!is_array($idPopups)) {
            $idPopups = [$idPopups];
        }

        foreach($idPopups as $nextPopup) {
            $settings = $this->getComponentResult($nextPopup);

            $tmpComponent = new CBitrixComponent();
            $tmpComponent->InitComponent('skyweb24:popup.pro', $settings['TEMPLATE_NAME']);
            $tmpComponent->initComponentTemplate();
            $tmpPath = $tmpComponent->__template->GetFolder();

            $retArr[$nextPopup] = [
                'TEMPLATE'      => $tmpPath,
                'STYLE'         => $tmpPath . '/style.css',
                'TEMPLATE_NAME' => $settings['TEMPLATE_NAME']
            ];
            $settingsPos = $this->getSetting($nextPopup);
            $positions = ['POSITION_BOTTOM', 'POSITION_LEFT', 'POSITION_RIGHT', 'POSITION_TOP', 'VIDEO_AUTOPLAY',
                'SHOW_ANIMATION', 'HIDE_ANIMATION', 'POSITION_FIXED', 'BACKGROUND_COLOR', 'BACKGROUND_OPACITY',
                'SHOW_CLOSEBUTTON', 'CLOSE_AUTOHIDE', 'CLOSE_TEXTBOX', 'CLOSE_TEXTAREA'];
            foreach($positions as $nextPosition) {
                if(!empty($settingsPos['view']['props'][$nextPosition])) {
                    $retArr[$nextPopup][$nextPosition] = $settingsPos['view']['props'][$nextPosition];
                }
            }
            if(!empty($settings['THEME'])) {
                if(is_numeric(strpos($settings['THEME'], "custom"))) {
                    // old style theme
                    $retArr[$nextPopup]['THEME'] = $tmpPath . '/themes/' . $settings['THEME'] . '.css';
                }
            }

            if(!empty($settingsPos['timer']['enabled']) && $settingsPos['timer']['enabled'] == 'Y') {
                $retArr[$nextPopup]['TIMER'] = $settingsPos['timer']['enabled'];
                $tmpComponent->InitComponent('skyweb24:popup.pro.timer', '');
                $tmpComponent->initComponentTemplate();
                $tmpPath = $tmpComponent->__template->GetFolder();
                $retArr[$nextPopup]['TIMER_STYLE'] = $tmpPath . '/style.css';
            }
        }
        return $retArr;
    }

    public function setStatistic($idPopup, $value, $field)
    {
        if(!empty($field) && in_array($field, ['stat_show', 'stat_time', 'stat_action'])) {

            $res = \Skyweb24\Popuppro\Entity\PopupproTable::getList([
                "select" => ["*"],
                "filter" => ["id" => $idPopup],
                "limit"  => 1
            ]);

            if($row = $res->fetch()) {
                if($field == "stat_time" AND $value > 900) {
                    $value = 900;
                }

                new \Skyweb24\Popuppro\Statistics($idPopup, $field, $_REQUEST);

                \Skyweb24\Popuppro\Entity\PopupproTable::update($idPopup, [
                    $field => $row[$field] + $value
                ]);
                return true;
            }
        }
        return false;
    }

    public function filling()
    {

        if(!$params = $this->getConditionValue(
            $this->settings['condition']['rule'],
            [
                "REPEAT_GAME",
                "REPEAT_SHOW"
            ]
        )
        ) {
            return false;
        }

        $arTime = [
            "HOUR"  => 3600, "DAY" => 86400, "WEEK" => 604800,
            "MONTH" => 2629743, "YEAR" => 31556926
        ];

        $time = $arTime[$params['values']['type']] * $params['values']['repeat'];


        $context = Application::getInstance()->getContext();
        $response = $context->getResponse();
        $cookie = new Cookie("skyweb24PopupFilling_" . $this->getId(), 'Y', time() + $time);


        $cookie->setDomain($context->getServer()->getHttpHost());
        $cookie->setHttpOnly(false);
        $response->addCookie($cookie);
    }
}

?>

Youez - 2016 - github.com/yon3zu
LinuXploit