コード例 #1
0
ファイル: restservice.php プロジェクト: mrdeadmouse/u136006
 protected function innerUpdate($ID, &$fields, &$errors, array $params = null)
 {
     if (!CCrmStatus::CheckUpdatePermission($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->Update($ID, $fields);
     if ($result === false) {
         $errors[] = $entity->GetLastError();
     }
     return $result !== false;
 }
コード例 #2
0
ファイル: component.php プロジェクト: mrdeadmouse/u136006
            $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);
                    }
                }
            }
        }
    }
    $arResult['ACTIVE_TAB'] = $_POST['ACTIVE_TAB'];
}
$ar = CCrmStatus::GetEntityTypes();
コード例 #3
0
ファイル: ajax.php プロジェクト: mrdeadmouse/u136006
$action = isset($_REQUEST['ACTION']) ? $_REQUEST['ACTION'] : '';
if ($action === 'FIX_STATUSES') {
    if (COption::GetOptionString('crm', '~CRM_FIX_STATUSES', 'N') !== 'Y') {
        __CrmConfigStatusEndResonse(array('COMPLETED' => 'Y'));
    }
    $dbRes = $DB->Query("SELECT ENTITY_ID, STATUS_ID FROM b_crm_status WHERE SYSTEM = 'N' GROUP BY ENTITY_ID, STATUS_ID HAVING COUNT(*) > 1", false, 'FILE: ' . __FILE__ . '<br /> LINE: ' . __LINE__);
    $items = array();
    while ($arRes = $dbRes->Fetch()) {
        $items[] = $arRes;
    }
    foreach ($items as $item) {
        $entityID = isset($item['ENTITY_ID']) ? $item['ENTITY_ID'] : '';
        $statusID = isset($item['STATUS_ID']) ? (int) $item['STATUS_ID'] : 0;
        if ($entityID === '' || $statusID <= 0) {
            continue;
        }
        $dbRes = $DB->Query("SELECT ID, SORT, NAME, SYSTEM FROM b_crm_status WHERE ENTITY_ID = '{$entityID}' AND STATUS_ID = '{$statusID}'", false, 'FILE: ' . __FILE__ . '<br /> LINE: ' . __LINE__);
        $entity = new CCrmStatus($entityID);
        $isFirst = true;
        while ($arRes = $dbRes->Fetch()) {
            if ($isFirst) {
                $isFirst = false;
                continue;
            }
            $itemID = (int) $arRes['ID'];
            $error = $entity->Update($itemID, array('STATUS_ID' => $entity->GetNextStatusId(), 'SORT' => isset($arRes['SORT']) ? (int) $arRes['SORT'] : 10, 'SYSTEM' => isset($arRes['SYSTEM']) ? $arRes['SYSTEM'] : 'N', 'NAME' => isset($arRes['NAME']) ? $arRes['NAME'] : ''), array('ENABLE_STATUS_ID' => true));
        }
    }
    COption::RemoveOption('crm', '~CRM_FIX_STATUSES');
    __CrmConfigStatusEndResonse(array('COMPLETED' => 'Y'));
}