Beispiel #1
0
                        }
                        if (empty($comms) && $companyID > 0 && CCrmActivity::CheckUpdatePermission(CCrmOwnerType::Company, $companyID, $userPerms)) {
                            $commValue = CCrmActivity::GetDefaultCommunicationValue(CCrmOwnerType::Company, $companyID, $commType);
                            if ($commValue !== '') {
                                $comms[] = array('TYPE' => $commType, 'VALUE' => $commValue, 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'ENTITY_SETTINGS' => array('COMPANY_TITLE' => isset($deal['COMPANY_TITLE']) ? $deal['COMPANY_TITLE'] : ''));
                            }
                        }
                    }
                }
                $arFields['COMMUNICATIONS'] =& $comms;
                unset($comms);
            }
        }
    }
}
CCrmMobileHelper::PrepareActivityItem($arFields, $arParams, array('ENABLE_COMMUNICATIONS' => true, 'ENABLE_FILES' => true));
//Trim seconds
$arFields['START_TIME'] = CCrmComponentHelper::TrimDateTimeString(FormatDate('FULL', $arFields['START_TIME_STAMP']));
$arFields['END_TIME'] = CCrmComponentHelper::TrimDateTimeString(FormatDate('FULL', $arFields['END_TIME_STAMP']));
$arResult['ENTITY'] = $arFields;
unset($arFields);
if ($typeID === CCrmActivityType::Call || $typeID === CCrmActivityType::Meeting) {
    $arResult['NOTIFY_TYPES'] = CCrmActivityNotifyType::PrepareListItems();
} elseif ($typeID === CCrmActivityType::Email) {
    $arResult['CRM_EMAIL'] = CCrmMailHelper::ExtractEmail(COption::GetOptionString('crm', 'mail', ''));
    $lastEmailAddresser = CUserOptions::GetOption('crm', 'activity_email_addresser', '');
    if ($lastEmailAddresser === '') {
        $arResult['USER_LAST_USED_NAME'] = '';
        $arResult['USER_LAST_USED_EMAIL'] = '';
    } else {
        $info = CCrmMailHelper::ParseEmail($lastEmailAddresser);
Beispiel #2
0
} else {
    $arResult['MODE'] = 'UPDATE';
    $dbFields = CCrmLead::GetListEx(array(), array('ID' => $entityID));
    $arFields = $dbFields->GetNext();
    if (!$arFields) {
        ShowError(GetMessage('CRM_LEAD_EDIT_NOT_FOUND', array('#ID#' => $arParams['ENTITY_ID'])));
        return;
    }
    $arFields['FM'] = array();
    $dbMultiFields = CCrmFieldMulti::GetList(array('ID' => 'asc'), array('ENTITY_ID' => 'LEAD', 'ELEMENT_ID' => $entityID));
    if ($dbMultiFields) {
        while ($arMultiField = $dbMultiFields->Fetch()) {
            $arFields['FM'][$arMultiField['TYPE_ID']][$arMultiField['ID']] = array('VALUE' => $arMultiField['VALUE'], 'VALUE_TYPE' => $arMultiField['VALUE_TYPE']);
        }
    }
    CCrmMobileHelper::PrepareLeadItem($arFields, $arParams, array('STATUS_LIST' => $arResult['STATUS_LIST'], 'SOURCE_LIST' => $arResult['SOURCE_LIST']));
}
$currencyID = $arFields['~CURRENCY_ID'];
$arResult['ENTITY'] = $arFields;
unset($arFields);
$arResult['PRODUCT_ROWS'] = $entityID > 0 ? CCrmProductRow::LoadRows('L', $entityID) : array();
foreach ($arResult['PRODUCT_ROWS'] as &$productRow) {
    $price = isset($productRow['PRICE']) ? doubleval($productRow['PRICE']) : 0.0;
    $qty = isset($productRow['QUANTITY']) ? doubleval($productRow['QUANTITY']) : 0;
    $sum = $productRow['SUM'] = $price * $qty;
    $productRow['FORMATTED_PRICE'] = CCrmCurrency::MoneyToString($price, $currencyID);
    $productRow['FORMATTED_SUM'] = CCrmCurrency::MoneyToString($sum, $currencyID);
    $productRow['CURRENCY_ID'] = $currencyID;
}
unset($productRow);
$sid = bitrix_sessid();
Beispiel #3
0
    $stageID = isset($data['STAGE_ID']) ? $data['STAGE_ID'] : '';
    if ($stageID === '') {
        __CrmMobileDealEditEndResonse(array('ERROR' => GetMessage('CRM_DEAL_STAGE_NOT_FOUND')));
    }
    //$DB->StartTransaction();
    $fields = array('STAGE_ID' => $stageID);
    $entity = new CCrmDeal(false);
    $successed = $entity->Update($ID, $fields, true, true, array());
    if ($successed) {
        //$DB->Commit();
        $errors = array();
        CCrmBizProcHelper::AutoStartWorkflows(CCrmOwnerType::Deal, $ID, CCrmBizProcEventType::Edit, $errors);
        $dbRes = CCrmDeal::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N'));
        $currentItem = $dbRes->GetNext();
        $formatParams = isset($_REQUEST['FORMAT_PARAMS']) ? $_REQUEST['FORMAT_PARAMS'] : array();
        CCrmMobileHelper::PrepareDealItem($currentItem, $formatParams);
        __CrmMobileDealEditEndResonse(array('SAVED_ENTITY_ID' => $ID, 'SAVED_ENTITY_DATA' => CCrmMobileHelper::PrepareDealData($currentItem)));
    } else {
        //$DB->Rollback();
        __CrmMobileDealEditEndResonse(array('ERROR' => $fields['RESULT_MESSAGE']));
    }
} elseif ($action === 'CONVERT_MONEY') {
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    $srcCurrencyID = isset($_REQUEST['SRC_CURRENCY_ID']) ? $_REQUEST['SRC_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
    $dstCurrencyID = isset($_REQUEST['DST_CURRENCY_ID']) ? $_REQUEST['DST_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
    $srcSum = isset($_REQUEST['SUM']) ? doubleval($_REQUEST['SUM']) : 0.0;
    $dstSum = CCrmCurrency::ConvertMoney($srcSum, $srcCurrencyID, $dstCurrencyID);
    __CrmMobileDealEditEndResonse(array('SUM' => $dstSum, 'CURRENCY_ID' => $dstCurrencyID, 'CURRENCY_NAME' => CCrmCurrency::GetCurrencyName($dstCurrencyID), 'FORMATTED_SUM' => CCrmCurrency::MoneyToString($dstSum, $dstCurrencyID)));
} else {
    __CrmMobileDealEditEndResonse(array('ERROR' => 'Action is not supported in current context.'));
}
Beispiel #4
0
$arResult['ITEMS'] = array();
$dbRes = CCrmActivity::GetList($sort, $filter, false, $navParams, $select);
$dbRes->NavStart($navParams['nPageSize'], false);
$arResult['PAGE_NAVNUM'] = intval($dbRes->NavNum);
// pager index
$arResult['PAGE_NUMBER'] = intval($dbRes->NavPageNomer);
// current page index
$arResult['PAGE_NAVCOUNT'] = intval($dbRes->NavPageCount);
// page count
$arResult['PAGER_PARAM'] = "PAGEN_{$arResult['PAGE_NAVNUM']}";
$arResult['PAGE_NEXT_NUMBER'] = $arResult['PAGE_NUMBER'] + 1;
while ($item = $dbRes->Fetch()) {
    $itemID = intval($item['ID']);
    $ownerID = intval($item['OWNER_ID']);
    $ownerTypeID = intval($item['OWNER_TYPE_ID']);
    CCrmMobileHelper::PrepareActivityItem($item, $arParams, array('ENABLE_COMMUNICATIONS' => false));
    $arResult['ITEMS'][] =& $item;
    unset($item);
}
if ($arResult['PAGE_NEXT_NUMBER'] > $arResult['PAGE_NAVCOUNT']) {
    $arResult['NEXT_PAGE_URL'] = '';
} else {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', $arResult['PAGER_PARAM']));
}
$arResult['SEARCH_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&SEARCH=Y&FORMAT=json&apply_filter=Y&save=Y', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
$arResult['SERVICE_URL'] = SITE_DIR . 'bitrix/components/bitrix/mobile.crm.activity.list/ajax.php?siteID=' . SITE_ID . '&' . bitrix_sessid_get();
$arResult['IS_FILTERED'] = !empty($filter);
$arResult['CREATE_CALL_URL'] = $arParams['ACTIVITY_CREATE_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_CREATE_URL_TEMPLATE'], array('owner_type' => $entityTypeName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Call)) : '';
$arResult['CREATE_MEETING_URL'] = $arParams['ACTIVITY_CREATE_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_CREATE_URL_TEMPLATE'], array('owner_type' => $entityTypeName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Meeting)) : '';
$arResult['CREATE_EMAIL_URL'] = $arParams['ACTIVITY_CREATE_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_CREATE_URL_TEMPLATE'], array('owner_type' => $entityTypeName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Email)) : '';
$arResult['RELOAD_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&FORMAT=json', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
Beispiel #5
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
global $APPLICATION;
$APPLICATION->AddHeadString('<script type="text/javascript" src="' . CUtil::GetAdditionalFileURL(SITE_TEMPLATE_PATH . '/crm_mobile.js') . '"></script>', true, \Bitrix\Main\Page\AssetLocation::AFTER_JS_KERNEL);
$APPLICATION->SetPageProperty('BodyClass', 'crm-page');
CUtil::InitJSCore(array('ajax', 'date'));
$UID = $arResult['UID'];
$mode = $arResult['MODE'];
$entityID = $arResult['ENTITY_ID'];
$isNew = $entityID <= 0;
$entity = $arResult['ENTITY'];
$dataItem = CCrmMobileHelper::PrepareActivityData($entity);
$communications = isset($dataItem['COMMUNICATIONS']) ? $dataItem['COMMUNICATIONS'] : array();
$prefix = htmlspecialcharsbx($UID);
$title = $isNew ? GetMessage('M_CRM_ACTIVITY_EDIT_NEW_MEETING') : (isset($entity['SUBJECT']) ? $entity['SUBJECT'] : '');
$enableNotification = $entity['NOTIFY_TYPE'] !== CCrmActivityNotifyType::None;
$ownerID = $arResult['OWNER_ID'];
$ownerTypeID = $arResult['OWNER_TYPE_ID'];
$ownerTypeName = $arResult['OWNER_TYPE_NAME'];
$ownerTitle = $arResult['OWNER_TITLE'];
$canChangeOwner = $arResult['CAN_CHANGE_OWNER'];
?>
<div class="crm_toppanel">
	<div class="crm_filter"><span class="crm_peopele_icon"></span><?php 
echo htmlspecialcharsbx($title);
?>
</div>
</div>
Beispiel #6
0
<?php

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) {
    die;
}
define('NO_KEEP_STATISTIC', 'Y');
define('NO_AGENT_STATISTIC', 'Y');
define('NO_AGENT_CHECK', true);
define('DisableEventsCheck', true);
$GLOBALS['APPLICATION']->RestartBuffer();
Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
$models = array();
foreach ($arResult['ITEMS'] as &$item) {
    $models[] = CCrmMobileHelper::PrepareCompanyData($item);
}
unset($item);
echo CUtil::PhpToJSObject(array('DATA' => array('MODELS' => $models, 'NEXT_PAGE_URL' => $arResult['NEXT_PAGE_URL'], 'GRID_FILTER_ID' => $arResult['GRID_FILTER_ID'], 'GRID_FILTER_NAME' => $arResult['GRID_FILTER_NAME'])));
die;
Beispiel #7
0
        die;
    }
}
if (CModule::IncludeModule('compression')) {
    CCompress::Disable2048Spaces();
}
CUtil::JSPostUnescape();
if (!CModule::IncludeModule('crm')) {
    __CrmMobileFileEndResonse(array('error' => 'Could not include "crm" module.'));
}
if (!(check_bitrix_sessid() && CCrmSecurityHelper::IsAuthorized())) {
    __CrmMobileFileEndResonse(array('error' => 'Access denied.'));
}
global $APPLICATION;
if ($_SERVER['REQUEST_METHOD'] === 'POST' && is_array($_FILES) && !empty($_FILES)) {
    $ID = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : 0;
    $hasPermission = $ID > 0 ? CCrmContact::CheckUpdatePermission($ID) : CCrmContact::CheckCreatePermission();
    if (!$hasPermission) {
        __CrmMobileFileEndResonse(array('error' => 'Access denied.'));
    } else {
        $result = array();
        if (!CCrmMobileHelper::TryUploadFile($result, array('OWNER_TYPE_ID' => CCrmOwnerType::Contact, 'OWNER_ID' => $ID, 'SCOPE' => 'I', 'MAX_FILE_SIZE' => 5242880))) {
            __CrmMobileFileEndResonse(array('error' => $result['ERROR_MESSAGE']));
        } else {
            $fileID = $result['FILE_ID'];
            $fileInfo = CFile::ResizeImageGet($fileID, array('width' => 55, 'height' => 55), BX_RESIZE_IMAGE_EXACT, false, false, true);
            __CrmMobileFileEndResonse(array('fileId' => $fileID, 'showUrl' => is_array($fileInfo) && isset($fileInfo['src']) ? $fileInfo['src'] : ''));
        }
    }
}
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php';
Beispiel #8
0
<?php

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) {
    die;
}
define('NO_KEEP_STATISTIC', 'Y');
define('NO_AGENT_STATISTIC', 'Y');
define('NO_AGENT_CHECK', true);
define('DisableEventsCheck', true);
$GLOBALS['APPLICATION']->RestartBuffer();
Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
$models = array();
foreach ($arResult['ITEMS'] as &$item) {
    $models[] = CCrmMobileHelper::PrepareLeadData($item);
}
echo CUtil::PhpToJSObject(array('DATA' => array('MODELS' => $models, 'NEXT_PAGE_URL' => $arResult['NEXT_PAGE_URL'], 'GRID_FILTER_ID' => $arResult['GRID_FILTER_ID'], 'GRID_FILTER_NAME' => $arResult['GRID_FILTER_NAME'])));
die;
Beispiel #9
0
/*
 * ONLY 'POST' METHOD SUPPORTED
 * SUPPORTED ACTIONS:
 * 'GET_BY_ID' - get deal by ID
 */
