if ($arResult['TASK']['DEADLINE']) { echo CAllDatabase::FormatDate($arResult['TASK']['DEADLINE'], FORMAT_DATETIME, 'YYYY-MM-DD HH:MI:SS'); } else { echo date('Y') . '-' . date('m') . '-' . date('d') . ' ' . date('H') . ':' . date('i') . ':00'; } ?> ', format: 'y-M-d H:m:s', type: 'datetime', callback: function(res) { BX('DEADLINE').innerHTML = res; } });"><?php if ($arResult['TASK']['DEADLINE']) { echo CAllDatabase::FormatDate($arResult['TASK']['DEADLINE'], FORMAT_DATETIME, 'YYYY-MM-DD HH:MI:SS'); } else { echo GetMessage('MB_TASKS_TASK_EDIT_BTN_SELECT'); } ?> </span> </span> </div> <div class="task-form-row"> <span class="task-form-row-left"><?php echo GetMessage('MB_TASKS_TASK_EDIT_PRIORITY'); ?> </span><span class="task-form-row-right"> <select id="PRIORITY" name="PRIORITY"> <?php $arPriorities = array(CTasks::PRIORITY_LOW => GetMessage('MB_TASKS_TASK_EDIT_PRIORITY_LOW'), CTasks::PRIORITY_AVERAGE => GetMessage('MB_TASKS_TASK_EDIT_PRIORITY_AVERAGE'), CTasks::PRIORITY_HIGH => GetMessage('MB_TASKS_TASK_EDIT_PRIORITY_HIGH'));
public static function SaveTask($tasksData) { $rc = false; if (!$GLOBALS['USER']->IsAuthorized()) { return false; } $delegateToUser = false; if (isset($tasksData['META::DELEGATE_TO_USER'])) { $delegateToUser = (int) $tasksData['META::DELEGATE_TO_USER']; } $bDelegate = false; if ($delegateToUser > 0) { $bDelegate = true; } $curUserId = (int) $GLOBALS['USER']->GetID(); if (!CModule::IncludeModule('socialnetwork')) { return false; } $arNewTaskFields = false; $bErrorOccuredOnTaskCreation = false; if (isset($tasksData['TASK_ID']) && check_bitrix_sessid()) { $bCreateMode = true; if ($tasksData['TASK_ID'] > 0) { $bCreateMode = false; } // We are in edit mode if ($bCreateMode && $bDelegate) { throw new Exception('$bCreateMode && $bDelegate'); } if (!$bCreateMode && $bDelegate) { $arNewTaskFields = array(); if (intval($delegateToUser) !== $curUserId) { $arNewTaskFields['RESPONSIBLE_ID'] = $delegateToUser; $arNewTaskFields['STATUS'] = CTasks::STATE_PENDING; $rsTask = CTasks::GetByID($tasksData['TASK_ID']); $arTask = $rsTask->Fetch(); if (!$arTask || !isset($arTask['ID'])) { return false; } if (sizeof($arTask['AUDITORS'] > 0)) { if (!in_array($curUserId, $arTask['AUDITORS'])) { $arNewTaskFields['AUDITORS'] = $arTask['AUDITORS']; $arNewTaskFields['AUDITORS'][] = $curUserId; } } else { $arNewTaskFields['AUDITORS'] = array($curUserId); } } else { return false; } } else { $arNewTaskFields = array('TITLE' => $tasksData['TITLE'], 'DESCRIPTION' => $tasksData['DESCRIPTION'], 'RESPONSIBLE_ID' => $tasksData['RESPONSIBLE_ID'], 'PRIORITY' => $tasksData['PRIORITY'], 'DEADLINE' => CAllDatabase::FormatDate(str_replace('T', ' ', $tasksData['DEADLINE']), 'YYYY-MM-DD HH:MI:SS', FORMAT_DATETIME)); if (isset($tasksData['ACCOMPLICES'])) { if ($tasksData['ACCOMPLICES'] == -1) { $arNewTaskFields['ACCOMPLICES'] = array(); } else { $arNewTaskFields['ACCOMPLICES'] = $tasksData['ACCOMPLICES']; } } if (isset($tasksData['AUDITORS'])) { if ($tasksData['AUDITORS'] == -1) { $arNewTaskFields['AUDITORS'] = array(); } else { $arNewTaskFields['AUDITORS'] = $tasksData['AUDITORS']; } } $arNewTaskFields['GROUP_ID'] = 0; if (isset($tasksData['GROUP_ID']) && intval($tasksData['GROUP_ID']) > 0) { if (CSocNetFeaturesPerms::CurrentUserCanPerformOperation(SONET_ENTITY_GROUP, (int) $tasksData['GROUP_ID'], 'tasks', 'create_tasks')) { $arNewTaskFields['GROUP_ID'] = (int) $tasksData['GROUP_ID']; } else { unset($arNewTaskFields['GROUP_ID']); } } if ($bCreateMode) { $arNewTaskFields['CREATED_BY'] = $curUserId; } } if (isset($tasksData['META::EVENT_GUID'])) { $arNewTaskFields['META::EVENT_GUID'] = $tasksData['META::EVENT_GUID']; } if ($bCreateMode) { $arNewTaskFields['ID'] = 0; } else { $arNewTaskFields['ID'] = (int) $tasksData['TASK_ID']; } $oTask = new CTasks(); if (!$bCreateMode) { $rc = $oTask->Update($arNewTaskFields['ID'], $arNewTaskFields); } else { $arNewTaskFields['MULTITASK'] = 'N'; $arNewTaskFields['DESCRIPTION_IN_BBCODE'] = 'Y'; // Only creator or priveleged user can set responsible person. $arNewTaskFields['RESPONSIBLE_ID'] = $curUserId; if ($arNewTaskFields['CREATED_BY'] === $curUserId || $GLOBALS['USER']->IsAdmin() || CTasksTools::IsPortalB24Admin()) { $arNewTaskFields['RESPONSIBLE_ID'] = (int) $tasksData['RESPONSIBLE_ID']; } $arNewTaskFields['SITE_ID'] = SITE_ID; $rc = $oTask->Add($arNewTaskFields); if ($rc > 0) { $arNewTaskFields['ID'] = $rc; } else { $bErrorOccuredOnTaskCreation = true; } } $rc = $arNewTaskFields['ID']; } if ($bErrorOccuredOnTaskCreation) { return false; } return $rc; }
} $rsUser = CUser::GetByID($arParams['USER_ID']); if (!(is_object($rsUser) && ($arUser = $rsUser->GetNext()))) { return false; } $arResult['USER'] = $arUser; unset($rsUser, $arUser); $arNewTaskFields = false; $bErrorOccuredOnTaskCreation = false; if (isset($_POST['TASK_ID']) && check_bitrix_sessid()) { $bCreateMode = true; if ($_POST['TASK_ID'] > 0) { $bCreateMode = false; } // We are in edit mode $arNewTaskFields = array('TITLE' => $_POST['TITLE'], 'DESCRIPTION' => $_POST['DESCRIPTION'], 'RESPONSIBLE_ID' => $_POST['RESPONSIBLE_ID'], 'PRIORITY' => $_POST['PRIORITY'], 'DEADLINE' => CAllDatabase::FormatDate(str_replace('T', ' ', $_POST['DEADLINE']), 'YYYY-MM-DD HH:MI:SS', FORMAT_DATETIME)); if ($bCreateMode) { $arNewTaskFields['ID'] = 0; } else { $arNewTaskFields['ID'] = (int) $_POST['TASK_ID']; } $arNewTaskFields['GROUP_ID'] = 0; if (isset($_POST['GROUP_ID']) && intval($_POST['GROUP_ID']) > 0) { if (CSocNetFeaturesPerms::CurrentUserCanPerformOperation(SONET_ENTITY_GROUP, (int) $_POST['GROUP_ID'], 'tasks', 'create_tasks')) { $arNewTaskFields['GROUP_ID'] = (int) $_POST['GROUP_ID']; } else { unset($arNewTaskFields['GROUP_ID']); } } $oTask = new CTasks(); if (!$bCreateMode) {