// Id of the edited record
$bCopy = $action == "copy";
$message = null;
$bVarsFromForm = false;
if ($REQUEST_METHOD == "POST" && ($save != "" || $apply != "") && $POST_RIGHT == "W" && check_bitrix_sessid()) {
    $profile = new CProfileAdmin();
    $profile->SetSettings($IBLOCK_ID);
    $profile->SetSettings($SECTION_ID);
    $profile->SetSettings($GOOGLE_CATEGORY);
    $profile->SetSettings($CONDITION_RULE);
    $profile->SetSettings($XML_DATA);
    $arFields = array("NAME" => $NAME, "TYPE_RUN" => $TYPE_RUN, "FEED" => $FEED, "COMPANY" => $COMPANY, "SHOPNAME" => $SHOPNAME, "DESCRIPTION" => $DESCRIPTION, "DOMAIN_NAME" => $DOMAIN_NAME, "NAMESCHEMA" => $NAMESCHEMA, "ACTIVE" => $ACTIVE != "Y" ? "N" : "Y", "ENCODING" => $ENCODING, "IBLOCK_ID" => base64_encode(serialize($IBLOCK_ID)), "SECTION_ID" => base64_encode(serialize($SECTION_ID)), "GOOGLE_CATEGORY" => base64_encode(serialize($GOOGLE_CATEGORY)), "CONDITIONS" => $CONDITIONS, "LID" => $LID, "DETAIL_PAGE_URL" => $DETAIL_PAGE_URL, "USE_SKU" => $USE_SKU != "Y" ? "N" : "Y", "CHECK_INCLUDE" => $CHECK_INCLUDE != "Y" ? "N" : "Y", "FORORDER" => $FORORDER != "Y" ? "N" : "Y", "OTHER" => $OTHER != "Y" ? "N" : "Y", "CONDITION_RULE" => base64_encode(serialize($CONDITION_RULE)), "PRICE" => $PRICE, "XML_DATA" => base64_encode(serialize($XML_DATA)), "DATA_START" => strtotime($DATA_START), "PERIOD" => $PERIOD, "START_LAST_TIME" => $START_LAST_TIME, "USE_XML_FILE" => $USE_XML_FILE != "Y" ? "N" : "Y", "URL_DATA_FILE" => $URL_DATA_FILE, "AGELEVEL" => $AGELEVEL);
    if ($ID > 0) {
        $res = $profile->Update($ID, $arFields);
    } else {
        $ID = $profile->Add($arFields);
        $res = $ID > 0;
    }
    if ($res) {
        if ($apply != "") {
            LocalRedirect("/bitrix/admin/acrit_googlemerchant_edit.php?ID=" . $ID . "&mess=ok&lang=" . LANG . "&tabControl_active_tab=" . $_POST["tabControl_active_tab"]);
        } else {
            LocalRedirect("/bitrix/admin/acrit_googlemerchant_list.php?lang=" . LANG);
        }
    } else {
        if ($e = $APPLICATION->GetException()) {
            $message = new CAdminMessage(GetMessage("gmprofile_save_error"), $e);
        }
        $bVarsFromForm = true;
    }
}