- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskcomments.php
- Класс: CTaskComments
- Вызов: CTaskComments::Remove
static function Remove($taskId, $commentId, $userId, $arParams)
{
global $DB;
if (self::CanRemoveComment($taskId, $commentId, $userId, $arParams) !== true)
throw new TasksException('', TasksException::TE_ACCESS_DENIED);
$strErrorMessage = $strOKMessage = '';
$result = ForumDeleteMessage($commentId, $strErrorMessage, $strOKMessage, array('PERMISSION' => 'Y'));
if($result)
{
if (CModule::IncludeModule("socialnetwork"))
{
try
{
$oTask = CTaskItem::getInstance($taskId, CTasksTools::GetCommanderInChief());
$arTask = $oTask->getData();
}
catch (TasksException $e)
{
throw new TasksException('', TasksException::TE_ACTION_FAILED_TO_BE_PROCESSED);
}
$bCrmTask = (
isset($arTask["UF_CRM_TASK"])
&& (
(
is_array($arTask["UF_CRM_TASK"])
&& (
isset($arTask["UF_CRM_TASK"][0])
&& $arTask["UF_CRM_TASK"][0] <> ''
)
)
||
(
!is_array($arTask["UF_CRM_TASK"])
&& $arTask["UF_CRM_TASK"] <> ''
)
)
);
$dbRes = CSocNetLogComments::GetList(
array(),
array(
'EVENT_ID' => ($bCrmTask ? array('crm_activity_add_comment') : array('tasks_comment')),
'SOURCE_ID' => $commentId
),
false,
false,
array('ID')
);
if ($arRes = $dbRes->Fetch())
{
CSocNetLogComments::Delete($arRes['ID']);
}
}
$occurAsUserId = CTasksTools::getOccurAsUserId();
if ( ! $occurAsUserId )
$occurAsUserId = ($userId ? $userId : 1);
// Tasks log
$arLogFields = array(
'TASK_ID' => $taskId,
'USER_ID' => $occurAsUserId,
'~CREATED_DATE' => $DB->CurrentTimeFunction(),
'FIELD' => 'COMMENT_REMOVE'
);
$log = new CTaskLog();
$log->Add($arLogFields);
}
return $result;
}