- Модуль: 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;
}