Пример #1
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();
Пример #2
0
 public static function IsCurrentDay($time)
 {
     if (self::$CURRENT_DAY_TIME_STAMP === null || self::$NEXT_DAY_TIME_STAMP === null) {
         $t = time() + CTimeZone::GetOffset();
         self::$CURRENT_DAY_TIME_STAMP = mktime(0, 0, 0, date('n', $t), date('j', $t), date('Y', $t));
         $t += 86400;
         self::$NEXT_DAY_TIME_STAMP = mktime(0, 0, 0, date('n', $t), date('j', $t), date('Y', $t));
     }
     return $time >= self::$CURRENT_DAY_TIME_STAMP && $time < self::$NEXT_DAY_TIME_STAMP;
 }
Пример #3
0
 public static function BeforeSendMail($arMessageFields)
 {
     // ADD ADDITIONAL HEADERS
     $postingID = self::ExtractPostingID($arMessageFields);
     if ($postingID <= 0) {
         return $arMessageFields;
     }
     $dbActivity = CAllCrmActivity::GetList(array(), array('=TYPE_ID' => CCrmActivityType::Email, '=ASSOCIATED_ENTITY_ID' => $postingID, 'CHECK_PERMISSIONS' => 'N'), false, false, array('SETTINGS'), array());
     $arActivity = $dbActivity ? $dbActivity->Fetch() : null;
     if (!$arActivity) {
         return $arMessageFields;
     }
     $settings = isset($arActivity['SETTINGS']) && is_array($arActivity['SETTINGS']) ? $arActivity['SETTINGS'] : array();
     $messageHeaders = isset($settings['MESSAGE_HEADERS']) ? $settings['MESSAGE_HEADERS'] : array();
     if (empty($messageHeaders)) {
         return $arMessageFields;
     }
     $header = isset($arMessageFields['HEADER']) ? $arMessageFields['HEADER'] : '';
     $eol = CEvent::GetMailEOL();
     foreach ($messageHeaders as $headerName => &$headerValue) {
         if (strlen($header) > 0) {
             $header .= $eol;
         }
         $header .= $headerName . ': ' . $headerValue;
     }
     unset($headerValue);
     $arMessageFields['HEADER'] = $header;
     return $arMessageFields;
 }