• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/item/workgroup.php
  • Класс: BitrixSocialnetworkItemWorkgroup
  • Вызов: Workgroup::getGroupContent
static function getGroupContent($params = array()): string
{
	static $fieldsList = null;;

	$content = '';

	$groupId = (int)($params['id'] ?? 0);

	if ($groupId <= 0)
	{
		return $content;
	}

	if ($fieldsList === null)
	{
		$fieldsList = self::getContentFieldsList();
	}

	if (
		isset($params['fields'])
		&& is_array($params['fields'])
		&& ($diff = array_diff($fieldsList, array_keys($params['fields'])))
		&& empty($diff)
	)
	{
		$groupFieldsList = $params['fields'];
	}
	else
	{
		$res = WorkgroupTable::getList(array(
			'filter' => array(
				'ID' => $groupId
			),
			'select' => $fieldsList
		));
		$groupFieldsList = $res->fetch();
	}

	if (!empty($groupFieldsList))
	{
		$content .= $groupFieldsList['NAME'];
		if (!empty($groupFieldsList['DESCRIPTION']))
		{
			$content .= ' '.$groupFieldsList['DESCRIPTION'];
		}

		if (!empty($groupFieldsList['KEYWORDS']))
		{
			$keywordList = explode(",", $groupFieldsList["KEYWORDS"]);
			$tagList = array();
			foreach($keywordList as $keyword)
			{
				$tagList[] = trim($keyword);
				$tagList[] = '#'.trim($keyword);
			}
			if (!empty($tagList))
			{
				$content .= ' '.implode(' ', $tagList);
			}
		}

		if (
			!empty($groupFieldsList['OWNER_ID'])
			&& (int)$groupFieldsList['OWNER_ID'] > 0
		)
		{
			$res = MainUserTable::getList(array(
				'filter' => array(
					'ID' => (int)$groupFieldsList['OWNER_ID']
				),
				'select' => array('ID', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN', 'EMAIL')
			));
			if ($userFields = $res->fetch())
			{
				$content .= ' '.CUser::formatName(CSite::getNameFormat(null, $groupFieldsList['SITE_ID']), $userFields, true);
			}
		}
	}

	return $content;
}