%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.142.40.56 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sender/lib/preset/templates/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage sender * @copyright 2001-2012 Bitrix */ namespace Bitrix\Sender\Preset\Templates; use Bitrix\Main\IO\File; use Bitrix\Main\Loader; use Bitrix\Main\Localization\Loc; use Bitrix\Sender\Integration\Yandex\Toloka\DTO\InputOutputSpec; use Bitrix\Sender\Message; use Bitrix\Sender\Templates\Category; use Bitrix\Sender\Templates\Type; Loc::loadMessages(__FILE__); /** * Class Rc * @package Bitrix\Sender\Preset\Templates */ class Toloka { const IMAGE_DIR = '/images/sender/preset/events/'; const LOCAL_DIR = '/modules/sender/preset/template_toloka/'; private static function getFileContent($fileName) { $pathTemplate = Loader::getLocal(self::LOCAL_DIR . bx_basename($fileName) . '.php'); $pathCSS = Loader::getLocal(self::LOCAL_DIR . bx_basename($fileName) . '.css'); $pathJS = Loader::getLocal(self::LOCAL_DIR . bx_basename($fileName) . '.js'); if ( self::fileExists($pathTemplate) && self::fileExists($pathCSS) && self::fileExists($pathJS) ) { return [ 'template' => File::getFileContents($pathTemplate), 'css' => File::getFileContents($pathCSS), 'js' => File::getFileContents($pathJS), ]; } return []; } private static function fileExists($path):bool { if($path && File::isFileExists($path)) { return true; } return false; } /** * Return base templates. * * @param string|null $templateType Template type. * @param string|null $templateId Template ID. * @param string|null $messageCode Message code. * @return array */ public static function onPresetTemplateList($templateType = null, $templateId = null, $messageCode = null) { if($templateType && $templateType !== 'BASE') { return array(); } if($messageCode && $messageCode !== Message\iBase::CODE_TOLOKA) { return array(); } return self::getTemplates($templateId, $messageCode); } private static function getListByType() { $list = [ [ 'CODE' => 'video', 'SEGMENT_CODES' => [], 'NAME' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_TITLE_VIDEO'), 'HINT' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_HINT_VIDEO'), 'FIELDS' => [ 'INSTRUCTION' => [ 'CODE' => 'INSTRUCTION', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_VIDEO_INSTRUCTION') ], 'DESCRIPTION' => [ 'CODE' => 'DESCRIPTION', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_VIDEO_DESCRIPTION') ], 'TASKS' => [ 'CODE' => 'TASKS', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_VIDEO_TASKS') ], 'INPUT_VALUE' => [ 'CODE' => 'INPUT_VALUE', 'VALUE' => ['video' => InputOutputSpec::TYPES['URL']] ], 'OUTPUT_VALUE' => [ 'CODE' => 'OUTPUT_VALUE', 'VALUE' => ['result' => InputOutputSpec::TYPES['STRING']] ], 'PRESET' => [ 'CODE' => 'PRESET', 'VALUE' => self::getFileContent('video') ] ] ], [ 'CODE' => 'leaflets', 'SEGMENT_CODES' => [], 'NAME' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_TITLE_LEAFLETS'), 'HINT' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_HINT_LEAFLETS'), 'FIELDS' => [ 'INSTRUCTION' => [ 'CODE' => 'INSTRUCTION', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_LEAFLETS_INSTRUCTION') ], 'DESCRIPTION' => [ 'CODE' => 'DESCRIPTION', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_LEAFLETS_DESCRIPTION') ], 'TASKS' => [ 'CODE' => 'TASKS', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_LEAFLETS_TASKS') ], 'INPUT_VALUE' => [ 'CODE' => 'INPUT_VALUE', 'VALUE' => ['url' => InputOutputSpec::TYPES['URL']] ], 'OUTPUT_VALUE' => [ 'CODE' => 'OUTPUT_VALUE', 'VALUE' => ['result' => InputOutputSpec::TYPES['STRING']] ], 'PRESET' => [ 'CODE' => 'PRESET', 'VALUE' => self::getFileContent('video') ] ] ], [ 'CODE' => 'mystery_shopper', 'SEGMENT_CODES' => [], 'NAME' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_TITLE_MYSTERY'), 'HINT' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_HINT_MYSTERY'), 'FIELDS' => [ 'INSTRUCTION' => [ 'CODE' => 'INSTRUCTION', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_MYSTERY_INSTRUCTION') ], 'DESCRIPTION' => [ 'CODE' => 'DESCRIPTION', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_MYSTERY_DESCRIPTION') ], 'TASKS' => [ 'CODE' => 'TASKS', 'VALUE' => Loc::getMessage('SENDER_PRESET_TEMPLATE_TOLOKA_MYSTERY_TASKS') ], 'INPUT_VALUE' => [ 'CODE' => 'INPUT_VALUE', 'VALUE' => ['url' => InputOutputSpec::TYPES['URL']] ], 'OUTPUT_VALUE' => [ 'CODE' => 'OUTPUT_VALUE', 'VALUE' => ['result' => InputOutputSpec::TYPES['STRING']] ], 'PRESET' => [ 'CODE' => 'PRESET', 'VALUE' => self::getFileContent('video') ] ] ], ]; return $list; } private static function getTemplates($templateId = null, $messageCode = null) { $messageCodes = $messageCode ? array($messageCode) : []; $result = []; foreach (self::getListByType() as $item) { $originalCode = strtolower($item['CODE']); $code = 'toloka_' . strtolower($item['CODE']); if($templateId && $code !== $templateId) { continue; } $result[] = array( 'ID' => $code, 'TYPE' => Type::getCode(Type::BASE), 'CATEGORY' => Category::getCode(Category::CASES), 'MESSAGE_CODE' => $messageCodes, 'VERSION' => 2, 'HOT' => $item['HOT'], 'ICON' => BX_ROOT . self::IMAGE_DIR . "$originalCode.png", 'NAME' => $item['NAME'], 'DESC' => $item['DESC'], 'HINT' => $item['HINT'], 'FIELDS' => array_merge( $item['FIELDS'], [ 'TITLE' => [ 'CODE' => 'TITLE', 'VALUE' => $item['TITLE'], ], 'COMMENT' => [ 'CODE' => 'COMMENT', 'VALUE' => $item['TEXT'], ], 'ALWAYS_ADD' => [ 'CODE' => 'ALWAYS_ADD', 'VALUE' => 'Y', ], ]), 'SEGMENTS' => [], 'DISPATCH' => $item['DISPATCH'], ); } return $result; } }