...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/livefeed.php
- Класс: \CCrmLiveFeedComponent
- Вызов: CCrmLiveFeedComponent::processCrmBlogComment
static function processCrmBlogComment($params = array()) { static $blogPostEventIdList = null; $blogPostId = (int)($params["POST_ID"] ?? 0); $blogCommentId = (int)($params["COMMENT_ID"] ?? 0); $arAuthor = (isset($params["AUTHOR"]) && is_array($params["AUTHOR"]) ? $params["AUTHOR"] : array()); $arUserId = (isset($params["USER_ID"]) && is_array($params["USER_ID"]) ? $params["USER_ID"] : array()); if ( empty($arUserId) || empty($arAuthor) || $blogPostId <= 0 || $blogCommentId <= 0 ) { return false; } if (Main\Loader::includeModule('socialnetwork')) { if ($blogPostEventIdList === null) { $blogPostLivefeedProvider = new \Bitrix\Socialnetwork\Livefeed\BlogPost; $blogPostEventIdList = $blogPostLivefeedProvider->getEventId(); } $res = CSocNetLog::GetList( array(), array( 'EVENT_ID' => $blogPostEventIdList, 'ENTITY_TYPE' => CCrmLiveFeedEntity::Contact, 'SOURCE_ID' => $blogPostId ), false, array( 'nTopCount' => 1 ), array('ID', 'ENTITY_TYPE', 'ENTITY_ID') ); if ($log = $res->Fetch()) { $res = CCrmActivity::getList( array(), array( '=PROVIDER_ID' => \Bitrix\Crm\Activity\Provider\Livefeed::PROVIDER_ID, '=PROVIDER_TYPE_ID' => \Bitrix\Crm\Activity\Provider\Livefeed::PROVIDER_TYPE_ID_ENTRY, '=ASSOCIATED_ENTITY_ID' => $log['ID'], 'CHECK_PERMISSIONS' => 'N' ), false, false, array('ID', 'COMMUNICATIONS') ); if ( ($parentActivity = $res->fetch()) && Main\Loader::includeModule('blog') && ($comment = CBlogComment::getByID($blogCommentId)) ) { \Bitrix\Crm\Activity\Provider\Livefeed::addActivity(array( "TYPE" => (!empty($arAuthor["EXTERNAL_AUTH_ID"]) && $arAuthor["EXTERNAL_AUTH_ID"] === 'email' ? 'BLOG_COMMENT_IN' : 'BLOG_COMMENT_OUT'), "COMMUNICATIONS" => $parentActivity['COMMUNICATIONS'], "BINDINGS" => \CCrmActivity::getBindings($parentActivity['ID']), "MESSAGE" => $comment['POST_TEXT'], "USER_ID" => $comment['AUTHOR_ID'], "RESPONSIBLE_USER_ID" => $log['USER_ID'], "ENTITY_ID" => $comment["ID"], "PARENT_ID" => $parentActivity['ID'] )); CCrmLiveFeed::CounterIncrement(array( "USER_ID" => $comment['USER_ID'], "ENTITY_TYPE" => $log['ENTITY_TYPE'], "ENTITY_ID" => $log['ENTITY_ID'], "LOG_ID" => $log['ID'], "EVENT_ID" => $log['EVENT_ID'] )); } } } return true; }