• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/checklist.php
  • Класс: CCheckListResult
  • Вызов: CCheckListResult::Save
static function Save($arFields = array())
{
	global $DB;

	$arResult = array();
	if ($arFields["STATE"] && is_array($arFields["STATE"]))
		$arFields["STATE"] = serialize($arFields["STATE"]);
	else
		$arResult["ERRORS"][] = GetMessage("ERROR_DATA_RECEIVED");

	$currentState = false;
	if (!isset($arFields["REPORT"]) || $arFields["REPORT"] != true)
	{
		$arFields["REPORT"] = "N";
		$db_result = $DB->Query("SELECT ID FROM b_checklist WHERE REPORT <> 'Y'");
		$currentState = $db_result->Fetch();
	}
	else
		$arFields["REPORT"] = "Y";

	if (!empty($arResult["ERRORS"]))
		return $arResult;

	if ($currentState)
	{
		$strUpdate = $DB->PrepareUpdate("b_checklist", $arFields);
		$strSql = "UPDATE b_checklist SET ".$strUpdate." WHERE ID=".$currentState["ID"];
	}
	else
	{
		$arInsert = $DB->PrepareInsert("b_checklist", $arFields);
		$strSql ="INSERT INTO b_checklist(".$arInsert[0].", DATE_CREATE) ".
				"VALUES(".$arInsert[1].", '".ConvertTimeStamp(time(), "FULL")."')";
	}

	$arBinds = array(
			"STATE" => $arFields["STATE"],
		);
	$arResult = $DB->QueryBind($strSql, $arBinds);

	return $arResult;

}