• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_share.php
  • Класс: CIMShare
  • Вызов: CIMShare::SonetPostCreateBlog
private function SonetPostCreateBlog($userId, $blogGroupId, $siteId)
{
	global $DB;
	$arFields = array(
		"=DATE_UPDATE" => $DB->CurrentTimeFunction(),
		"GROUP_ID" => $blogGroupId,
		"ACTIVE" => "Y",
		"ENABLE_COMMENTS" => "Y",
		"ENABLE_IMG_VERIF" => "Y",
		"EMAIL_NOTIFY" => "Y",
		"ENABLE_RSS" => "Y",
		"ALLOW_HTML" => "N",
		"ENABLE_TRACKBACK" => "N",
		"SEARCH_INDEX" => "Y",
		"USE_SOCNET" => "Y",
		"=DATE_CREATE" => $DB->CurrentTimeFunction(),
		"PERMS_POST" => Array(
			1 => "I",
			2 => "I" ),
		"PERMS_COMMENT" => Array(
			1 => "P",
			2 => "P" ),
	);

	$bRights = false;
	$rsUser = CUser::GetByID($userId);
	$arUser = $rsUser->Fetch();
	if($arUser["NAME"]."".$arUser["LAST_NAME"] == '')
	{
		$arFields["NAME"] = GetMessage("SNBPA_BLOG_NAME")." ".$arUser["LOGIN"];
	}
	else
	{
		$arFields["NAME"] = GetMessage("SNBPA_BLOG_NAME")." ".$arUser["NAME"]." ".$arUser["LAST_NAME"];
	}

	$arFields["URL"] = str_replace(" ", "_", $arUser["LOGIN"])."-blog-".$siteId;
	$arFields["OWNER_ID"] = $userId;

	$urlCheck = preg_replace("/[^a-zA-Z0-9_-]/is", "", $arFields["URL"]);
	if ($urlCheck != $arFields["URL"])
	{
		$arFields["URL"] = "u".$userId."-blog-".$siteId;
	}

	if(CBlog::GetByUrl($arFields["URL"]))
	{
		$uind = 0;
		do
		{
			$uind++;
			$arFields["URL"] = $arFields["URL"].$uind;
		}
		while (CBlog::GetByUrl($arFields["URL"]));
	}

	$featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_USER, $arFields["OWNER_ID"], "blog", "view_post");
	if ($featureOperationPerms == SONET_RELATIONS_TYPE_ALL)
	{
		$bRights = true;
	}

	$blogID = CBlog::Add($arFields);
	BXClearCache(true, "/blog/form/blog/");
	if ($bRights)
	{
		CBlog::AddSocnetRead($blogID);
	}

	return CBlog::GetByID($blogID);
}