%PDF- %PDF- 403WebShell
403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sender/lib/preset/templates/toloka.php
<?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;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit