if ($arField['SORT'] <= $iPrevSort) { $arField['SORT'] = $iPrevSort + 10; } $iPrevSort = $arField['SORT']; if (substr($id, 0, 1) == 'n') { if (trim($arField['VALUE']) == "") { continue; } $arAdd['NAME'] = trim($arField['VALUE']); $arAdd['SORT'] = $arField['SORT']; $CCrmStatus->Add($arAdd); } else { if (!isset($arField['VALUE']) || trim($arField['VALUE']) == "") { $arCurrentData = $CCrmStatus->GetStatusById($id); if ($arCurrentData['SYSTEM'] == 'N') { $CCrmStatus->Delete($id); } else { $arUpdate['NAME'] = trim($arCurrentData['NAME_INIT']); $CCrmStatus->Update($id, $arUpdate); } } else { $arCurrentData = $CCrmStatus->GetStatusById($id); if (trim($arField['VALUE']) != $arCurrentData['NAME'] || intval($arField['SORT']) != $arCurrentData['SORT']) { $arUpdate['NAME'] = trim($arField['VALUE']); $arUpdate['SORT'] = $arField['SORT']; $CCrmStatus->Update($id, $arUpdate); } } } } }
protected function innerDelete($ID, &$errors) { if (!CCrmStatus::CheckDeletePermission($ID)) { $errors[] = 'Access denied.'; return false; } $dbResult = CCrmStatus::GetList(array(), array('ID' => $ID)); $currentFields = $dbResult ? $dbResult->Fetch() : null; if (!is_array($currentFields)) { $errors[] = 'CRM Status is not found.'; return false; } $entity = new CCrmStatus($currentFields['ENTITY_ID']); $result = $entity->Delete($ID); if ($result === false) { $errors[] = $entity->GetLastError(); } return $result !== false; }