function Update($currency, $arFields)
	{
		global $DB;
		global $CACHE_MANAGER;

		if (!CFTriggerActions::CheckFields('UPDATE', $arFields, $currency))
			return false;

		$strCurrencyID = substr($currency, 0, 3);
		if (is_set($arFields, 'CURRENCY'))
			unset($arFields['CURRENCY']);
		$strUpdate = $DB->PrepareUpdate("f_actions", $arFields);
		if (!empty($strUpdate))
		{
			$strSql = "UPDATE f_actions SET ".$strUpdate." WHERE ID = '".$DB->ForSql($strCurrencyID)."' ";

			$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);

			$CACHE_MANAGER->Clean("currency_base_currency");
			$CACHE_MANAGER->Clean("currency_currency_list");
			$rsLangs = CLanguage::GetList(($by="lid"), ($order="asc"));
			while ($arLang = $rsLangs->Fetch())
			{
				$CACHE_MANAGER->Clean("currency_currency_list_".$arLang['LID']);
			}

			if (defined("BX_COMP_MANAGED_CACHE"))
				$CACHE_MANAGER->ClearByTag("currency_id_".$strCurrencyID);
		}

		return $strCurrencyID;
	}
Example #2
0
if ($_SERVER["REQUEST_METHOD"] == "POST" && $CURRENCY_RIGHT=="W" && strlen($Update)>0 && check_bitrix_sessid())
{

	$arFields = array(
		"NAME" => $_POST['NAME'],
		"SORT" => $_POST['SORT'],
		"ACTION_TYPE" => $_POST["ACTION_TYPE"],
		"ADDITIONAL_PROPS" => serialize($_POST["ADDITIONAL_PROPS"]),
		"BODY_PARAMS" => serialize(explode("\n", $_POST["BODY_PARAMS"]))
	);
	
	//echo "<pre>";print_r($_POST);echo "</pre>";
	//echo "<pre>";print_r($arFields);echo "</pre>";die;
	
	$strAction = ($ID ? 'UPDATE' : 'ADD');
	$bVarsFromForm = !CFTriggerActions::CheckFields($strAction, $arFields, $ID);

	if (!$bVarsFromForm)
	{
		$arMsg = array();

		if(!empty($arMsg))
		{			
			$bVarsFromForm = true;
			$e = new CAdminException($arMsg);
			$APPLICATION->ThrowException($e);
			$e = $APPLICATION->GetException();
			$message = new CAdminMessage(GetMessage("action_error"), $e);
		}
		else
		{