echo '<div class="crm-gadg-footer">'; if ($opportunity > 0) { echo '<div class="crm-gadg-footer-row">'; echo '<span class="crm-gadg-footer-left">', htmlspecialcharsbx(GetMessage('CRM_DEAL_OPPORTUNITY')), ':</span>'; echo '<span class="crm-gadg-footer-right">', $arDeal['FORMATTED_OPPORTUNITY'], '</span>'; echo '</div>'; } $contactHtml = ''; if ($contactID > 0) { $contactHtml = CCrmViewHelper::PrepareClientBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $contactID, 'PREFIX' => uniqid("{$arResult['GADGET_ID']}_"), 'NAME' => isset($arDeal['~CONTACT_NAME']) ? $arDeal['~CONTACT_NAME'] : '', 'LAST_NAME' => isset($arDeal['~CONTACT_LAST_NAME']) ? $arDeal['~CONTACT_LAST_NAME'] : '', 'SECOND_NAME' => isset($arDeal['~CONTACT_SECOND_NAME']) ? $arDeal['~CONTACT_SECOND_NAME'] : '', 'CLASS_NAME' => 'crm-gadg-link')); } $companyHtml = ''; if ($companyID > 0) { $companyTitle = isset($arDeal['~COMPANY_TITLE']) ? $arDeal['~COMPANY_TITLE'] : ''; if ($companyTitle !== '') { $companyHtml = CCrmViewHelper::PrepareClientBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'PREFIX' => uniqid("{$arResult['GADGET_ID']}_"), 'TITLE' => $companyTitle, 'CLASS_NAME' => 'crm-gadg-link')); } } if ($contactHtml !== '' || $companyHtml !== '') { echo '<div class="crm-gadg-footer-row">'; echo '<span class="crm-gadg-footer-left">', htmlspecialcharsbx(GetMessage('CRM_DEAL_CLIENT')), ':</span>'; echo '<span class="crm-gadg-footer-right">'; if ($contactHtml !== '') { echo $contactHtml; } if ($companyHtml !== '') { if ($contactHtml !== '') { echo ', '; } echo $companyHtml; }
function __CrmActivityListRenderGadgetItem(&$item, $displayClient, $editorID, $prefix) { static $ownerDataCache = array(); $typeID = isset($item['~TYPE_ID']) ? intval($item['~TYPE_ID']) : CCrmActivityType::Undefined; $direction = isset($item['~DIRECTION']) ? intval($item['~DIRECTION']) : CCrmActivityDirection::Undefined; $deadline = isset($item['~DEADLINE']) ? $item['~DEADLINE'] : ''; $completed = (isset($item['~COMPLETED']) ? $item['~COMPLETED'] : 'N') === 'Y'; $expired = !$completed && $deadline !== '' && MakeTimeStamp($deadline) <= ($now = time() + CTimeZone::GetOffset()); $subject = isset($item['~SUBJECT']) ? htmlspecialcharsbx($item['~SUBJECT']) : $item['~ID']; $descr = isset($item['~DESCRIPTION']) ? htmlspecialcharsbx($item['~DESCRIPTION']) : ''; $priority = isset($item['~PRIORITY']) ? intval($item['~PRIORITY']) : CCrmActivityPriority::None; $js = "BX.CrmActivityEditor.viewActivity('{$editorID}', {$item['~ID']}, { 'enableInstantEdit':false, 'enableEditButton':false });"; $containerClassName = 'crm-gadg-block crm-gadg-to-do'; $typeTitle = ''; if ($typeID === CCrmActivityType::Meeting) { $containerClassName .= ' crm-gadg-meeting'; $typeTitle = htmlspecialcharsbx(GetMessage('CRM_ACTION_TYPE_MEETING')); } elseif ($typeID === CCrmActivityType::Call) { if ($direction === CCrmActivityDirection::Outgoing) { $containerClassName .= ' crm-gadg-call-outgoing'; $typeTitle = htmlspecialcharsbx(GetMessage('CRM_ACTION_TYPE_CALL_OUTGOING')); } else { $containerClassName .= ' crm-gadg-call-incoming'; $typeTitle = htmlspecialcharsbx(GetMessage('CRM_ACTION_TYPE_CALL_INCOMING')); } } elseif ($typeID === CCrmActivityType::Email) { if ($direction === CCrmActivityDirection::Outgoing) { $containerClassName .= ' crm-gadg-email-outgoing'; $typeTitle = htmlspecialcharsbx(GetMessage('CRM_ACTION_TYPE_EMAIL_OUTGOING')); } else { $containerClassName .= ' crm-gadg-email-incoming'; $typeTitle = htmlspecialcharsbx(GetMessage('CRM_ACTION_TYPE_EMAIL_INCOMING')); } } elseif ($typeID === CCrmActivityType::Task) { $containerClassName .= ' crm-gadg-task'; $typeTitle = htmlspecialcharsbx(GetMessage('CRM_ACTION_TYPE_TASK')); } if (!$expired && $priority === CCrmActivityPriority::High) { $containerClassName .= ' crm-gadg-to-do-important'; } if ($expired) { $containerClassName .= ' crm-gadg-red'; } echo '<div class="', $containerClassName, '">'; echo '<a href="#" onclick="', $js, ' return false;" class="crm-to-do-type" title="', $typeTitle, '"></a>'; echo '<div class="crm-gadg-title">'; echo '<a href="#" class="crm-gadg-link" title="', $subject, '" onclick="', $js, ' return false;" >', $subject, '</a>', '<span class="crm-gadg-title-deadline"> ', $deadline !== '' ? CCrmComponentHelper::TrimDateTimeString(FormatDate('FULL', MakeTimeStamp($deadline))) : ''; if ($priority === CCrmActivityPriority::High) { echo '<span class="crm-gadg-to-do-important-icon" title="', htmlspecialcharsbx(GetMessage('CRM_ACTION_IMPORTANT')), '"></span>'; } echo '</span>'; if ($expired) { echo '<span class="crm-gadg-title-status"> ', htmlspecialcharsbx(GetMessage('CRM_ACTION_EXPIRED')), '</span>'; } elseif ($completed) { echo '<span class="crm-gadg-title-status"> ', htmlspecialcharsbx(GetMessage('CRM_ACTION_COMPLETED')), '</span>'; } echo '</div>'; if ($descr !== '') { echo '<div class="crm-gadg-text">', $descr, '</div>'; } echo '<div class="crm-gadg-footer">'; $ownerTypeID = isset($item['OWNER_TYPE_ID']) ? intval($item['OWNER_TYPE_ID']) : 0; $ownerID = isset($item['OWNER_ID']) ? intval($item['OWNER_ID']) : 0; $referenceCaption = ''; $referenceHtml = ''; if ($ownerTypeID > 0 && $ownerID > 0) { if ($ownerTypeID === CCrmOwnerType::Lead) { $referenceCaption = htmlspecialcharsbx(GetMessage('CRM_ACTION_REFERENCE_LEAD')); $key = "{$ownerTypeID}_{$ownerID}"; if (!(isset($ownerDataCache[$key]) && isset($ownerDataCache[$key]['TITLE']))) { $dbRes = CCrmLead::GetListEx(array(), array('ID' => $ownerID), false, false, array('TITLE')); if ($arRes = $dbRes->Fetch()) { $ownerDataCache[$key] = array('TITLE' => $arRes['TITLE']); } } $referenceHtml = CCrmViewHelper::PrepareEntityBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Lead, 'ENTITY_ID' => $ownerID, 'PREFIX' => uniqid("{$prefix}_"), 'TITLE' => $ownerDataCache[$key]['TITLE'], 'CLASS_NAME' => 'crm-gadg-link')); } elseif ($ownerTypeID === CCrmOwnerType::Deal) { $referenceCaption = htmlspecialcharsbx(GetMessage('CRM_ACTION_REFERENCE_DEAL')); $key = "{$ownerTypeID}_{$ownerID}"; if (!(isset($ownerDataCache[$key]) && isset($ownerDataCache[$key]['TITLE']))) { $dbRes = CCrmDeal::GetListEx(array(), array('ID' => $ownerID), false, false, array('TITLE')); if ($arRes = $dbRes->Fetch()) { $ownerDataCache[$key] = array('TITLE' => $arRes['TITLE']); } } $referenceHtml = CCrmViewHelper::PrepareEntityBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Deal, 'ENTITY_ID' => $ownerID, 'PREFIX' => uniqid("{$prefix}_"), 'TITLE' => $ownerDataCache[$key]['TITLE'], 'CLASS_NAME' => 'crm-gadg-link')); } } if ($referenceHtml !== '') { echo '<div class="crm-gadg-footer-row">'; echo '<span class="crm-gadg-footer-left">', $referenceCaption, ':</span>'; echo '<span class="crm-gadg-footer-right">', $referenceHtml, '</span>'; echo '</div>'; } if ($displayClient) { //Looking for first contact or company $clientHtml = ''; $commLoaded = isset($item['COMMUNICATIONS_LOADED']) ? $item['COMMUNICATIONS_LOADED'] : true; if ($commLoaded && is_array($item['COMMUNICATIONS'])) { $comms = $item['COMMUNICATIONS']; } else { //Communications are disabled. Try to load first 3 communications to resolve client $comms = CCrmActivity::GetCommunications($item['~ID'], 3); } foreach ($comms as &$comm) { $commOwnerTypeID = isset($comm['ENTITY_TYPE_ID']) ? intval($comm['ENTITY_TYPE_ID']) : 0; $commOwnerID = isset($comm['ENTITY_ID']) ? intval($comm['ENTITY_ID']) : 0; if ($commOwnerTypeID <= 0 || $commOwnerID <= 0) { continue; } $settings = isset($comm['ENTITY_SETTINGS']) ? $comm['ENTITY_SETTINGS'] : array(); if ($commOwnerTypeID === CCrmOwnerType::Company) { $clientHtml = CCrmViewHelper::PrepareClientBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $commOwnerID, 'PREFIX' => uniqid("{$prefix}_"), 'TITLE' => isset($settings['COMPANY_TITLE']) ? $settings['COMPANY_TITLE'] : '', 'CLASS_NAME' => 'crm-gadg-link')); break; } elseif ($commOwnerTypeID === CCrmOwnerType::Contact) { $clientHtml = CCrmViewHelper::PrepareClientBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $commOwnerID, 'PREFIX' => uniqid("{$prefix}_"), 'NAME' => isset($settings['NAME']) ? $settings['NAME'] : '', 'LAST_NAME' => isset($settings['LAST_NAME']) ? $settings['LAST_NAME'] : '', 'SECOND_NAME' => isset($settings['SECOND_NAME']) ? $settings['SECOND_NAME'] : '', 'CLASS_NAME' => 'crm-gadg-link')); break; } } unset($comm); if ($clientHtml !== '') { echo '<div class="crm-gadg-footer-row">'; echo '<span class="crm-gadg-footer-left">', htmlspecialcharsbx(GetMessage('CRM_ACTION_CUSTOMER')), ':</span>'; echo '<span class="crm-gadg-footer-right">', $clientHtml, '</span>'; echo '</div>'; } } echo '</div>'; echo '</div>'; }