$locFields['CURRENCY'] = $currencyID; $locFields['LID'] = $k; if (is_array(CCurrencyLang::GetByID($currencyID, $k))) { CCurrencyLang::Update($currencyID, $k, $locFields); } else { $locFields['DECIMALS'] = 2; //Default decimals CCurrencyLang::Add($locFields); } } } if ($result) { if ($currency['IS_ACCOUNTING_CURRENCY'] && $currencyID !== CCrmCurrency::GetAccountCurrencyID()) { CCrmCurrency::SetAccountCurrencyID($currencyID); } elseif (!$currency['IS_ACCOUNTING_CURRENCY'] && $currencyID === CCrmCurrency::GetAccountCurrencyID()) { CCrmCurrency::SetAccountCurrencyID(CCrmCurrency::GetBaseCurrencyID()); } if ($currency['IS_INVOICE_CURRENCY'] && $currencyID !== CCrmCurrency::getInvoiceDefault()) { CCrmCurrency::setInvoiceDefault($currencyID); } LocalRedirect(isset($_POST['apply']) ? CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_EDIT'], array('currency_id' => $currencyID)) : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array('currency_id' => $currencyID))); } } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete'])) { $currencyID = isset($arParams['CURRENCY_ID']) ? strval($arParams['CURRENCY_ID']) : ''; $currency = isset($currencyID[0]) ? CCrmCurrency::GetByID($currencyID) : null; if ($currency) { if (!CCrmCurrency::Delete($currencyID)) { $err = CCrmCurrency::GetLastError(); ShowError(isset($err[0]) ? $err : GetMessage('CRM_CURRENCY_DELETE_UNKNOWN_ERROR')); return; }
if (count($arFields) > 0) { if (!CCrmCurrency::Update($ID, $arFields)) { $error = CCrmCurrency::GetLastError(); $errorMessages[] = $error !== '' ? $error : GetMessage('CRM_CURRENCY_UPDATE_GENERAL_ERROR'); continue; } } if (isset($arField['ACCOUNTING'])) { $baseCurrencyID = CCrmCurrency::GetBaseCurrencyID(); $accountCurrencyID = CCrmCurrency::GetAccountCurrencyID(); if ($ID === $accountCurrencyID) { if ($arField['ACCOUNTING'] === 'N' && $ID !== $baseCurrencyID) { CCrmCurrency::SetAccountCurrencyID($baseCurrencyID); } } elseif ($arField['ACCOUNTING'] === 'Y') { CCrmCurrency::SetAccountCurrencyID($ID); } } } } if (!isset($_POST['AJAX_CALL'])) { if (empty($errorMessages)) { LocalRedirect($APPLICATION->GetCurPage()); } else { $errorID = uniqid('crm_err_'); $_SESSION[$errorID] = implode("\n", $errorMessages); LocalRedirect(CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array()), array('error' => $errorID))); } } } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && check_bitrix_sessid() && isset($_GET['action_' . $arResult['GRID_ID']])) { $errorID = '';