global $DB, $APPLICATION;
CUtil::JSPostUnescape();
$GLOBALS['APPLICATION']->RestartBuffer();
Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
$CCrmDeal = new CCrmDeal();
if ($CCrmDeal->cPerms->HavePerm('CONTACT', BX_CRM_PERM_NONE, 'READ')) {
    echo CUtil::PhpToJSObject(array('ERROR' => 'Access denied!'));
    die;
}
$action = isset($_POST['ACTION']) ? $_POST['ACTION'] : '';
if (strlen($action) == 0) {
    echo CUtil::PhpToJSObject(array('ERROR' => 'Invalid data!'));
    die;
}
if ($action == 'GET_ENTITY') {
    $ID = isset($_POST['ENTITY_ID']) ? intval($_POST['ENTITY_ID']) : 0;
    if ($ID <= 0) {
        echo CUtil::PhpToJSObject(array('ERROR' => 'Invalid parameters!'));
        die;
    }
    $dbFields = CCrmContact::GetListEx(array(), array('ID' => $ID));
    $item = $obFields->GetNext();
    $formatParams = isset($_POST['FORMAT_PARAMS']) ? $_POST['FORMAT_PARAMS'] : array();
    CCrmMobileHelper::PrepareContactItem($item, $formatParams);
    echo CUtil::PhpToJSObject(array('DATA' => array('ENTITY' => CCrmMobileHelper::PrepareContactData($item))));
}
Beispiel #10
0
        ?>
		<span> - <?php 
        echo $item['FORMATTED_OPPORTUNITY'];
        ?>
