public static function Add($arFields) { global $DB; $arFields1 = array(); foreach ($arFields as $key => $value) { if (substr($key, 0, 1) == "=") { $arFields1[substr($key, 1)] = $value; unset($arFields[$key]); } } if (!CBlogCandidate::CheckFields("ADD", $arFields)) { return false; } $arInsert = $DB->PrepareInsert("b_blog_user2blog", $arFields); foreach ($arFields1 as $key => $value) { if (strlen($arInsert[0]) > 0) { $arInsert[0] .= ", "; } $arInsert[0] .= $key; if (strlen($arInsert[1]) > 0) { $arInsert[1] .= ", "; } $arInsert[1] .= $value; } $ID = False; if (strlen($arInsert[0]) > 0) { $strSql = "INSERT INTO b_blog_user2blog(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")"; $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__); $ID = IntVal($DB->LastID()); } if ($ID) { $arCandidat = CBlogCandidate::GetByID($ID); if ($arCandidat) { $arBlog = CBlog::GetByID($arCandidat["BLOG_ID"]); if (strlen($arBlog["AUTO_GROUPS"]) > 0) { $arAutoGroups = unserialize($arBlog["AUTO_GROUPS"]); if (is_array($arAutoGroups) && count($arAutoGroups) > 0) { $arBlogUser = CBlogUser::GetByID($arCandidat["USER_ID"], BLOG_BY_USER_ID); if (!$arBlogUser) { CBlogUser::Add(array("USER_ID" => $arCandidat["USER_ID"], "=LAST_VISIT" => $GLOBALS["DB"]->GetNowFunction(), "=DATE_REG" => $GLOBALS["DB"]->GetNowFunction(), "ALLOW_POST" => "Y")); } CBlogUser::AddToUserGroup($arCandidat["USER_ID"], $arCandidat["BLOG_ID"], $arAutoGroups, "", BLOG_BY_USER_ID, BLOG_CHANGE); CBlogCandidate::Delete($ID); } } } } return $ID; }
$arF1 = $arF2 = $arMailFields; $arF1["EMAIL_TO"] = $arUserBlog["EMAIL"]; $arF2["EMAIL_TO"] = $arUser["EMAIL"]; CEvent::Send("BLOG_YOUR_BLOG_TO_USER", SITE_ID, $arF1); CEvent::Send("BLOG_BLOG_TO_YOU", SITE_ID, $arF2); } else { $frnd_er = 2; } } } } } elseif ($_GET["become_friend"] == "N") { CBlogUser::DeleteFromUserGroup($user_id, $arResult["BLOG"]["ID"], BLOG_BY_USER_ID); $dbCandidate = CBlogCandidate::GetList(array(), array("BLOG_ID" => $arResult["BLOG"]["ID"], "USER_ID" => $user_id)); if ($arCandidate = $dbCandidate->Fetch()) { CBlogCandidate::Delete($arCandidate["ID"]); } $frnd_ok = 7; } } else { $arResult["ERROR_MESSAGE"][] = GetMessage("BLOG_BLOG_BLOG_NO_BLOG"); CHTTP::SetStatus("404 Not Found"); } if (IntVal($frnd_er) > 0) { LocalRedirect($APPLICATION->GetCurPageParam("frnd_res_er=" . $frnd_er, array("frnd_res_er", "sessid", "frnd_res_ok"))); } elseif (IntVal($frnd_ok) > 0) { LocalRedirect($APPLICATION->GetCurPageParam("frnd_res_ok=" . $frnd_ok, array("frnd_res_er", "sessid", "frnd_res_ok"))); } } elseif (intval($_GET["frnd_res_er"]) > 0 || intval($_GET["frnd_res_ok"]) > 0) { if (intval($_GET["frnd_res_er"]) > 0) { switch (IntVal($_GET["frnd_res_er"])) {