• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/loglist/param.php
  • Класс: BitrixSocialnetworkComponentLogListParam
  • Вызов: Param::prepareRequestParams
public function prepareRequestParams(&$componentParams): void
{
	$request = $this->getRequest();

	Util::checkEmptyParamInteger($componentParams, 'GROUP_ID', 0);
	if ($componentParams['GROUP_ID'] <= 0)
	{
		if (
			!empty($request->get('TO_CODE'))
			&& !empty($request->get('TO_CODE')['SG'])
			&& is_array($request->get('TO_CODE')['SG'])
		)
		{
			preg_match('/^SG(d+)$/', $request->get('TO_CODE')['SG'][0], $matches);
			if (!empty($matches))
			{
				$componentParams['GROUP_ID'] = $matches[1];
			}
		}
		elseif (!empty($request->get('flt_group_id')))
		{
			$componentParams['GROUP_ID'] = (int)$request->get('flt_group_id');
		}
	}

	if (empty($componentParams['DESTINATION']))
	{
		$componentParams['DESTINATION'] = [];
		if (
			!empty($request->get('TO_CODE'))
			&& is_array($request->get('TO_CODE'))
		)
		{
			foreach($request->get('TO_CODE') as $codeList)
			{
				if (is_array($codeList))
				{
					foreach($codeList as $code)
					{
						$componentParams['DESTINATION'][] = $code;
					}
				}
			}
		}
	}

	$componentParams['ENTITY_TYPE'] = '';
	$componentParams['TO_USER_ID'] = 0;

	if ($componentParams['GROUP_ID'] > 0)
	{
		$componentParams['ENTITY_TYPE'] = SONET_ENTITY_GROUP;
	}
	elseif (
		!empty($request->get('TO_CODE'))
		&& is_array($request->get('TO_CODE'))
		&& !empty($request->get('TO_CODE')['U'])
		&& is_array($request->get('TO_CODE')['U'])
	)
	{
		preg_match('/^U(d+)$/', $request->get('TO_CODE')['U'][0], $matches);
		if (!empty($matches))
		{
			$componentParams['TO_USER_ID'] = (int)$matches[1];
		}
	}
	else
	{
		$componentParams['TO_USER_ID'] = (int)$request->get('flt_to_user_id');
	}

	if (
		$componentParams['ENTITY_TYPE'] == ''
		&& $request->get('flt_entity_type') <> ''
	)
	{
		$componentParams['ENTITY_TYPE'] = trim($request->get('flt_entity_type'));
	}

	Util::checkEmptyParamInteger($componentParams, 'USER_ID', 0);
	if (
		$componentParams['USER_ID'] <= 0
		&& !empty($request->get('flt_user_id'))
	)
	{
		$componentParams['USER_ID'] = (int)$request->get('flt_user_id');
	}

	$componentParams['CREATED_BY_ID'] = 0;

	if (
		!empty($request->get('CREATED_BY_CODE'))
		&& is_array($request->get('CREATED_BY_CODE'))
		&& !empty($request->get('CREATED_BY_CODE')['U'])
		&& is_array($request->get('CREATED_BY_CODE')['U'])
	)
	{
		preg_match('/^U(d+)$/', $request->get('CREATED_BY_CODE')['U'][0], $matches);
		if (!empty($matches))
		{
			$componentParams['CREATED_BY_ID'] = (int)$matches[1];
		}
	}
	elseif (!empty($request->get('flt_created_by_id')))
	{
		$createdByIdValue = $request->get('flt_created_by_id');
		if (is_array($createdByIdValue))
		{
			$createdByIdValue = $createdByIdValue[0];
		}

		if (!is_array($createdByIdValue))
		{
			if (preg_match('/^(d+)$/', $createdByIdValue, $matches))
			{
				$componentParams['CREATED_BY_ID'] = $createdByIdValue;
			}
			else
			{
				$userList = CSocNetUser::searchUser($createdByIdValue, false);
				if (
					is_array($userList)
					&& !empty($userList)
				)
				{
					$componentParams['CREATED_BY_ID'] = key($userList);
				}
			}
		}
	}

	$componentParams['TAG'] = ($request->get('TAG') ? trim($request->get('TAG')) : '');
	$componentParams['FIND'] = ($request->get('FIND') ? trim($request->get('FIND')) : '');
}