</span>
		<?php 
    }
    ?>
		</div>
		<div class="crm_dealings_company">
			<span><?php 
    echo $clientTitle;
    ?>
</span><?php 
    if (!$isInSelectorMode) {
        CCrmMobileHelper::RenderProgressBar(array('LAYOUT' => 'small', 'ENTITY_TYPE_ID' => CCrmOwnerType::Deal, 'ENTITY_ID' => $item['~ID'], 'CURRENT_ID' => $item['~STAGE_ID']));
    }
    ?>
</div>
		<div class="clb"></div>
	</li><?php 
}
unset($item);
if ($arResult['PAGE_NEXT_NUMBER'] <= $arResult['PAGE_NAVCOUNT']) {
    ?>
<li class="crm_dealings_list_item crm_dealings_list_item_wait"></li><?php 
}
?>
</ul></div>
<script type="text/javascript">
	BX.ready(
Beispiel #11
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
global $APPLICATION;
$APPLICATION->AddHeadString('<script type="text/javascript" src="' . CUtil::GetAdditionalFileURL(SITE_TEMPLATE_PATH . '/crm_mobile.js') . '"></script>', true, \Bitrix\Main\Page\AssetLocation::AFTER_JS_KERNEL);
$APPLICATION->SetPageProperty('BodyClass', 'crm-page');
$UID = $arResult['UID'];
$mode = $arResult['MODE'];
$prefix = htmlspecialcharsbx($UID);
$entityID = $arResult['ENTITY_ID'];
$entity = $arResult['ENTITY'];
$dataItem = CCrmMobileHelper::PrepareContactData($entity);
$multiFieldTypeInfos = CCrmFieldMulti::GetEntityTypes();
$multiFieldTypeSettings = array();
foreach ($multiFieldTypeInfos as $multiFieldTypeID => &$multiFieldTypeInfo) {
    $multiFieldTypeSettings[$multiFieldTypeID] = array();
    foreach ($multiFieldTypeInfo as $multiFieldValueTypeID => &$multiFieldValueTypeInfo) {
        $multiFieldTypeSettings[$multiFieldTypeID][$multiFieldValueTypeID] = isset($multiFieldValueTypeInfo['ABBR']) ? $multiFieldValueTypeInfo['ABBR'] : $multiFieldValueTypeID;
    }
    unset($multiFieldValueTypeInfo);
}
unset($multiFieldTypeInfo);
$formTitle = GetMessage("M_CRM_CONTACT_EDIT_{$mode}_TITLE");
if (!function_exists('__CrmMobileContactEditRenderMultiFields')) {
    function __CrmMobileContactEditRenderMultiFields($typeName, &$fields, &$typeInfos, $prefix = '')
    {
        $typeName = strtoupper($typeName);
        $data = isset($fields[$typeName]) ? $fields[$typeName] : array();
        if ($prefix !== '') {
Beispiel #12
0
} else {
    $arResult['MODE'] = 'UPDATE';
    $dbFields = CCrmCompany::GetListEx(array(), array('ID' => $entityID));
    $arFields = $dbFields->GetNext();
    if (!$arFields) {
        ShowError(GetMessage('CRM_COMPANY_EDIT_NOT_FOUND', array('#ID#' => $arParams['ENTITY_ID'])));
        return;
    }
    $arFields['FM'] = array();
    $dbMultiFields = CCrmFieldMulti::GetList(array('ID' => 'asc'), array('ENTITY_ID' => 'COMPANY', 'ELEMENT_ID' => $entityID));
    if ($dbMultiFields) {
        while ($arMultiField = $dbMultiFields->Fetch()) {
            $arFields['FM'][$arMultiField['TYPE_ID']][$arMultiField['ID']] = array('VALUE' => $arMultiField['VALUE'], 'VALUE_TYPE' => $arMultiField['VALUE_TYPE']);
        }
    }
    CCrmMobileHelper::PrepareCompanyItem($arFields, $arParams, array('COMPANY_TYPE' => $arResult['COMPANY_TYPE'], 'INDUSTRY' => $arResult['INDUSTRY'], 'EMPLOYEES_LIST' => $arResult['EMPLOYEES']));
}
$arResult['ENTITY'] = $arFields;
$sid = bitrix_sessid();
$serviceURLTemplate = $arParams["SERVICE_URL_TEMPLATE"] ? $arParams["SERVICE_URL_TEMPLATE"] : '#SITE_DIR#bitrix/components/bitrix/mobile.crm.company.edit/ajax.php?site_id=#SITE#&sessid=#SID#';
$arResult['SERVICE_URL'] = CComponentEngine::makePathFromTemplate($serviceURLTemplate, array('SID' => $sid));
$arResult['UPLOAD_URL'] = CCrmUrlUtil::ToAbsoluteUrl(CComponentEngine::makePathFromTemplate('#SITE_DIR#mobile/crm/company/file.php?id=#ID#&sessid=#SID#', array('SID' => $sid, 'ID' => $entityID)));
// CONTEXT_ID -->
$contextID = isset($arParams['CONTEXT_ID']) ? $arParams['CONTEXT_ID'] : '';
if ($contextID === '' && isset($_REQUEST['context_id'])) {
    $contextID = $_REQUEST['context_id'];
}
if ($contextID === '') {
    $contextID = "{$uid}_{$entityID}";
}
$arResult['CONTEXT_ID'] = $arParams['CONTEXT_ID'] = $contextID;
Beispiel #13
0
                $items[$key]['IMAGE_URL'] = CCrmMobileHelper::PrepareContactImageUrl($contact, array('WIDTH' => 40, 'HEIGHT' => 40));
            }
        }
    } elseif ($typeName === CCrmOwnerType::CompanyName) {
        $dbRes = CCrmCompany::GetListEx(array(), array('@ID' => $ids), false, false, array('ID', 'LOGO'));
        while ($company = $dbRes->Fetch()) {
            $key = "COMPANY_{$company['ID']}";
            if (isset($items[$key])) {
                $items[$key]['IMAGE_URL'] = CCrmMobileHelper::PrepareCompanyImageUrl($company, array('WIDTH' => 40, 'HEIGHT' => 40));
            }
        }
    } elseif ($typeName === CCrmOwnerType::LeadName) {
        foreach ($ids as $id) {
            $key = "LEAD_{$id}";
            if (isset($items[$key])) {
                $items[$key]['IMAGE_URL'] = CCrmMobileHelper::GetLeadListImageStub();
            }
        }
    }
}
unset($ids);
unset($imageless);
$arResult['ITEMS'] = array_values($items);
unset($items);
$arResult['SEARCH_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&SEARCH=Y&FORMAT=json&apply_filter=Y&save=Y', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
$arResult['RELOAD_URL_TEMPLATE'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&FORMAT=json&type=#type#&owner_id=#owner_id#&owner_type=#owner_type#', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter', 'type', 'owner_id', 'owner_type'));
$arResult['SEARCH_PLACEHOLDER'] = GetMessage("M_CRM_COMM_SELECT_SEARCH_PLACEHOLDER_{$commType}");
//$arResult['SERVICE_URL'] = SITE_DIR.'bitrix/components/bitrix/mobile.crm.comm.selector/ajax.php?siteID='.SITE_ID.'&'.bitrix_sessid_get();
$format = isset($_REQUEST['FORMAT']) ? strtolower($_REQUEST['FORMAT']) : '';
// Only JSON format is supported
if ($format !== '' && $format !== 'json') {
Beispiel #14
0
    // decode encodeURIComponent params
    CUtil::JSPostUnescape();
}
$contextID = isset($arParams['CONTEXT_ID']) ? $arParams['CONTEXT_ID'] : '';
if ($contextID === '' && isset($_REQUEST['context_id'])) {
    $contextID = $_REQUEST['context_id'];
}
$arResult['CONTEXT_ID'] = $arParams['CONTEXT_ID'] = $contextID;
$UID = isset($arParams['UID']) ? $arParams['UID'] : '';
if ($UID === '') {
    $UID = 'mobile_crm_location_list';
}
$arResult['UID'] = $arParams['UID'] = $UID;
$arResult['ITEMS'] = array();
if (!$enableSearch) {
    $itemIDs = CCrmMobileHelper::GetRecentlyUsedLocations();
    if (!empty($itemIDs) && CModule::IncludeModule('sale')) {
        $order = array('CITY_NAME_LANG' => 'ASC', 'COUNTRY_NAME_LANG' => 'ASC', 'SORT' => 'ASC');
        $select = array('ID', 'CITY_ID', 'CITY_NAME', 'COUNTRY_NAME_LANG', 'REGION_NAME_LANG');
        $dbLocations = CSaleLocation::GetList($order, array('@ID' => $itemIDs, 'LID' => LANGUAGE_ID), false, false, $select);
        while ($data = $dbLocations->Fetch()) {
            $dataID = $data['ID'];
            $arResult['ITEMS'][] = array('ID' => $dataID, 'NAME' => $data['CITY_NAME'], 'REGION_NAME' => $data['REGION_NAME_LANG'], 'COUNTRY_NAME' => $data['COUNTRY_NAME_LANG'], 'TITLE' => CCrmInvoice::ResolveLocationName($dataID, $data));
        }
    }
} else {
    $needle = isset($_REQUEST['NEEDLE']) ? $_REQUEST['NEEDLE'] : '';
    if ($needle !== '' && CModule::IncludeModule('sale')) {
        $items = array();
        $order = array('CITY_NAME_LANG' => 'ASC', 'COUNTRY_NAME_LANG' => 'ASC', 'SORT' => 'ASC');
        $select = array('ID', 'CITY_ID', 'CITY_NAME', 'COUNTRY_NAME_LANG', 'REGION_NAME_LANG');
Beispiel #15
0
    if ($successed) {
        //$DB->Commit();
        __CrmMobileContactEditEndResonse(array('DELETED_ENTITY_ID' => $ID));
    } else {
        //$DB->Rollback();
        __CrmMobileContactEditEndResonse(array('ERROR' => GetMessage('CRM_CONTACT_COULD_NOT_DELETE')));
    }
} elseif ($action === 'GET_ENTITY') {
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    $typeName = isset($_REQUEST['ENTITY_TYPE_NAME']) ? $_REQUEST['ENTITY_TYPE_NAME'] : '';
    if ($typeName !== 'CONTACT') {
        __CrmMobileContactEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_TYPE_NOT_SUPPORTED', array('#ENTITY_TYPE#' => $typeName))));
    }
    $ID = isset($_REQUEST['ENTITY_ID']) ? intval($_REQUEST['ENTITY_ID']) : 0;
    if ($ID <= 0) {
        __CrmMobileContactEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_ID_NOT_FOUND')));
    }
    if (!CCrmContact::CheckReadPermission($ID)) {
        __CrmMobileContactEditEndResonse(array('ERROR' => GetMessage('CRM_ACCESS_DENIED')));
    }
    $dbRes = CCrmContact::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N'));
    $item = $dbRes ? $dbRes->GetNext() : null;
    if (!is_array($item)) {
        __CrmMobileContactEditEndResonse(array('ERROR' => GetMessage('CRM_CONTACT_NOT_FOUND', array('#ID#' => $ID))));
    }
    $formatParams = isset($_REQUEST['FORMAT_PARAMS']) ? $_REQUEST['FORMAT_PARAMS'] : array();
    CCrmMobileHelper::PrepareContactItem($item, $formatParams);
    __CrmMobileContactEditEndResonse(array('ENTITY' => CCrmMobileHelper::PrepareContactData($item)));
} else {
    __CrmMobileContactEditEndResonse(array('ERROR' => 'Action is not supported in current context.'));
}
Beispiel #16
0
$APPLICATION->AddHeadString('<script type="text/javascript" src="' . CUtil::GetAdditionalFileURL(SITE_TEMPLATE_PATH . '/crm_mobile.js') . '"></script>', true, \Bitrix\Main\Page\AssetLocation::AFTER_JS_KERNEL);
$APPLICATION->SetPageProperty('BodyClass', 'crm-page');
$UID = $arResult['UID'];
$dispatcherData = array();
?>

<div id="<?php 
echo htmlspecialcharsbx($UID);
?>
" class="crm_wrapper">
<ul class="crm_dealings_list">
	<?php 
foreach ($arResult['ITEMS'] as &$item) {
    ?>
		<?php 
    $dataItem = CCrmMobileHelper::PrepareInvoiceEventData($item);
    $dispatcherData[] = $dataItem;
    ?>
		<li class="crm_history_list_item" data-entity-id="<?php 
    echo $item['ID'];
    ?>
">
			<div class="crm_history_title"><?php 
    echo htmlspecialcharsbx($dataItem['NAME']);
    ?>
</div>
			<div class="crm_history_descr"><?php 
    echo $dataItem['DESCRIPTION_HTML'];
    ?>
</div>
			<div class="crm_history_cnt"><?php 
Beispiel #17
0
$arResult['ITEMS'] = array();
$dbRes = CCrmCompany::GetListEx($sort, $filter, false, $navParams, $select);
$dbRes->NavStart($navParams['nPageSize'], false);
$arResult['PAGE_NAVNUM'] = intval($dbRes->NavNum);
// pager index
$arResult['PAGE_NUMBER'] = intval($dbRes->NavPageNomer);
// current page index
$arResult['PAGE_NAVCOUNT'] = intval($dbRes->NavPageCount);
// page count
$arResult['PAGER_PARAM'] = "PAGEN_{$arResult['PAGE_NAVNUM']}";
$arResult['PAGE_NEXT_NUMBER'] = $arResult['PAGE_NUMBER'] + 1;
$arResult['COMPANY_TYPE_LIST'] = CCrmStatus::GetStatusList('COMPANY_TYPE');
//$arResult['EMPLOYEES_LIST'] = CCrmStatus::GetStatusList('EMPLOYEES');
$arResult['INDUSTRY_LIST'] = CCrmStatus::GetStatusList('INDUSTRY');
while ($item = $dbRes->GetNext()) {
    CCrmMobileHelper::PrepareCompanyItem($item, $arParams, array('COMPANY_TYPE' => $arResult['COMPANY_TYPE_LIST'], 'INDUSTRY' => $arResult['INDUSTRY_LIST']));
    $arResult['ITEMS'][] =& $item;
    unset($item);
}
if ($arResult['PAGE_NEXT_NUMBER'] > $arResult['PAGE_NAVCOUNT']) {
    $arResult['NEXT_PAGE_URL'] = '';
} else {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&SEARCH=' . ($enableSearch ? 'Y' : 'N') . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', $arResult['PAGER_PARAM']));
}
$arResult['SEARCH_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&SEARCH=Y&FORMAT=json&apply_filter=Y&save=Y', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
$arResult['SERVICE_URL'] = SITE_DIR . 'bitrix/components/bitrix/mobile.crm.company.list/ajax.php?siteID=' . SITE_ID . '&' . bitrix_sessid_get();
$arResult['PERMISSIONS'] = array('CREATE' => CCrmCompany::CheckCreatePermission());
$arResult['CREATE_URL'] = $arParams['COMPANY_EDIT_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['COMPANY_EDIT_URL_TEMPLATE'], array('company_id' => 0)) : '';
$arResult['RELOAD_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&FORMAT=json', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
$format = isset($_REQUEST['FORMAT']) ? strtolower($_REQUEST['FORMAT']) : '';
// Only JSON format is supported
Beispiel #18
0
            foreach ($userBindings[$userID] as $itemKey) {
                if (isset($items[$itemKey])) {
                    $item =& $items[$itemKey];
                    $item['USER_LOGIN'] = $user['LOGIN'];
                    $item['USER_NAME'] = $user['NAME'];
                    $item['USER_LAST_NAME'] = $user['LAST_NAME'];
                    $item['USER_SECOND_NAME'] = $user['SECOND_NAME'];
                    unset($item);
                }
            }
        }
    }
}
$enums = array('EVENT_TYPES' => $arResult['EVENT_TYPES']);
foreach ($items as &$item) {
    CCrmMobileHelper::PrepareInvoiceEventItem($item, $arParams, $event, $enums);
}
unset($item);
$arResult['ITEMS'] = array_values($items);
unset($items);
//NEXT_PAGE_URL, SEARCH_PAGE_URL, SERVICE_URL -->
if ($arResult['PAGE_NEXT_NUMBER'] > $arResult['PAGE_NAVCOUNT']) {
    $arResult['NEXT_PAGE_URL'] = '';
} else {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', $arResult['PAGER_PARAM']));
}
$arResult['SERVICE_URL'] = '';
//<-- NEXT_PAGE_URL, SEARCH_PAGE_URL, SERVICE_URL
$format = isset($_REQUEST['FORMAT']) ? strtolower($_REQUEST['FORMAT']) : '';
// Only JSON format is supported
if ($format !== '' && $format !== 'json') {
Beispiel #19
0
<?php

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) {
    die;
}
define('NO_KEEP_STATISTIC', 'Y');
define('NO_AGENT_STATISTIC', 'Y');
define('NO_AGENT_CHECK', true);
define('DisableEventsCheck', true);
$GLOBALS['APPLICATION']->RestartBuffer();
Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
$models = array();
foreach ($arResult['ITEMS'] as &$item) {
    $models[] = CCrmMobileHelper::PrepareInvoiceEventData($item);
}
echo CUtil::PhpToJSObject(array('DATA' => array('MODELS' => $models, 'NEXT_PAGE_URL' => $arResult['NEXT_PAGE_URL'])));
die;
Beispiel #20
0
if (!function_exists('__CrmMobileLocationListEndResonse')) {
    function __CrmMobileLocationListEndResonse($result)
    {
        $GLOBALS['APPLICATION']->RestartBuffer();
        Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
        if (!empty($result)) {
            echo CUtil::PhpToJSObject($result);
        }
        require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php';
        die;
    }
}
$curUserPrems = CCrmPerms::GetCurrentUserPermissions();
$action = isset($_REQUEST['ACTION']) ? $_REQUEST['ACTION'] : '';
if ($action === 'SAVE_RECENT_USED_LOCATION') {
    //__IncludeLang(dirname(__FILE__).'/lang/'.LANGUAGE_ID.'/'.basename(__FILE__));
    if (!CCrmPerms::IsAccessEnabled()) {
        __CrmMobileLocationListEndResonse(array('ERROR' => 'Access denied.'));
    }
    $ID = isset($_REQUEST['ID']) ? $_REQUEST['ID'] : '';
    if ($ID === '') {
        __CrmMobileLocationListEndResonse(array('ERROR' => 'ID is not found.'));
    }
    if (CCrmMobileHelper::SaveRecentlyUsedLocation($ID)) {
        __CrmMobileLocationListEndResonse(array('SAVED_ENTITY_ID' => $ID));
    } else {
        __CrmMobileLocationListEndResonse(array('ERROR' => 'Could not save location.'));
    }
} else {
    __CrmMobileLocationListEndResonse(array('ERROR' => 'Action is not supported in current context.'));
}
Beispiel #21
0
			<input type="hidden"  id="<?php 
echo $prefix;
?>
_stage_id" value="<?php 
echo $entity['STAGE_ID'];
?>
" />
			<span id="<?php 
echo $prefix;
?>
_stage_name" class="fll" style="color:#687178;font-size: 14px;"><?php 
echo $entity['STAGE_NAME'];
?>
</span>
			<div class="clb"></div><?php 
CCrmMobileHelper::RenderProgressBar(array('LAYOUT' => 'big', 'ENTITY_TYPE_ID' => CCrmOwnerType::Deal, 'ENTITY_ID' => $entity['~ID'], 'WRAPPER_ID' => $UID . '_stage_container', 'CURRENT_ID' => $entity['~STAGE_ID']));
?>
</div>
		<hr style="margin: 15px 0;"/>
		<div class="crm_meeting_info">
			<div class="crm_order_status">
				<span class="fll p0 fwn" style="color:#687178;font-size: 14px;"><?php 
echo htmlspecialcharsbx(GetMessage('M_CRM_DEAL_EDIT_PROBABILITY'));
?>
:</span>
				<span class="fll"><input id="<?php 
echo $prefix;
?>
_probability" class="crm_input_text fwb dib tac posr" style="margin-top: -8px; width: 40px;" type="text" value="<?php 
echo $entity['PROBABILITY'];
?>
Beispiel #22
0
        $product['~' . $fieldName] = $product[$fieldName] = null;
    }
    $arProductId[] = $product['ID'];
    $arProducts[$product['ID']] = $product;
}
CCrmProduct::ObtainPricesVats($arProducts, $arProductId, $arPricesSelect, $arVatsSelect);
unset($arProductId, $arPricesSelect, $arVatsSelect);
foreach ($arProducts as &$product) {
    CCrmMobileHelper::PrepareProductItem($product, $productParams);
    $arResult['PRODUCTS'][] = $product;
}
unset($arProducts);
$arResult['PRODUCT_SECTION_URL_TEMPLATE'] = $APPLICATION->GetCurPageParam("AJAX_CALL=Y&FORMAT=json&SECTION_ID=#section_id#", array('AJAX_CALL', 'FORMAT', 'SECTION_ID', 'SEARCH', 'PAGING', $arResult['PAGER_PARAM']));
$productSectionParams = array('PRODUCT_SECTION_URL_TEMPLATE' => $arResult['PRODUCT_SECTION_URL_TEMPLATE']);
foreach ($arResult['SECTIONS'] as $sectionID => &$section) {
    CCrmMobileHelper::PrepareProductSectionItem($section, $productSectionParams);
}
unset($section);
//NEXT_PAGE_URL, SEARCH_PAGE_URL, SERVICE_URL -->
if ($arResult['PAGE_NEXT_NUMBER'] > $arResult['PAGE_NAVCOUNT']) {
    $arResult['NEXT_PAGE_URL'] = '';
} elseif ($activeSectionID > 0) {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&SECTION_ID=' . $activeSectionID . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', 'SECTION_ID', $arResult['PAGER_PARAM']));
} else {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&SEARCH=' . ($enableSearch ? 'Y' : 'N') . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', $arResult['PAGER_PARAM']));
}
$arResult['SEARCH_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&SEARCH=Y&FORMAT=json', array('AJAX_CALL', 'SEARCH', 'FORMAT'));
$serviceURLTemplate = $arParams["SERVICE_URL_TEMPLATE"] ? $arParams["SERVICE_URL_TEMPLATE"] : '#SITE_DIR#bitrix/components/bitrix/mobile.crm.product.list/ajax.php?site_id=#SITE#&sessid=#SID#';
$arResult['SERVICE_URL'] = CComponentEngine::MakePathFromTemplate($serviceURLTemplate, array('SID' => bitrix_sessid()));
//<-- NEXT_PAGE_URL, SEARCH_PAGE_URL, SERVICE_URL
$format = isset($_REQUEST['FORMAT']) ? strtolower($_REQUEST['FORMAT']) : '';
Beispiel #23
0
    ShowError(GetMessage('CRM_LEAD_VIEW_NOT_FOUND', array('#ID#' => $arParams['ENTITY_ID'])));
    return;
}
$arResult['PERMISSIONS'] = array('EDIT' => CCrmLead::CheckUpdatePermission($entityID, $userPerms) && $arFields['STATUS_ID'] !== 'CONVERTED', 'DELETE' => CCrmLead::CheckDeletePermission($entityID, $userPerms));
$arResult['STATUS_LIST'] = CCrmStatus::GetStatusList('STATUS');
$arResult['SOURCE_LIST'] = CCrmStatus::GetStatusList('SOURCE');
$arResult['CURRENCY_LIST'] = CCrmCurrencyHelper::PrepareListItems();
CCrmMobileHelper::PrepareLeadItem($arFields, $arParams, array('STATUS_LIST' => $arResult['STATUS_LIST'], 'SOURCE_LIST' => $arResult['SOURCE_LIST']));
$arFields['FM'] = array();
$dbMultiFields = CCrmFieldMulti::GetList(array('ID' => 'asc'), array('ENTITY_ID' => 'LEAD', 'ELEMENT_ID' => $entityID));
if ($dbMultiFields) {
    while ($multiFields = $dbMultiFields->Fetch()) {
        $arFields['FM'][$multiFields['TYPE_ID']][] = array('VALUE' => $multiFields['VALUE'], 'VALUE_TYPE' => $multiFields['VALUE_TYPE']);
    }
}
$arResult['CALLTO'] = CCrmMobileHelper::PrepareCalltoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Lead, 'ENTITY_ID' => $entityID, 'FM' => $arFields['FM']));
$arResult['MAILTO'] = CCrmMobileHelper::PrepareMailtoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Lead, 'ENTITY_ID' => $entityID, 'FM' => $arFields['FM']));
$arFields['PRODUCT_ROWS_QUANTITY'] = CAllCrmProductRow::GetRowQuantity(CCrmOwnerTypeAbbr::ResolveByTypeID(CCrmOwnerType::Lead), $entityID);
$arFields['PRODUCT_ROWS_URL'] = $arParams['PRODUCT_ROW_LIST_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['PRODUCT_ROW_LIST_URL_TEMPLATE'], array('entity_type_id' => CCrmOwnerType::Lead, 'entity_id' => $entityID)) : '';
$arFields['ACTITITY_QUANTITY'] = CAllCrmActivity::GetCount(array('BINDINGS' => array(array('OWNER_TYPE_ID' => CCrmOwnerType::Lead, 'OWNER_ID' => $entityID))));
$arFields['ACTIVITY_LIST_URL'] = $arParams['ACTIVITY_LIST_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['ACTIVITY_LIST_URL_TEMPLATE'], array('entity_type_id' => CCrmOwnerType::Lead, 'entity_id' => $entityID)) : '';
$arFields['EVENT_LIST_URL'] = $arParams['EVENT_LIST_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['EVENT_LIST_URL_TEMPLATE'], array('entity_type_id' => CCrmOwnerType::Lead, 'entity_id' => $entityID)) : '';
$arFields['EDIT_URL'] = $arParams['LEAD_EDIT_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['LEAD_EDIT_URL_TEMPLATE'], array('lead_id' => $entityID)) : '';
$arFields['CALL_EDIT_URL'] = $arParams['ACTIVITY_EDIT_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('owner_type' => CCrmOwnerType::LeadName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Call)) : '';
$arFields['MEETING_EDIT_URL'] = $arParams['ACTIVITY_EDIT_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('owner_type' => CCrmOwnerType::LeadName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Meeting)) : '';
$arFields['EMAIL_EDIT_URL'] = $arParams['ACTIVITY_EDIT_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('owner_type' => CCrmOwnerType::LeadName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Email)) : '';
$arResult['LEAD_STATUS_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate($arParams['LEAD_STATUS_SELECTOR_URL_TEMPLATE'], array('context_id' => ''));
$arResult['LEAD_STATUS_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate($arParams['LEAD_STATUS_SELECTOR_URL_TEMPLATE'], array('context_id' => ''));
$arResult['ENTITY'] =& $arFields;
unset($arFields);
$this->IncludeComponentTemplate();
Beispiel #24
0
    $arResult['RUBRIC']['TITLE'] = CCrmOwnerType::GetCaption($entityTypeID, $entityID);
    $arResult['RUBRIC']['FILTER_PRESETS'] = array('clear_filter', 'filter_custom');
}
$arResult['ITEMS'] = array();
$dbRes = CCrmEvent::GetListEx($sort, $filter, false, $arNavParams, $select, array());
$dbRes->NavStart($navParams['nPageSize'], false);
$arResult['PAGE_NAVNUM'] = intval($dbRes->NavNum);
// pager index
$arResult['PAGE_NUMBER'] = intval($dbRes->NavPageNomer);
// current page index
$arResult['PAGE_NAVCOUNT'] = intval($dbRes->NavPageCount);
// page count
$arResult['PAGER_PARAM'] = "PAGEN_{$arResult['PAGE_NAVNUM']}";
$arResult['PAGE_NEXT_NUMBER'] = $arResult['PAGE_NUMBER'] + 1;
while ($item = $dbRes->Fetch()) {
    CCrmMobileHelper::PrepareEventItem($item, $arParams);
    $arResult['ITEMS'][] =& $item;
    unset($item);
}
//NEXT_PAGE_URL, SEARCH_PAGE_URL, SERVICE_URL -->
if ($arResult['PAGE_NEXT_NUMBER'] > $arResult['PAGE_NAVCOUNT']) {
    $arResult['NEXT_PAGE_URL'] = '';
} elseif ($contactID > 0) {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&contact_id=' . $contactID . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', 'contact_id', 'company_id', $arResult['PAGER_PARAM']));
} elseif ($companyID > 0) {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&company_id=' . $companyID . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', 'contact_id', 'company_id', $arResult['PAGER_PARAM']));
} else {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&SEARCH=' . ($enableSearch ? 'Y' : 'N') . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', $arResult['PAGER_PARAM']));
}
$arResult['SEARCH_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&SEARCH=Y&FORMAT=json&apply_filter=Y&save=Y', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
$arResult['SERVICE_URL'] = SITE_DIR . 'bitrix/components/bitrix/mobile.crm.event.list/ajax.php?siteID=' . SITE_ID . '&' . bitrix_sessid_get();
Beispiel #25
0
<?php

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) {
    die;
}
define('NO_KEEP_STATISTIC', 'Y');
define('NO_AGENT_STATISTIC', 'Y');
define('NO_AGENT_CHECK', true);
define('DisableEventsCheck', true);
$GLOBALS['APPLICATION']->RestartBuffer();
Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
$selectedEntityType = $arResult['SELECTED_ENTITY_TYPE'];
$entityData =& $arResult['ENTITY_DATA'];
$entityDatum = isset($entityData[$selectedEntityType]) ? $entityData[$selectedEntityType] : array();
$models = array();
if ($selectedEntityType === CCrmOwnerType::CompanyName) {
    foreach ($entityDatum['ITEMS'] as &$item) {
        $models[] = CCrmMobileHelper::PrepareCompanyData($item);
    }
    unset($item);
} elseif ($selectedEntityType === CCrmOwnerType::ContactName) {
    foreach ($entityDatum['ITEMS'] as &$item) {
        $models[] = CCrmMobileHelper::PrepareContactData($item);
    }
    unset($item);
}
echo CUtil::PhpToJSObject(array('DATA' => array('MODELS' => $models, 'NEXT_PAGE_URL' => $entityDatum['NAVIGATION']['NEXT_PAGE_URL'])));
die;
Beispiel #26
0
            ?>
<img src="<?php 
            echo htmlspecialcharsbx($dataItem['LIST_IMAGE_URL']);
            ?>
" alt=""/>
				<strong><?php 
            echo $item['FORMATTED_NAME'];
            ?>
</strong>
				<span><?php 
            echo htmlspecialcharsbx($dataItem['LEGEND']);
            ?>
</span><?php 
        } elseif ($typeName === CCrmOwnerType::CompanyName) {
            $data['BUTTON_ID'] = $companyViewButtonID;
            $dataItem = $data['DISPATCHER_DATA'][] = CCrmMobileHelper::PrepareCompanyData($item);
            ?>
<a href="#" onclick="return BX.eventReturnFalse();" class="crm_company_img" style="margin-left: 10px;">
					<span class="p0"><img class="fln p0" src="<?php 
            echo htmlspecialcharsbx($dataItem['LIST_IMAGE_URL']);
            ?>
" alt=""></span>
				</a>
				<strong style="line-height: 41px;"><?php 
            echo $item['TITLE'];
            ?>
</strong><?php 
        }
        ?>
			</div>
			<div class="clb"></div>
Beispiel #27
0
if (!isset($arResult['GRID_FILTER_NAME']) || $arResult['GRID_FILTER_NAME'] === '') {
    $arResult['GRID_FILTER_NAME'] = GetMessage('M_CRM_CONTACT_LIST_FILTER_NONE');
}
$arResult['ITEMS'] = array();
$dbRes = CCrmContact::GetListEx($sort, $filter, false, $navParams, $select);
$dbRes->NavStart($navParams['nPageSize'], false);
$arResult['PAGE_NAVNUM'] = intval($dbRes->NavNum);
// pager index
$arResult['PAGE_NUMBER'] = intval($dbRes->NavPageNomer);
// current page index
$arResult['PAGE_NAVCOUNT'] = intval($dbRes->NavPageCount);
// page count
$arResult['PAGER_PARAM'] = "PAGEN_{$arResult['PAGE_NAVNUM']}";
$arResult['PAGE_NEXT_NUMBER'] = $arResult['PAGE_NUMBER'] + 1;
while ($item = $dbRes->GetNext()) {
    CCrmMobileHelper::PrepareContactItem($item, $arParams);
    $arResult['ITEMS'][] =& $item;
    unset($item);
}
//NEXT_PAGE_URL, SEARCH_PAGE_URL, SERVICE_URL -->
if ($arResult['PAGE_NEXT_NUMBER'] > $arResult['PAGE_NAVCOUNT']) {
    $arResult['NEXT_PAGE_URL'] = '';
} elseif ($companyID > 0) {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&company_id=' . $companyID . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', 'company_id', $arResult['PAGER_PARAM']));
} else {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&SEARCH=' . ($enableSearch ? 'Y' : 'N') . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', $arResult['PAGER_PARAM']));
}
$arResult['SEARCH_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&SEARCH=Y&FORMAT=json&apply_filter=Y&save=Y', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
$serviceURLTemplate = $arParams["SERVICE_URL_TEMPLATE"] ? $arParams["SERVICE_URL_TEMPLATE"] : '#SITE_DIR#bitrix/components/bitrix/mobile.crm.contact.edit/ajax.php?site_id=#SITE#&sessid=#SID#';
$arResult['SERVICE_URL'] = CComponentEngine::makePathFromTemplate($serviceURLTemplate, array('SID' => bitrix_sessid()));
//<-- NEXT_PAGE_URL, SEARCH_PAGE_URL, SERVICE_URL
Beispiel #28
0
    $arResult['CONTACT_CALLTO'] = $arFields['CONTACT_SHOW_URL'] = $arFields['CONTACT_EMAIL_EDIT_URL'] = '';
} else {
    $arResult['CONTACT_CALLTO'] = CCrmMobileHelper::PrepareCalltoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $contactID, 'FM' => $arFields['CONTACT_FM']));
    $arFields['CONTACT_SHOW_URL'] = CComponentEngine::makePathFromTemplate($arParams['CONTACT_SHOW_URL_TEMPLATE'], array('contact_id' => $contactID));
    $emailOwnerTypeName = CCrmOwnerType::ContactName;
    $emailOwnerID = $contactID;
    if ($dealID > 0) {
        $emailOwnerTypeName = CCrmOwnerType::DealName;
        $emailOwnerID = $dealID;
    }
    $arFields['CONTACT_EMAIL_EDIT_URL'] = CCrmUrlUtil::AddUrlParams(CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('owner_type' => $emailOwnerTypeName, 'owner_id' => $emailOwnerID, 'type_id' => CCrmActivityType::Email)), array('comm[]' => strtolower(CCrmOwnerType::ContactName) . '_' . $contactID));
}
if ($companyID <= 0) {
    $arResult['COMPANY_CALLTO'] = $arFields['COMPANY_SHOW_URL'] = $arFields['COMPANY_EMAIL_EDIT_URL'] = '';
} else {
    $arResult['COMPANY_CALLTO'] = CCrmMobileHelper::PrepareCalltoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'FM' => $arFields['COMPANY_FM']));
    $arFields['COMPANY_SHOW_URL'] = CComponentEngine::makePathFromTemplate($arParams['COMPANY_SHOW_URL_TEMPLATE'], array('company_id' => $companyID));
    $emailOwnerTypeName = CCrmOwnerType::ContactName;
    $emailOwnerID = $contactID;
    if ($dealID > 0) {
        $emailOwnerTypeName = CCrmOwnerType::DealName;
        $emailOwnerID = $dealID;
    }
    $arFields['COMPANY_EMAIL_EDIT_URL'] = CCrmUrlUtil::AddUrlParams(CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('owner_type' => $emailOwnerTypeName, 'owner_id' => $emailOwnerID, 'type_id' => CCrmActivityType::Email)), array('comm[]' => strtolower(CCrmOwnerType::CompanyName) . '_' . $companyID));
}
/*$arFields['PRODUCT_ROWS_QUANTITY'] = CAllCrmProductRow::GetRowQuantity(
	CCrmOwnerTypeAbbr::ResolveByTypeID(CCrmOwnerType::Invoice),
	$entityID
);*/
$arFields['PRODUCT_ROWS_URL'] = CComponentEngine::makePathFromTemplate($arParams['PRODUCT_ROW_LIST_URL_TEMPLATE'], array('entity_type_id' => CCrmOwnerType::Invoice, 'entity_id' => $entityID));
$arFields['EVENT_LIST_URL'] = CComponentEngine::makePathFromTemplate($arParams['EVENT_LIST_URL_TEMPLATE'], array('entity_type_id' => CCrmOwnerType::Invoice, 'entity_id' => $entityID));
Beispiel #29
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
global $APPLICATION;
$APPLICATION->AddHeadString('<script type="text/javascript" src="' . CUtil::GetAdditionalFileURL(SITE_TEMPLATE_PATH . '/crm_mobile.js') . '"></script>', true, \Bitrix\Main\Page\AssetLocation::AFTER_JS_KERNEL);
$APPLICATION->SetPageProperty('BodyClass', 'crm-page');
$UID = $arResult['UID'];
$mode = $arResult['MODE'];
$prefix = htmlspecialcharsbx($UID);
$entityID = $arResult['ENTITY_ID'];
$entity = $arResult['ENTITY'];
$dataItem = CCrmMobileHelper::PrepareCompanyData($entity);
$multiFieldTypeInfos = CCrmFieldMulti::GetEntityTypes();
$multiFieldTypeSettings = array();
foreach ($multiFieldTypeInfos as $multiFieldTypeID => &$multiFieldTypeInfo) {
    $multiFieldTypeSettings[$multiFieldTypeID] = array();
    foreach ($multiFieldTypeInfo as $multiFieldValueTypeID => &$multiFieldValueTypeInfo) {
        $multiFieldTypeSettings[$multiFieldTypeID][$multiFieldValueTypeID] = isset($multiFieldValueTypeInfo['ABBR']) ? $multiFieldValueTypeInfo['ABBR'] : $multiFieldValueTypeID;
    }
    unset($multiFieldValueTypeInfo);
}
unset($multiFieldTypeInfo);
$formTitle = GetMessage("M_CRM_COMPANY_EDIT_{$mode}_TITLE");
if (!function_exists('__CrmMobileCompanyEditRenderMultiFields')) {
    function __CrmMobileCompanyEditRenderMultiFields($typeName, &$fields, &$typeInfos, $prefix = '')
    {
        $typeName = strtoupper($typeName);
        $data = isset($fields[$typeName]) ? $fields[$typeName] : array();
        if ($prefix !== '') {
Beispiel #30
0
    } elseif ($commOwnerTypeID === CCrmOwnerType::Lead) {
        $dbRes = CCrmLead::GetListEx(array(), array('=ID' => $commOwnerID), false, false, array('NAME', 'LAST_NAME', 'SECOND_NAME', 'POST'));
        $arLead = $dbRes ? $dbRes->Fetch() : null;
        if ($arLead) {
            $arFields['CLIENT_TITLE'] = CUser::FormatName($arParams['NAME_TEMPLATE'], array('LOGIN' => '', 'NAME' => isset($arLead['NAME']) ? $arLead['NAME'] : '', 'LAST_NAME' => isset($arLead['LAST_NAME']) ? $arLead['LAST_NAME'] : '', 'SECOND_NAME' => isset($arLead['SECOND_NAME']) ? $arLead['SECOND_NAME'] : ''), false, false);
            $arFields['CLIENT_SHOW_URL'] = CComponentEngine::MakePathFromTemplate($arParams['LEAD_SHOW_URL_TEMPLATE'], array('lead_id' => $commOwnerID));
            $arFields['CLIENT_IMAGE_URL'] = SITE_DIR . 'bitrix/templates/mobile_app/images/crm/no_lead_big.png?ver=1';
            $arFields['CLIENT_LEGEND'] = isset($arLead['POST']) ? $arLead['POST'] : '';
            $arMultiFields = array();
            $dbMultiFields = CCrmFieldMulti::GetList(array('ID' => 'asc'), array('ENTITY_ID' => 'LEAD', 'ELEMENT_ID' => $commOwnerID));
            if ($dbMultiFields) {
                while ($multiFields = $dbMultiFields->Fetch()) {
                    $arMultiFields[$multiFields['TYPE_ID']][] = array('VALUE' => $multiFields['VALUE'], 'VALUE_TYPE' => $multiFields['VALUE_TYPE']);
                }
            }
            $arFields['CLIENT_CALLTO'] = CCrmMobileHelper::PrepareCalltoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Lead, 'ENTITY_ID' => $commOwnerID, 'FM' => $arMultiFields));
            $arFields['CLIENT_MAILTO'] = CCrmMobileHelper::PrepareMailtoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Lead, 'ENTITY_ID' => $commOwnerID, 'FM' => $arMultiFields));
        }
    }
}
$storageTypeID = $arFields['STORAGE_TYPE_ID'];
$arFields['FILES'] = array();
$arFields['WEBDAV_ELEMENTS'] = array();
CCrmActivity::PrepareStorageElementIDs($arFields);
CCrmActivity::PrepareStorageElementInfo($arFields);
$arFields['EDIT_URL'] = $arParams['ACTIVITY_EDIT_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('activity_id' => $entityID)) : '';
$arResult['ENTITY'] =& $arFields;
unset($arFields);
$sid = bitrix_sessid();
$arResult['SERVICE_URL'] = CComponentEngine::makePathFromTemplate('#SITE_DIR#bitrix/components/bitrix/mobile.crm.activity.edit/ajax.php?site_id=#SITE#&sessid=#SID#', array('SID' => $sid));
$this->IncludeComponentTemplate();