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; }
$APPLICATION->SetTitle(GetMessage("B_B_US_TITLE")); } if ($arBlog = CBlog::GetByUrl($arParams["BLOG_URL"], $arParams["GROUP_ID"])) { if ($arBlog["ACTIVE"] == "Y") { $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]); if ($arGroup["SITE_ID"] == SITE_ID) { $arResult["Blog"] = $arBlog; if (CBlog::CanUserManageBlog($arBlog["ID"], IntVal($USER->GetID()))) { if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle(str_replace("#NAME#", $arBlog["NAME"], GetMessage("B_B_US_TITLE_BLOG"))); } $errorMessage = ""; $okMessage = ""; if (IntVal($GLOBALS["del_id"]) > 0) { if (check_bitrix_sessid()) { CBlogUser::AddToUserGroup($GLOBALS["del_id"], $arBlog["ID"], array(), "", BLOG_BY_USER_ID, BLOG_CHANGE); $dbCandidate = CBlogCandidate::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "USER_ID" => IntVal($GLOBALS["del_id"]))); if ($arCandidate = $dbCandidate->Fetch()) { CBlogCandidate::Delete($arCandidate["ID"]); $okMessage = GetMessage("B_B_US_DELETE_OK") . ".<br />"; } } else { $errorMessage .= GetMessage("BLOG_BLOG_SESSID_WRONG") . "<br />"; } } if (isset($_REQUEST["add_friend"]) && is_array($_REQUEST["add_friend"])) { if (check_bitrix_sessid()) { foreach ($_REQUEST["add_friend"] as $key => $friend) { $arFriendUsers = array(); if (StrLen($friend) > 0) { $arUserID = array();
if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle(str_replace("#NAME#", $arBlog["NAME"], GetMessage("B_B_USE_TITLE_BLOG"))); } $errorMessage = ""; $okMessage = ""; $arBlogUser = CBlogUser::GetByID($arUser["ID"], BLOG_BY_USER_ID); $arBlogUser = CBlogTools::htmlspecialcharsExArray($arBlogUser); $arResult["BlogUser"] = $arBlogUser; if ($GLOBALS["user_action"] == "Y" && check_bitrix_sessid()) { if (strlen($GLOBALS["cancel"]) > 0) { LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_SETTINGS"], array("blog" => $arBlog["URL"]))); } if (empty($arBlogUser)) { CBlogUser::Add(array("USER_ID" => $arUser["ID"], "=LAST_VISIT" => $DB->GetNowFunction(), "=DATE_REG" => $DB->GetNowFunction(), "ALLOW_POST" => "Y")); } CBlogUser::AddToUserGroup($arUser["ID"], $arBlog["ID"], $GLOBALS["add2groups"], "", BLOG_BY_USER_ID, BLOG_CHANGE); $dbCandidate = CBlogCandidate::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $arUser["ID"])); if ($arCandidate = $dbCandidate->Fetch()) { CBlogCandidate::Delete($arCandidate["ID"]); } LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_SETTINGS"], array("blog" => $arBlog["URL"]))); } $arResult["ERROR_MESSAGE"] = $errorMessage; $arResult["OK_MESSAGE"] = $okMessage; $arResult["userName"] = CBlogUser::GetUserName($arBlogUser["ALIAS"], $arUser["NAME"], $arUser["LAST_NAME"], $arUser["LOGIN"]); $arResult["urlToUser"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arUser["ID"])); $arResult["arUserGroups"] = CBlogUser::GetUserGroups($arUser["ID"], $arBlog["ID"], "Y", BLOG_BY_USER_ID); $dbBlogGroups = CBlogUserGroup::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"]), false, false, array("ID", "NAME")); while ($arBlogGroups = $dbBlogGroups->GetNext()) { $arResult["Groups"][] = $arBlogGroups; }