function Update($ID, $arFields) { global $DB; $ID = IntVal($ID); $arFields1 = array(); foreach ($arFields as $key => $value) { if (substr($key, 0, 1) == "=") { $arFields1[substr($key, 1)] = $value; unset($arFields[$key]); } } if (!CBlogUser::CheckFields("UPDATE", $arFields, $ID)) { return false; } $strUpdate = $DB->PrepareUpdate("b_blog_user", $arFields, "blog/avatar"); foreach ($arFields1 as $key => $value) { if (strlen($strUpdate) > 0) { $strUpdate .= ", "; } $strUpdate .= $key . "=" . $value . " "; } if (strlen($strUpdate) > 0) { $arUser = CBlogUser::GetByID($ID, BLOG_BY_BLOG_USER_ID); $strSql = "UPDATE b_blog_user SET " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " "; $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__); unset($GLOBALS["BLOG_USER_CACHE_" . $ID]); unset($GLOBALS["BLOG_USER1_CACHE_" . $arUser["USER_ID"]]); } else { $ID = false; } if ($ID && !(count($arFields1) == 1 && strlen($arFields1["LAST_VISIT"]) > 0)) { if (CModule::IncludeModule("search")) { $arBlogUser = CBlogUser::GetByID($ID); $dbUser = CUser::GetByID($arBlogUser["USER_ID"]); $arUser = $dbUser->Fetch(); $arBlog = CBlog::GetByOwnerID($arBlogUser["USER_ID"]); if ($arBlog) { $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]); $arPostSite = array($arGroup["SITE_ID"] => CBlogUser::PreparePath($arBlogUser["USER_ID"], $arGroup["SITE_ID"])); } else { $arPostSite = array(SITE_ID => CBlogUser::PreparePath($arBlogUser["USER_ID"], SITE_ID)); } if (strlen($arBlogUser["LAST_VISIT"]) <= 0) { $arBlogUser["LAST_VISIT"] = ConvertTimeStamp(false, "FULL", false); } $arSearchIndex = array("SITE_ID" => $arPostSite, "LAST_MODIFIED" => $arBlogUser["LAST_VISIT"], "PARAM1" => "USER", "PARAM2" => $arBlogUser["USER_ID"], "PERMISSIONS" => array(2), "TITLE" => CBlogUser::GetUserName($arBlogUser["ALIAS"], $arUser["NAME"], $arUser["LAST_NAME"], $arUser["LOGIN"]), "BODY" => blogTextParser::killAllTags($arBlogUser["INTERESTS"] . " " . $arBlogUser["DESCRIPTION"])); CSearch::Index("blog", "U" . $ID, $arSearchIndex); } } return $ID; }