コード例 #1
0
ファイル: ajax.php プロジェクト: mrdeadmouse/u136006
    $ownerTypeID = CCrmOwnerType::ResolveID(isset($_POST['OWNER_TYPE']) ? strtoupper(strval($_POST['OWNER_TYPE'])) : '');
    $ownerID = isset($_POST['OWNER_ID']) ? intval($_POST['OWNER_ID']) : 0;
    if (!CCrmOwnerType::IsDefined($ownerTypeID) || $ownerID > 0) {
        $ownerTypeID = isset($arActivity['OWNER_TYPE_ID']) ? intval($arActivity['OWNER_TYPE_ID']) : CCrmOwnerType::Undefined;
        $ownerID = isset($arActivity['OWNER_ID']) ? intval($arActivity['OWNER_ID']) : 0;
    }
    if (!CCrmOwnerType::IsDefined($ownerTypeID)) {
        echo CUtil::PhpToJSObject(array('ERROR' => 'OWNER TYPE IS NOT DEFINED!'));
        die;
    }
    if ($ownerID <= 0) {
        echo CUtil::PhpToJSObject(array('ERROR' => 'OWNER TYPE IS NOT DEFINED!'));
        die;
    }
    $userPermissions = CCrmPerms::GetCurrentUserPermissions();
    if (!CCrmActivity::CheckCompletePermission($ownerTypeID, $ownerID, $userPermissions, array('FIELDS' => $arActivity))) {
        echo CUtil::PhpToJSObject(array('ERROR' => GetMessage('CRM_PERMISSION_DENIED')));
        die;
    }
    $completed = (isset($_POST['COMPLETED']) ? intval($_POST['COMPLETED']) : 0) > 0;
    if (CCrmActivity::Complete($ID, $completed, array('REGISTER_SONET_EVENT' => true))) {
        echo CUtil::PhpToJsObject(array('ITEM_ID' => $ID, 'COMPLETED' => $completed));
    } else {
        $errorMsg = CCrmActivity::GetLastErrorMessage();
        if (!isset($errorMsg[0])) {
            $errorMsg = "Could not complete activity ('{$ID}')!";
        }
        echo CUtil::PhpToJsObject(array('ERROR' => $errorMsg));
    }
} elseif ($action == 'SET_PRIORITY') {
    $ID = isset($_POST['ITEM_ID']) ? intval($_POST['ITEM_ID']) : 0;
コード例 #2
0
ファイル: component.php プロジェクト: mrdeadmouse/u136006
// Ignore select: we need all fields for editor
$dbRes = CCrmActivity::GetList($arSort, $arFilter, false, $arNavParams, array(), array());
$arResult['ITEMS'] = array();
$bbCodeParser = new CTextParser();
$responsibleIDs = array();
$items = array();
while ($arRes = $dbRes->GetNext()) {
    $itemID = intval($arRes['~ID']);
    $ownerID = intval($arRes['~OWNER_ID']);
    $ownerTypeID = intval($arRes['~OWNER_TYPE_ID']);
    if ($arResult['READ_ONLY']) {
        $arRes['CAN_EDIT'] = $arRes['CAN_COMPLETE'] = $arRes['CAN_DELETE'] = false;
    } else {
        if ($ownerID > 0 && $ownerTypeID > 0) {
            $arRes['CAN_EDIT'] = CCrmActivity::CheckUpdatePermission($ownerTypeID, $ownerID, $currentUserPermissions);
            $arRes['CAN_COMPLETE'] = (int) $arRes['~TYPE_ID'] !== CCrmActivityType::Task ? $arRes['CAN_EDIT'] : CCrmActivity::CheckCompletePermission($ownerTypeID, $ownerID, $currentUserPermissions, array('FIELDS' => $arRes));
            $arRes['CAN_DELETE'] = CCrmActivity::CheckDeletePermission($ownerTypeID, $ownerID, $currentUserPermissions);
        } else {
            $arRes['CAN_EDIT'] = $arRes['CAN_COMPLETE'] = $arRes['CAN_DELETE'] = true;
        }
    }
    $responsibleID = isset($arRes['~RESPONSIBLE_ID']) ? intval($arRes['~RESPONSIBLE_ID']) : 0;
    $arRes['~RESPONSIBLE_ID'] = $responsibleID;
    if ($responsibleID <= 0) {
        $arRes['RESPONSIBLE'] = false;
        $arRes['RESPONSIBLE_FULL_NAME'] = '';
        $arRes['PATH_TO_RESPONSIBLE'] = '';
    } elseif (!in_array($responsibleID, $responsibleIDs, true)) {
        $responsibleIDs[] = $responsibleID;
    }
    $storageTypeID = isset($arRes['STORAGE_TYPE_ID']) ? intval($arRes['STORAGE_TYPE_ID']) : CCrmActivityStorageType::Undefined;