function SetConditions($FILTER_ID, $CONDITIONS, $bClearOther = true) { global $DB; $FILTER_ID = IntVal($FILTER_ID); $strSql= "SELECT ID ". "FROM b_mail_filter_cond ". "WHERE FILTER_ID=".$FILTER_ID; $dbr = $DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__); while($dbr_arr = $dbr->Fetch()) { if(is_set($CONDITIONS, $dbr_arr["ID"]) && is_array($CONDITIONS[$dbr_arr["ID"]]) && strlen($CONDITIONS[$dbr_arr["ID"]]["STRINGS"])>0) { $arFields = $CONDITIONS[$dbr_arr["ID"]]; unset($arFields["ID"]); $arFields["FILTER_ID"] = $FILTER_ID; CMailFilterCondition::Update($dbr_arr["ID"], $arFields); unset($CONDITIONS[$dbr_arr["ID"]]); } elseif($bClearOther) { $DB->Query("DELETE FROM b_mail_filter_cond WHERE ID=".$dbr_arr["ID"]); } } foreach($CONDITIONS as $arFields) { if(is_array($arFields) && strlen($arFields["STRINGS"])>0) { $arFields["FILTER_ID"] = $FILTER_ID; unset($arFields["ID"]); CMailFilterCondition::Add($arFields); } } }