예제 #1
0
    } while ($res = $db_res->GetNext());
}
if ($_SERVER["REQUEST_METHOD"] == "POST" && ($_POST["save"] != '' || $_POST["apply"] != '') && $isAdmin && check_bitrix_sessid()) {
    $_POST["EVENT_NAME"] = trim($_POST["EVENT_NAME"]);
    $res = array();
    $DB->StartTransaction();
    if ($_POST["EVENT_NAME"] != '') {
        $db_res = CEventType::GetListEx(array(), array("EVENT_NAME" => $_POST["EVENT_NAME"]), array("type" => "full"));
        if (!$db_res || !($res = $db_res->Fetch())) {
            $res["EVENT_NAME"] = $_POST["EVENT_NAME"];
        }
    }
    foreach ($arParams["LANGUAGE"] as $idLang => $arLang) {
        $arType = array("ID" => $_POST["FIELDS"][$idLang]["ID"], "SORT" => $_POST["FIELDS"][$idLang]["SORT"], "NAME" => $_POST["FIELDS"][$idLang]["NAME"], "DESCRIPTION" => $_POST["FIELDS"][$idLang]["DESCRIPTION"], "LID" => $idLang, "EVENT_NAME" => $res["EVENT_NAME"]);
        if (CAdminList::IsUpdated($idLang) && $_REQUEST[$idLang] == "Y") {
            if (intval($arType["ID"]) > 0 && !CEventType::Update(array("ID" => $arType["ID"]), $arType) || intval($arType["ID"]) <= 0 && !CEventType::Add($arType)) {
                $bVarsFromForm = true;
            }
        }
        if ($_REQUEST[$idLang] != "Y") {
            unset($arLangs[$idLang]);
            if (intval($arType["ID"]) > 0) {
                if (!CEventType::Delete(array("ID" => $arType["ID"]))) {
                    $bVarsFromForm = true;
                }
            }
        }
        if ($bVarsFromForm) {
            break;
        }
    }