예제 #1
7
define('STOP_STATISTICS', true);
define('BX_SECURITY_SHOW_MESSAGE', true);
define('NO_AGENT_CHECK', true);
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php';
header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
Loc::loadMessages(__FILE__);
$result = array('STATUS' => '', 'MESSAGE' => '', 'RATE_CNT' => '', 'RATE' => '');
if (!check_bitrix_sessid()) {
    $result['STATUS'] = 'ERROR';
    $result['MESSAGE'] = Loc::getMessage('BX_CURRENCY_GET_RATE_ERR_SESSION');
} else {
    if (!Loader::includeModule('currency')) {
        $result['STATUS'] = 'ERROR';
        $result['MESSAGE'] = Loc::getMessage('BX_CURRENCY_GET_RATE_ERR_MODULE_ABSENT');
    } else {
        $baseCurrency = Currency\CurrencyManager::getBaseCurrency();
        $date = '';
        $currency = '';
        if (isset($_REQUEST['DATE_RATE'])) {
            $date = (string) $_REQUEST['DATE_RATE'];
        }
        if (isset($_REQUEST['CURRENCY'])) {
            $currency = (string) $_REQUEST['CURRENCY'];
        }
        if ($baseCurrency == '') {
            $result['STATUS'] = 'ERROR';
            $result['MESSAGE'] = Loc::getMessage('BX_CURRENCY_GET_RATE_ERR_BASE_CURRENCY_ABSENT');
        } elseif ($date == '' || !$DB->IsDate($date)) {
            $result['STATUS'] = 'ERROR';
            $result['MESSAGE'] = Loc::getMessage('BX_CURRENCY_GET_RATE_ERR_DATE_RATE');
        } elseif ($currency == '') {
<tr>
	<td width="30%" class="adm-detail-required-field"><?=Loc::getMessage('SEO_YANDEX_STATS_PERIOD')?>:</td>
	<td width="70%">
			<span style="white-space: nowrap; display:inline-block;"><select name="period_sel" onchange="setGraphInterval(this.value)">
					<option value="interval"><?=Loc::getMessage('SEO_YANDEX_STATS_GRAPH_INTERVAL')?></option>
					<option value="week_ago"><?=Loc::getMessage('SEO_YANDEX_STATS_GRAPH_WEEK')?></option>
					<option value="month_ago"><?=Loc::getMessage('SEO_YANDEX_STATS_GRAPH_MONTH')?></option>
				</select>&nbsp;<span id="seo_graph_interval"><?=CalendarDate("date_from", $dateStart->toString(), 'form1', "4")?>&nbsp;&hellip;<?=CalendarDate("date_to", $dateFinish->toString(), 'form1', "4")?></span></span>&nbsp;&nbsp;<input type="button" value="<?=Loc::getMessage('SEO_YANDEX_STATS_PERIOD_APPLY')?>" onclick="loadGraphData()" id="stats_loading_button" name="template_preview"><span id="stats_wait" class="loading-message-text" style="display: none; margin-top: 5px;"><?=Loc::getMessage('SEO_YANDEX_STATS_WAIT')?></span>
	</td>
</tr>
<?
	if($bSale):
?>
<tr>
	<td><?=Loc::getMessage('SEO_YANDEX_STATS_SUM_ORDER_REPIOD')?>:</td>
	<td><span id="banner_profit"><?=\CCurrencyLang::CurrencyFormat(doubleval($bannerProfit), \Bitrix\Currency\CurrencyManager::getBaseCurrency(), true)?></span></td>
</tr>
<?
	endif;
?>
<tr>
	<td><?=Loc::getMessage('SEO_YANDEX_STATS_GRAPH_TYPE')?>:</td>
	<td><select onchange="setGraph(this.value)">
		<option value="sum"><?=Loc::getMessage('SEO_YANDEX_STATS_GRAPH_TYPE_SUM')?></option>
		<option value="shows"><?=Loc::getMessage('SEO_YANDEX_STATS_GRAPH_TYPE_SHOWS')?></option>
		<option value="clicks"><?=Loc::getMessage('SEO_YANDEX_STATS_GRAPH_TYPE_CLICKS')?></option>
	</select></td>
</tr>
<tr>
	<td colspan="2">
<?
예제 #3
0
$arPrice = array();
if ($catalogIncluded) {
    $arPrice = CCatalogIBlockParameters::getPriceTypesList();
}
$arProperty_UF = array();
$arSProperty_LNS = array();
if ($iblockExists) {
    $arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_" . $arCurrentValues["IBLOCK_ID"] . "_SECTION");
    foreach ($arUserFields as $FIELD_NAME => $arUserField) {
        $arProperty_UF[$FIELD_NAME] = $arUserField["LIST_COLUMN_LABEL"] ? $arUserField["LIST_COLUMN_LABEL"] : $FIELD_NAME;
        if ($arUserField["USER_TYPE"]["BASE_TYPE"] == "string") {
            $arSProperty_LNS[$FIELD_NAME] = $arProperty_UF[$FIELD_NAME];
        }
    }
    unset($arUserFields, $FIELD_NAME, $arUserField);
}
$arComponentParameters = array("GROUPS" => array("PRICES" => array("NAME" => GetMessage("CP_BCSF_PRICES")), "XML_EXPORT" => array("NAME" => GetMessage("CP_BCSF_GROUP_XML_EXPORT"))), "PARAMETERS" => array("SEF_MODE" => array(), "SEF_RULE" => array("VALUES" => array("SECTION_ID" => array("TEXT" => GetMessage("CP_BCSF_SECTION_ID"), "TEMPLATE" => "#SECTION_ID#", "PARAMETER_LINK" => "SECTION_ID", "PARAMETER_VALUE" => '={$_REQUEST["SECTION_ID"]}'), "SECTION_CODE" => array("TEXT" => GetMessage("CP_BCSF_SECTION_CODE"), "TEMPLATE" => "#SECTION_CODE#", "PARAMETER_LINK" => "SECTION_CODE", "PARAMETER_VALUE" => '={$_REQUEST["SECTION_CODE"]}'), "SECTION_CODE_PATH" => array("TEXT" => GetMessage("CP_BCSF_SECTION_CODE_PATH"), "TEMPLATE" => "#SECTION_CODE_PATH#", "PARAMETER_LINK" => "SECTION_CODE_PATH", "PARAMETER_VALUE" => '={$_REQUEST["SECTION_CODE_PATH"]}'), "SMART_FILTER_PATH" => array("TEXT" => GetMessage("CP_BCSF_SMART_FILTER_PATH"), "TEMPLATE" => "#SMART_FILTER_PATH#", "PARAMETER_LINK" => "SMART_FILTER_PATH", "PARAMETER_VALUE" => '={$_REQUEST["SMART_FILTER_PATH"]}'))), "IBLOCK_TYPE" => array("PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSF_IBLOCK_TYPE"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlockType, "REFRESH" => "Y"), "IBLOCK_ID" => array("PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSF_IBLOCK_ID"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => $arIBlock, "REFRESH" => "Y"), "SECTION_ID" => array("PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSF_SECTION_ID"), "TYPE" => "STRING", "DEFAULT" => '={$_REQUEST["SECTION_ID"]}'), "SECTION_CODE" => array("PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSF_SECTION_CODE"), "TYPE" => "STRING", "DEFAULT" => ''), "FILTER_NAME" => array("PARENT" => "DATA_SOURCE", "NAME" => GetMessage("CP_BCSF_FILTER_NAME"), "TYPE" => "STRING", "DEFAULT" => "arrFilter"), "PRICE_CODE" => array("PARENT" => "PRICES", "NAME" => GetMessage("CP_BCSF_PRICE_CODE"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arPrice), "CACHE_TIME" => array("DEFAULT" => 36000000), "CACHE_GROUPS" => array("PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("CP_BCSF_CACHE_GROUPS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y"), "SAVE_IN_SESSION" => array("PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCSF_SAVE_IN_SESSION"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "INSTANT_RELOAD" => array("PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CP_BCSF_INSTANT_RELOAD"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "XML_EXPORT" => array("PARENT" => "XML_EXPORT", "NAME" => GetMessage("CP_BCSF_XML_EXPORT"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "SECTION_TITLE" => array("PARENT" => "XML_EXPORT", "NAME" => GetMessage("CP_BCSF_SECTION_TITLE"), "TYPE" => "LIST", "MULTIPLE" => "N", "DEFAULT" => "-", "VALUES" => array_merge(array("-" => " ", "NAME" => GetMessage("IBLOCK_FIELD_NAME")), $arSProperty_LNS)), "SECTION_DESCRIPTION" => array("PARENT" => "XML_EXPORT", "NAME" => GetMessage("CP_BCSF_SECTION_DESCRIPTION"), "TYPE" => "LIST", "MULTIPLE" => "N", "DEFAULT" => "-", "VALUES" => array_merge(array("-" => " ", "NAME" => GetMessage("IBLOCK_FIELD_NAME"), "DESCRIPTION" => GetMessage("IBLOCK_FIELD_DESCRIPTION")), $arSProperty_LNS))));
if ($arCurrentValues["SEF_MODE"] == "Y") {
    $arComponentParameters["PARAMETERS"]["SECTION_CODE_PATH"] = array("NAME" => GetMessage("CP_BCSF_SECTION_CODE_PATH"), "TYPE" => "STRING", "DEFAULT" => "");
    $arComponentParameters["PARAMETERS"]["SMART_FILTER_PATH"] = array("NAME" => GetMessage("CP_BCSF_SMART_FILTER_PATH"), "TYPE" => "STRING", "DEFAULT" => "");
}
if ($catalogIncluded) {
    $arComponentParameters["PARAMETERS"]['HIDE_NOT_AVAILABLE'] = array('PARENT' => 'DATA_SOURCE', 'NAME' => GetMessage('CP_BCSF_HIDE_NOT_AVAILABLE'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'N');
    $arComponentParameters["PARAMETERS"]['CONVERT_CURRENCY'] = array('PARENT' => 'PRICES', 'NAME' => GetMessage('CP_BCSF_CONVERT_CURRENCY'), 'TYPE' => 'CHECKBOX', 'DEFAULT' => 'N', 'REFRESH' => 'Y');
    if (isset($arCurrentValues['CONVERT_CURRENCY']) && $arCurrentValues['CONVERT_CURRENCY'] == 'Y') {
        $arComponentParameters['PARAMETERS']['CURRENCY_ID'] = array('PARENT' => 'PRICES', 'NAME' => GetMessage('CP_BCSF_CURRENCY_ID'), 'TYPE' => 'LIST', 'VALUES' => Currency\CurrencyManager::getCurrencyList(), 'DEFAULT' => Currency\CurrencyManager::getBaseCurrency(), "ADDITIONAL_VALUES" => "Y");
    }
}
if (empty($arPrice)) {
    unset($arComponentParameters["PARAMETERS"]["PRICE_CODE"]);
}
예제 #4
0
	$arComponentParameters["PARAMETERS"]['CONVERT_CURRENCY'] = array(
		'PARENT' => 'PRICES',
		'NAME' => GetMessage('CP_BCS_CONVERT_CURRENCY'),
		'TYPE' => 'CHECKBOX',
		'DEFAULT' => 'N',
		'REFRESH' => 'Y',
	);

	if (isset($arCurrentValues['CONVERT_CURRENCY']) && $arCurrentValues['CONVERT_CURRENCY'] == 'Y')
	{
		$arComponentParameters['PARAMETERS']['CURRENCY_ID'] = array(
			'PARENT' => 'PRICES',
			'NAME' => GetMessage('CP_BCS_CURRENCY_ID'),
			'TYPE' => 'LIST',
			'VALUES' => Currency\CurrencyManager::getCurrencyList(),
			'DEFAULT' => Currency\CurrencyManager::getBaseCurrency(),
			"ADDITIONAL_VALUES" => "Y",
		);
	}
}

if (empty($offers))
{
	unset($arComponentParameters["PARAMETERS"]["OFFERS_FIELD_CODE"]);
	unset($arComponentParameters["PARAMETERS"]["OFFERS_PROPERTY_CODE"]);
	unset($arComponentParameters["PARAMETERS"]["OFFERS_SORT_FIELD"]);
	unset($arComponentParameters["PARAMETERS"]["OFFERS_SORT_ORDER"]);
	unset($arComponentParameters["PARAMETERS"]["OFFERS_SORT_FIELD2"]);
	unset($arComponentParameters["PARAMETERS"]["OFFERS_SORT_ORDER2"]);
}
else
예제 #5
0
 protected static function updateBaseRates($currency = '', $updateCurrency = '')
 {
     global $DB;
     if ($currency === '') {
         $currency = (string) Currency\CurrencyManager::getBaseCurrency();
     }
     if ($currency === '') {
         return;
     }
     if ($updateCurrency != '') {
         $factor = 1;
         if ($updateCurrency != $currency) {
             $factor = CCurrencyRates::GetConvertFactor($updateCurrency, $currency);
         }
         $query = "update b_catalog_currency set CURRENT_BASE_RATE = " . (double) $factor . " where CURRENCY = '" . $updateCurrency . "'";
         $DB->Query($query, false, 'File: ' . __FILE__ . '<br>Line: ' . __LINE__);
     } else {
         $query = "select CURRENCY from b_catalog_currency";
         $currencyIterator = $DB->Query($query, false, 'File: ' . __FILE__ . '<br>Line: ' . __LINE__);
         while ($oneCurrency = $currencyIterator->Fetch()) {
             $factor = 1;
             if ($oneCurrency['CURRENCY'] != $currency) {
                 $factor = CCurrencyRates::GetConvertFactor($oneCurrency['CURRENCY'], $currency);
             }
             $query = "update b_catalog_currency set CURRENT_BASE_RATE = " . (double) $factor . " where CURRENCY = '" . $oneCurrency['CURRENCY'] . "'";
             $DB->Query($query, false, 'File: ' . __FILE__ . '<br>Line: ' . __LINE__);
         }
     }
 }
예제 #6
0
 public static function GetBaseCurrency()
 {
     return Currency\CurrencyManager::getBaseCurrency();
 }
예제 #7
0
 /**
  * @param Basket $basketCollection
  * @param array $select
  * @param BasketItem $refreshItem
  * @return array
  * @throws NotSupportedException
  */
 public static function getProductData(Basket $basketCollection, array $select = array(), BasketItem $refreshItem = null)
 {
     $result = array();
     $orderId = null;
     $userId = null;
     $siteId = null;
     $currency = null;
     if (($order = $basketCollection->getOrder()) !== null) {
         $userId = $order->getUserId();
         $siteId = $order->getSiteId();
         $currency = $order->getCurrency();
     }
     if ($userId === null) {
         static $usersIds = array();
         if (empty($usersIds[$basketCollection->getFUserId(true)])) {
             $usersIds[$basketCollection->getFUserId(true)] = \CSaleUser::getUserID($basketCollection->getFUserId(true));
         }
         $userId = $usersIds[$basketCollection->getFUserId(true)];
     }
     if ($siteId === null) {
         $siteId = $basketCollection->getSiteId();
     }
     if ($siteId === null) {
         return array();
     }
     if ($currency === null) {
         $currency = Internals\SiteCurrencyTable::getSiteCurrency($siteId);
         if (!$currency) {
             $currency = Currency\CurrencyManager::getBaseCurrency();
         }
     }
     $basketList = static::makeArrayFromBasketCollection($basketCollection, $refreshItem);
     $basketProviderMap = static::createProviderBasketMap($basketList, array('QUANTITY', 'RENEWAL'));
     $basketProviderList = static::redistributeToProviders($basketProviderMap);
     if (!empty($basketProviderList)) {
         $needPrice = in_array('PRICE', $select);
         $needBasePrice = in_array('BASE_PRICE', $select);
         $needCoupons = in_array('COUPONS', $select);
         $data = array('USER_ID' => (int) $userId, 'SITE_ID' => $siteId, 'CURRENCY' => $currency, 'CHECK_QUANTITY' => in_array('QUANTITY', $select) ? 'Y' : 'N', 'CHECK_PRICE' => $needPrice ? 'Y' : 'N', 'CHECK_COUPONS' => $needCoupons ? 'Y' : 'N', 'RENEWAL' => in_array('RENEWAL', $select) ? 'Y' : 'N');
         if ($needBasePrice) {
             $data['CHECK_DISCOUNT'] = 'N';
         }
         $useOrderProduct = false;
         if ($needPrice) {
             $useOrderProduct = true;
         }
         if ($needCoupons) {
             $useOrderProduct = false;
         }
         unset($needCoupons, $needPrice);
         foreach ($basketProviderList as $provider => $providerBasketItemList) {
             if ($provider instanceof Provider) {
                 throw new NotSupportedException('provider not supported');
             } elseif ($provider && array_key_exists("IBXSaleProductProvider", class_implements($provider))) {
                 foreach ($providerBasketItemList as $providerBasketItem) {
                     $currentUseOrderProduct = $useOrderProduct;
                     if (!isset($providerBasketItem['BASKET_ID']) || (int) $providerBasketItem['BASKET_ID'] <= 0) {
                         $currentUseOrderProduct = false;
                     }
                     $providerFields = $data;
                     if ($providerBasketItem['BASKET_ITEM']->isBundleChild()) {
                         $providerFields['CHECK_DISCOUNT'] = 'N';
                     }
                     $providerFields['PRODUCT_ID'] = $providerBasketItem['PRODUCT_ID'];
                     $providerFields['QUANTITY'] = $providerBasketItem['QUANTITY'];
                     $hasTrustData = false;
                     $trustData = static::getTrustData($siteId, $providerBasketItem['MODULE'], $providerBasketItem['PRODUCT_ID']);
                     if (static::isReadTrustData() === true && !empty($trustData) && is_array($trustData)) {
                         $hasTrustData = true;
                         $resultProductData = $trustData;
                         foreach (static::getProductDataRequiredFields() as $requiredField) {
                             if (!array_key_exists($requiredField, $resultProductData)) {
                                 $hasTrustData = false;
                                 break;
                             }
                         }
                         if ($hasTrustData && in_array('PRICE', $select)) {
                             foreach (static::getProductDataRequiredPriceFields() as $requiredField) {
                                 if (!array_key_exists($requiredField, $resultProductData)) {
                                     $hasTrustData = false;
                                     break;
                                 }
                             }
                         }
                     }
                     if (!$hasTrustData) {
                         $resultProductData = $currentUseOrderProduct ? $provider::OrderProduct($providerFields) : $provider::GetProductData($providerFields);
                     }
                     $basketCode = $providerBasketItem['BASKET_ITEM']->getBasketCode();
                     $result[$basketCode] = $resultProductData;
                 }
             } else {
                 foreach ($providerBasketItemList as $providerBasketItem) {
                     $resultProductData = \CSaleBasket::executeCallbackFunction($providerBasketItem['CALLBACK_FUNC'], $providerBasketItem['MODULE'], $providerBasketItem['PRODUCT_ID'], $providerBasketItem['QUANTITY']);
                     $basketCode = $providerBasketItem['BASKET_ITEM']->getBasketCode();
                     $result[$basketCode] = $resultProductData;
                 }
             }
         }
     }
     return $result;
 }
예제 #8
0
	fwrite($fp, '<platform>1C-Bitrix</platform>'."\n");

	$strTmp = '<currencies>'."\n";

	$RUR = 'RUB';
	$currencyIterator = Currency\CurrencyTable::getList(array(
		'select' => array('CURRENCY'),
		'filter' => array('=CURRENCY' => 'RUR')
	));
	if ($currency = $currencyIterator->fetch())
		$RUR = 'RUR';
	unset($currency, $currencyIterator);

	$arCurrencyAllowed = array($RUR, 'USD', 'EUR', 'UAH', 'BYR', 'KZT');

	$BASE_CURRENCY = Currency\CurrencyManager::getBaseCurrency();
	if (is_array($XML_DATA['CURRENCY']))
	{
		foreach ($XML_DATA['CURRENCY'] as $CURRENCY => $arCurData)
		{
			if (in_array($CURRENCY, $arCurrencyAllowed))
			{
				$strTmp.= '<currency id="'.$CURRENCY.'"'
				.' rate="'.($arCurData['rate'] == 'SITE' ? CCurrencyRates::ConvertCurrency(1, $CURRENCY, $RUR) : $arCurData['rate']).'"'
				.($arCurData['plus'] > 0 ? ' plus="'.(int)$arCurData['plus'].'"' : '')
				." />\n";
			}
		}
		unset($CURRENCY, $arCurData);
	}
	else
					"#ID#" => $banner["BANNER_ID"],
					"#XML_ID#" => $banner["BANNER_XML_ID"],
				)).'">'.Converter::getHtmlConverter()->encode($banner['BANNER_NAME']).'</a>');


			$row->AddViewField('XML_ID', '<a href="https://direct.yandex.ru/registered/main.pl?cmd=showCampMultiEdit&bids='.$banner['BANNER_XML_ID'].'&cid='.$campaign['XML_ID'].'" target="_blank" title="'.Converter::getHtmlConverter()->encode(Loc::getMessage('SEO_CAMPAIGN_EDIT_EXTERNAL')).'">'.Loc::getMessage('SEO_YANDEX_DIRECT_LINK_TPL', array('#XML_ID#' => $banner['BANNER_XML_ID'])).'</a>');


			$row->AddViewField("BANNER_SUM", number_format($banner['BANNER_SUM'], 2, '.', ' '));

			$row->AddViewField("BANNER_SHOWS", $banner['BANNER_SHOWS']);
			$row->AddViewField("BANNER_CLICKS", $banner['BANNER_CLICKS']);
			$row->AddViewField("BANNER_CTR", number_format($banner['BANNER_CTR'], 2, '.', ' '));
			if($bShowOrderStats)
			{
				$row->AddViewField("BANNER_SUM_ORDER", \CCurrencyLang::CurrencyFormat(doubleval($banner['BANNER_SUM_ORDER']), \Bitrix\Currency\CurrencyManager::getBaseCurrency(), true));
			}
		}
	}

	$statsAdminList->checkListMode();
}

