• Модуль: mobile
  • Путь к файлу: ~/bitrix/modules/mobile/lib/component/loglist.php
  • Класс: BitrixMobileComponentLogList
  • Вызов: LogList::prepareData
protected function prepareData(): array
{
	global $USER;

	$request = $this->getRequest();
	$params = $this->arParams;
	$processorInstance = $this->getProcessorInstance();
	$logPageProcessorInstance = $this->getLogPageProcessorInstance();
	$counterProcessorInstance = $this->getCounterProcessorInstance();

	$result = [];

	if (
		!$request
		|| !$processorInstance
		|| !$logPageProcessorInstance
		|| !$counterProcessorInstance
	)
	{
		return $result;
	}

	$result['AJAX_CALL'] = $this->ajaxCall;
	$result['RELOAD'] = $this->reloadCall;
	$result['RELOAD_JSON'] = (
		$this->reloadCall
		&& $request->get('RELOAD_JSON') === 'Y'
	);
	$result['currentUserId'] = (int)$USER->getId();
	$result['serverTimestamp'] = time();

	$this->setExtranetData($result);

	$logPageProcessorInstance->preparePrevPageLogId();
	$processorInstance->getMicroblogUserId($result);

	$result['TZ_OFFSET'] = CTimeZone::getOffset();

	if ($params['EMPTY_PAGE'] !== 'Y')
	{
		CSocNetTools::initGlobalExtranetArrays();

		$config = Application::getConnection()->getConfiguration();
		$result['ftMinTokenSize'] = ($config['ft_min_token_size'] ?? CSQLWhere::FT_MIN_TOKEN_SIZE);

		$result['Events'] = false;

		$processorInstance->processWorkgroupData($result);
		$processorInstance->processFilterData($result);
		$processorInstance->processNavData($result);
		$counterProcessorInstance->processCounterTypeData($result);
		$processorInstance->processLastTimestamp($result);
		$processorInstance->processListParams($result);
		$logPageProcessorInstance->getLogPageData($result);
		$processorInstance->processOrderData();
		$processorInstance->processSelectData($result);
		$this->getEntriesData($result);
		$processorInstance->processEventsList($result, 'main');
		$processorInstance->processEventsList($result, 'pinned');
		$processorInstance->warmUpStaticCache($result);
		$logPageProcessorInstance->deleteLogPageData($result);
		$processorInstance->processNextPageSize($result);
		$processorInstance->processContentList($result);
		$logPageProcessorInstance->setLogPageData($result);

		$processorInstance->getUnreadTaskCommentsIdList($result);

		$counterProcessorInstance->clearLogCounter($result);
		$this->setFollowData($result);
		$this->setExpertModeData($result);
	}
	else
	{
		$res = CUser::getById($USER->getId());
		if ($currentUserFields = $res->fetch())
		{
			$result['EmptyComment'] = [
				'AVATAR_SRC' => CSocNetLogTools::formatEvent_CreateAvatar($currentUserFields, $params, ''),
				'AUTHOR_NAME' => CUser::formatName($params['NAME_TEMPLATE'], $currentUserFields, $this->useLogin)
			];
		}
	}

	$allowToAll = ComponentHelper::getAllowToAllDestination();

	$result['bDenyToAll'] = ($result['bExtranetSite'] || !$allowToAll);
	$result['bDefaultToAll'] = ($allowToAll && Option::get('socialnetwork', 'default_livefeed_toall', 'Y') === 'Y');

	if ($result['bExtranetSite'])
	{
		$result['arAvailableGroup'] = CSocNetLogDestination::getSocnetGroup(
			[
				'features' => [
					"blog",
					[ 'premoderate_post', 'moderate_post', 'write_post', 'full_post' ]
				]
			]
		);
	}

	$result['bDiskInstalled'] = (
		Option::get('disk', 'successfully_converted', false)
		&& ModuleManager::isModuleInstalled('disk')
	);

	$result['bWebDavInstalled'] = ModuleManager::isModuleInstalled('webdav');

	$result['postFormUFCode'] = (
	$result['bDiskInstalled']
		|| ModuleManager::isModuleInstalled('webdav')
			? 'UF_BLOG_POST_FILE'
			: 'UF_BLOG_POST_DOC'
	);

	$processorInstance->processCrmActivities($result);

	$result['USE_FRAMECACHE'] = ($params['SET_LOG_COUNTER'] === 'Y');

	// knowledge for group
	$result['KNOWLEDGE_PATH'] = '';
	if (
		$params['GROUP_ID'] > 0
		&& Loader::includeModule('landing')
		&& BitrixLandingConnectorSocialNetwork::userInGroup($params['GROUP_ID'])
	)
	{
		$result['KNOWLEDGE_PATH'] = BitrixLandingConnectorSocialNetwork::getSocNetMenuUrl(
			$params['GROUP_ID'],
			false
		);
	}

	$result['BACKGROUND_IMAGES_DATA'] = $this->getBackgroundData();
	$result['BACKGROUND_COMMON'] = $this->getBackgroundCommonData();
	$result['MEDALS_LIST'] = $this->getMedalsData();
	$result['IMPORTANT_DATA'] = $this->getImportantData();
	$result['POST_FORM_DATA'] = $this->getPostFormData();

	return $result;
}