...Человеческий поиск в разработке...
- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/lib/comments/comment.php
- Класс: Bitrix\Forum\Comments\Comment
- Вызов: Comment::add
public function add(array $params) { $aux = (isset($params['AUX']) && $params['AUX'] === "Y"); $auxData = ($params['AUX_DATA'] ?? ''); $params = array( "SOURCE_ID" => $params["SOURCE_ID"] ?? 0, "POST_DATE" => array_key_exists("POST_DATE", $params) ? $params["POST_DATE"] : new \Bitrix\Main\Type\DateTime(), "POST_MESSAGE" => trim($params["POST_MESSAGE"]), "FILES" => $params["FILES"] ?? null, "USE_SMILES" => $params["USE_SMILES"], "AUTHOR_ID" => $this->getUser()->getId(), "AUTHOR_NAME" => trim($params["AUTHOR_NAME"] ?? ''), "AUTHOR_EMAIL" => trim($params["AUTHOR_EMAIL"] ?? ''), "AUTHOR_IP" => $params["AUTHOR_IP"] ?? "", "AUTHOR_REAL_IP" => $params["AUTHOR_REAL_IP"] ?? " ", "GUEST_ID" => $params["GUEST_ID"] ?? null, "AUX" => $params["AUX"] ?? null, "AUX_DATA" => $auxData, "SERVICE_TYPE" => ($params["SERVICE_TYPE"] ?? null), "SERVICE_DATA" => ($params["SERVICE_DATA"] ?? null), "UF_TASK_COMMENT_TYPE" => ($params["UF_TASK_COMMENT_TYPE"] ?? null), "UF_FORUM_MES_URL_PRV" => ($params["UF_FORUM_MES_URL_PRV"] ?? null), ); if ($this->prepareFields($params, $this->errorCollection)) { /***************** Events OnBeforeCommentAdd ******************/ $event = new Event("forum", "OnBeforeCommentAdd", [ $this->getEntity()->getType(), $this->getEntity()->getId(), $params ]); $event->send($this); if($event->getResults()) { foreach($event->getResults() as $eventResult) { if($eventResult->getType() != EventResult::SUCCESS) { $run = false; break; } } } /***************** /Events *****************************************/ $topic = \Bitrix\Forum\Topic::getById($params["TOPIC_ID"]); $result = \Bitrix\Forum\Message::create($topic, $params); if ($result->isSuccess()) { $mid = $result->getId(); if (!$aux) { $this->updateStatisticModule($mid); \CForumMessage::sendMailMessage($mid, array(), false, "NEW_FORUM_MESSAGE"); } $this->setComment($mid); if ( !$aux // create task from livefeed || $auxData <> '' // tasks commentposter, add to livefeed ) { $event = new Event("forum", "OnAfterCommentAdd", array( $this->getEntity()->getType(), $this->getEntity()->getId(), array( "TOPIC_ID" => $this->topic["ID"], "MESSAGE_ID" => $mid, "PARAMS" => $params, "MESSAGE" => $this->getComment(), "AUX_DATA" => $auxData )) ); $event->send(); } return $this->getComment(); } $this->errorCollection->addFromResult($result); } return false; }