if ($_REQUEST['add_comment']) { $_REQUEST['commment'] = strip_tags($_REQUEST['commment']); if (!$_REQUEST['comment']) { ToolTip::AddError('Не введён комментарий'); } else { foreach ($_FILES['attach'] as $code => $values) { foreach ($values as $key => $value) { if ($_FILES['attach']["tmp_name"][$key]) { $arFiles[$key][$code] = $value; } } } $el = new CIBlockElement(); if ($commentId = $el->Add(array("MODIFIED_BY" => $USER->GetID(), "IBLOCK_SECTION_ID" => false, "IBLOCK_ID" => COMMENTS_IBLOCK_ID, "DATE_ACTIVE_FROM" => ConvertTimeStamp(false, 'FULL'), "PROPERTY_VALUES" => array('TASK' => $arParams['ID'], 'FILES' => $arFiles), "NAME" => TruncateText(strip_tags($_REQUEST['comment']), 100), "ACTIVE" => "Y", "PREVIEW_TEXT" => TruncateText($_REQUEST['comment'], COMMENT_MAX_LENGHT)))) { crmEntitiesHelper::recalcCommentsCnt($arParams['ID']); $logger->add(array($arResult['TASK']['PROPS']['CUSTOMER']['VALUE'], $arResult['TASK']['PROPS']['PROGRAMMER']['VALUE']), $arParams['ID'], 'comment', $_REQUEST['comment']); crmEntitiesHelper::RecalcLastCommentDateTime($arParams['ID']); LocalRedirect(TASKS_LIST_URL . $arParams['PROJECT'] . '/' . $arParams['ID'] . '/#comment' . $commentId); } else { ToolTip::AddError($el->LAST_ERROR); } } } $created_by = array($arResult['TASK']['CREATED_BY']); $res = CIBlockElement::GetList(array("DATE_ACTIVE_FROM" => "ASC"), array("PROPERTY_TASK" => $arParams['ID'], "IBLOCK_ID" => COMMENTS_IBLOCK_ID, "ACTIVE" => "Y"), false, false, array('DATE_ACTIVE_FROM', 'PREVIEW_TEXT', 'CREATED_BY', 'ID', 'IBLOCK_ID', 'DATE_CREATE', 'PROPERTY_STATUS', 'PROPERTY_CALC')); while ($obComment = $res->GetNextElement()) { $ar_fields = $obComment->GetFields(); $created_by[] = $ar_fields['CREATED_BY']; $ar_fields['STATUS'] = $ar_fields["PROPERTY_STATUS_ENUM_ID"]; $arComments[$ar_fields['ID']] = $ar_fields['STATUS']; $files = $obComment->GetProperty('FILES');
$description = trim($_REQUEST['description']); foreach ($_FILES['attach'] as $code => $values) { foreach ($values as $key => $value) { if ($_FILES['attach']["tmp_name"][$key]) { $arFiles[$key][$code] = $value; } } } $priority = validatePriority($_REQUEST['priority']); $programmer = $_REQUEST['PROGRAMMER']; $customer = $_REQUEST['CUSTOMER'] ? $_REQUEST['CUSTOMER'] : CUser::GetID(); $arProjectArray = array("PROPERTY_VALUES" => array('PROGRAMMER' => $programmer, 'PROJECT' => $arParams["PROJECT"], 'FILES' => $arFiles, 'PRIORITY' => $priority, 'CUSTOMER' => $customer), "MODIFIED_BY" => $USER->GetID(), "IBLOCK_SECTION_ID" => false, "IBLOCK_ID" => TASKS_IBLOCK_ID, "NAME" => $name, "DETAIL_TEXT" => $description); if ($newTaskId = $el->Add($arProjectArray)) { ToolTip::Add('Задача "' . $name . '" добавлена'); $logger = new CrmLog('task'); $logger->add(array($programmer, $customer), $newTaskId, 'add', $description); LocalRedirect(TASKS_LIST_URL . $arParams["PROJECT"] . '/'); } else { $arResult['ERROR'] = $el->LAST_ERROR; } } $arSelect = array("ID", "IBLOCK_ID", "NAME", "DETAIL_PAGE_URL", "PROPERTY_*"); $arFilter = array("IBLOCK_ID" => PROJECTS_IBLOCK_ID, 'ID' => $arParams["PROJECT"]); $userFilter = $USER->GetViewProjectsFilter(); $arFilter = array_merge($userFilter, $arFilter); $res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect); if ($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); $arProps = $ob->GetProperties(); if ($arProps['PROGRAMMER']['VALUE']) { $arResult['PROJECT_USERS'] = $arProps['PROGRAMMER']['VALUE'];