function Edit($Params) { if (!CSticker::CanDoOperation('sticker_edit')) { return; } global $DB, $USER; $arFields = $Params['arFields']; if (!CSticker::CheckFields($arFields)) { return false; } $bNew = !isset($arFields['ID']) || $arFields['ID'] <= 0; if (!isset($arFields['~DATE_UPDATE'])) { $arFields['~DATE_UPDATE'] = $DB->CurrentTimeFunction(); } if (!isset($arFields['MODIFIED_BY'])) { $arFields['MODIFIED_BY'] = $USER->GetId(); } if (!isset($arFields['SITE_ID'])) { $arFields['SITE_ID'] = $_REQUEST['site_id']; } if ($bNew) { if (!isset($arFields['CREATED_BY'])) { $arFields['CREATED_BY'] = $arFields['MODIFIED_BY']; } if (!isset($arFields['~DATE_CREATE'])) { $arFields['~DATE_CREATE'] = $arFields['~DATE_UPDATE']; } unset($arFields['ID']); $ID = $DB->Add("b_sticker", $arFields, array("CONTENT", "MARKER_ADJUST")); } else { $ID = $arFields['ID']; unset($arFields['ID']); $strUpdate = $DB->PrepareUpdate("b_sticker", $arFields); $strSql = "UPDATE b_sticker SET " . $strUpdate . " WHERE ID=" . IntVal($ID); $DB->QueryBind($strSql, array("CONTENT" => $arFields["CONTENT"], "MARKER_ADJUST" => $arFields["MARKER_ADJUST"]), false, "File: " . __FILE__ . "<br>Line: " . __LINE__); } CSticker::ClearCache(); return $ID; }