} 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);
} 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();
$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.')); }
$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'));
<?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>
<?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;
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';
<?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;
/* * 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)))); }
?> <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(
<?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 !== '') {
} 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;
$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') {
// 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');
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.')); }
$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
$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
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') {
<?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;
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.')); }
<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']; ?>
$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']) : '';
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();
$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();
<?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;
?> <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>
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
$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));
<?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 !== '') {
} 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();