if($ID <= 0)
{
	$campaign = array(
		"SETTINGS" => array(
			"Name" => Loc::getMessage("SEO_CAMPAIGN_NAME_DEFAULT", array("#DATE#" => ConvertTimeStamp())),
			"FIO" => $currentUser['real_name'],
			"StartDate" => ConvertTimeStamp(),
			"EmailNotification" => array(
" onclick="loadGraphData()" id="stats_loading_button" name="template_preview"><span id="stats_wait" class="loading-message-text" style="display: none; margin-top: 5px;"><?php 
    echo Loc::getMessage('SEO_YANDEX_STATS_WAIT');
    ?>
</span>
	</td>
</tr>
<?php 
    if ($bSale) {
        ?>
<tr>
	<td><?php 
        echo Loc::getMessage('SEO_YANDEX_STATS_SUM_ORDER_REPIOD');
        ?>
:</td>
	<td><span id="banner_profit"><?php 
        echo \CCurrencyLang::CurrencyFormat(doubleval($bannerProfit), \Bitrix\Currency\CurrencyManager::getBaseCurrency(), true);
        ?>
</span></td>
</tr>
<?php 
    }
    ?>
<tr>
	<td><?php 
    echo Loc::getMessage('SEO_YANDEX_STATS_GRAPH_TYPE');
    ?>
:</td>
	<td><select onchange="setGraph(this.value)">
		<option value="sum"><?php 
    echo Loc::getMessage('SEO_YANDEX_STATS_GRAPH_TYPE_SUM');
    ?>
예제 #11
0
}
$arParams["CACHE_TIME"] = intval($arParams["CACHE_TIME"]);
if ($this->StartResultCache()) {
    if (!CModule::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');
            }
예제 #12
0
                 unset($dayData['BANNER_ID']);
                 unset($dayData['DATE_DAY']);
                 $dayData['date'] = $date;
                 $graphData[] = $dayData;
             }
             $res["data"] = $graphData;
             $res["date_from"] = $dateStart->toString();
             $res["date_to"] = $dateFinish->toString();
             if (\Bitrix\Main\ModuleManager::isModuleInstalled('sale') && \Bitrix\Main\ModuleManager::isModuleInstalled('catalog') && Loader::includeModule('currency')) {
                 $orderStats = Adv\OrderTable::getList(array('filter' => array('=BANNER_ID' => $bannerId, '=PROCESSED' => Adv\OrderTable::PROCESSED, ">=TIMESTAMP_X" => $dateStart, "<TIMESTAMP_X" => $dateFinish), 'group' => array('BANNER_ID'), 'select' => array('BANNER_SUM'), 'runtime' => array(new \Bitrix\Main\Entity\ExpressionField('BANNER_SUM', 'SUM(SUM)'))));
                 if ($stat = $orderStats->fetch()) {
                     $res["order_sum"] = $stat['BANNER_SUM'];
                 } else {
                     $res["order_sum"] = 0;
                 }
                 $res["order_sum_format"] = \CCurrencyLang::CurrencyFormat(doubleval($res["order_sum"]), \Bitrix\Currency\CurrencyManager::getBaseCurrency(), true);
             }
         }
     } else {
         $res = array("session" => $loadingSession, "amount" => $_SESSION[$loadingSession]['ORIGINAL_CNT'], "left" => count($_SESSION[$loadingSession]["GAPS"]));
     }
     break;
 case 'campaign_stats':
     $res = array();
     $campaignId = intval($_REQUEST['campaign']);
     $loadingSession = $_REQUEST['loading_session'];
     $gaps = array();
     if ($loadingSession) {
         if (isset($_SESSION[$loadingSession]) && $_SESSION[$loadingSession]['CAMPAIGN_ID'] == $campaignId) {
             $dateStart = new Date($_SESSION[$loadingSession]['DATE_START']);
             $dateFinish = new Date($_SESSION[$loadingSession]['DATE_FINISH']);
예제 #13
0
 protected static function getProductProfit($productInfo)
 {
     if (strlen($productInfo['GROSS_PROFIT']) > 0) {
         $profit = doubleval($productInfo['GROSS_PROFIT']);
     } else {
         $purchasingCost = 0;
         if (strlen($productInfo['SUMMARY_PURCHASING_PRICE']) > 0) {
             $purchasingCost = doubleval($productInfo['SUMMARY_PURCHASING_PRICE']);
         } else {
             $dbRes = ProductTable::getList(array('filter' => array('=ID' => $productInfo['PRODUCT_ID']), 'select' => array('ID', 'PURCHASING_PRICE', 'PURCHASING_CURRENCY')));
             $productInfoBase = $dbRes->fetch();
             if ($productInfoBase) {
                 $purchasingCost = $productInfoBase['PURCHASING_PRICE'] * $productInfo['QUANTITY'];
                 $baseCurrency = CurrencyManager::getBaseCurrency();
                 if ($baseCurrency != $productInfoBase['PURCHASING_CURRENCY']) {
                     $purchasingCost = \CCurrencyRates::convertCurrency($purchasingCost, $productInfoBase['PURCHASING_CURRENCY'], $baseCurrency);
                 }
             }
         }
         $profit = doubleval($productInfo['SUMMARY_PRICE']) - $purchasingCost;
     }
     return $profit;
 }
">
				<div class="seo-adv-block-icon"></div>
				<div class="seo-adv-block-title"><?php 
                echo $prefix;
                echo \CCurrencyLang::CurrencyFormat($profit, CurrencyManager::getBaseCurrency(), true);
                ?>
</div>
				<div class="seo-adv-block-text"><?php 
                echo Loc::getMessage('SEO_YANDEX_STATS_HINT_GROSS');
                ?>
</div>
			</div>
<?php 
                $color = $expences > 0 ? 'red' : 'gray';
                $prefix = $expences > 0 ? '&ndash;&nbsp;' : '';
                $text = CCurrencyLang::CurrencyFormat($expences, CurrencyManager::getBaseCurrency(), false);
                if ($currency == '') {
                    $text .= ' ' . Loc::getMessage('SEO_YANDEX_CURRENCY');
                } elseif (CurrencyManager::checkCurrencyID($currency)) {
                    $text = CCurrencyLang::CurrencyFormat($expences, $currency, true);
                } else {
                    $text .= ' ' . $currency;
                }
                ?>
			<div class="seo-adv-block seo-adv-block-<?php 
                echo $color;
                ?>
">
				<div class="seo-adv-block-icon"></div>
				<div class="seo-adv-block-title"><?php 
                echo $prefix;
예제 #15
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
/** @var array $arCurrentValues */
use Bitrix\Main\Loader;
use Bitrix\Currency;
if (!Loader::includeModule('currency')) {
    return;
}
$arComponentParameters = array("PARAMETERS" => array("arrCURRENCY_FROM" => array("NAME" => GetMessage("CURRENCY_FROM"), "TYPE" => "LIST", "MULTIPLE" => "Y", "ADDITIONAL_VALUES" => "N", "VALUES" => Currency\CurrencyManager::getCurrencyList(), "GROUP" => "BASE"), "CURRENCY_BASE" => array("NAME" => GetMessage("CURRENCY_BASE"), "TYPE" => "LIST", "MULTIPLE" => "N", "ADDITIONAL_VALUES" => "N", "VALUES" => Currency\CurrencyManager::getCurrencyList(), "DEFAULT" => Currency\CurrencyManager::getBaseCurrency(), "GROUP" => "BASE"), "RATE_DAY" => array("NAME" => GetMessage("CURRENCY_RATE_DAY"), "TYPE" => "STRING", "GROUP" => "ADDITIONAL_PARAMETERS"), "SHOW_CB" => array("NAME" => GetMessage("T_CURRENCY_CBRF"), "TYPE" => "CHECKBOX", "MULTIPLE" => "N", "DEFAULT" => "N", "ADDITIONAL_VALUES" => "N", "GROUP" => "ADDITIONAL_PARAMETERS"), "CACHE_TIME" => array("DEFAULT" => "86400")));