• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/uf/blogpostconnector.php
  • Класс: BitrixDiskUfBlogPostConnector
  • Вызов: BlogPostConnector::getDestinations
protected function getDestinations()
{
	$isExtranetInstalled = Loader::includeModule("extranet");

	$members = array();
	if($this->blogPostData["HAS_SOCNET_ALL"] != "Y")
	{

		$perm = CBlogPost::getSocnetPermsName($this->entityId);
		foreach($perm as $type => $v)
		{
			foreach($v as $vv)
			{
				if($type == "SG")
				{

					if($socNetGroup = CSocNetGroup::getByID($vv["ENTITY_ID"]))
					{
						$name = $socNetGroup["~NAME"];
						$link = CComponentEngine::makePathFromTemplate($this->getPathToGroup(), array("group_id" => $vv["ENTITY_ID"]));

						$groupSiteID = false;

						$queryGroupSite = CSocNetGroup::getSite($vv["ENTITY_ID"]);

						while($groupSite = $queryGroupSite->fetch())
						{

							if(!$isExtranetInstalled || $groupSite["LID"] != CExtranet::getExtranetSiteID()
							)
							{
								$groupSiteID = $groupSite["LID"];
								break;
							}
						}

						if($groupSiteID)
						{

							$tmp = CSocNetLogTools::processPath(array("GROUP_URL" => $link), $this->getUser()->getId(), $groupSiteID); // user_id is not important parameter
							$link = ($tmp["URLS"]["GROUP_URL"] <> '' ? $tmp["URLS"]["GROUP_URL"] : $link);
						}
						$isExtranet = (is_array($GLOBALS["arExtranetGroupID"]) && in_array($vv["ENTITY_ID"], $GLOBALS["arExtranetGroupID"]));

						$members[] = array(
							"NAME" => $name,
							"LINK" => $link,
							'AVATAR_SRC' => UiAvatar::getGroup($socNetGroup['IMAGE_ID']),
							"IS_EXTRANET" => ($isExtranet ? "Y" : "N")
						);
					}
				}
				elseif($type == "U")
				{
					if(in_array("US" . $vv["ENTITY_ID"], $vv["ENTITY"]))
					{
						array_unshift($members, array(
							"NAME" => Loc::getMessage('DISK_UF_BLOG_POST_CONNECTOR_MEMBERS_ALL'),
							"LINK" => null,
							'AVATAR_SRC' => UiAvatar::getDefaultGroup(),
							"IS_EXTRANET" => "N",
						));
					}
					else
					{
						$name = CUser::formatName('#NAME# #LAST_NAME#', array(
							"NAME" => $vv["~U_NAME"],
							"LAST_NAME" => $vv["~U_LAST_NAME"],
							"SECOND_NAME" => $vv["~U_SECOND_NAME"],
							"LOGIN" => $vv["~U_LOGIN"],
							"NAME_LIST_FORMATTED" => "",
						), false);
						$isExtranet = (is_array($GLOBALS["arExtranetUserID"]) && in_array($vv["ENTITY_ID"], $GLOBALS["arExtranetUserID"]));

						$members[] = array(
							"NAME" => $name,
							"LINK" => CComponentEngine::makePathFromTemplate($this->getPathToUser(), array("user_id" => $vv["ENTITY_ID"])),
							'AVATAR_SRC' => UiAvatar::getPerson($vv['U_PERSONAL_PHOTO']),
							"IS_EXTRANET" => ($isExtranet ? "Y" : "N")
						);
					}
				}
				elseif($type == "DR")
				{
					$members[] = array(
						"NAME" => $vv["EL_NAME"],
						"LINK" => null,
						'AVATAR_SRC' => UiAvatar::getDefaultGroup(),
						"IS_EXTRANET" => "N",
					);
				}
			}
		}
	}
	else
	{
		$members[] = array(
			"NAME" => Loc::getMessage('DISK_UF_BLOG_POST_CONNECTOR_MEMBERS_ALL'),
			"LINK" => null,
			'AVATAR_SRC' => UiAvatar::getDefaultGroup(),
			"IS_EXTRANET" => "N",
		);
	}

	return $members;
}