Exemple #1
0
 function __CrmEntitySummaryRenderHorSectionItem(&$item)
 {
     $type = isset($item['TYPE']) ? strtoupper($item['TYPE']) : '';
     $title = isset($item['TITLE']) ? $item['TITLE'] : '';
     if ($title !== '') {
         $title .= ':';
     }
     $params = isset($item['PARAMS']) && is_array($item['PARAMS']) ? $item['PARAMS'] : array();
     if ($type === '') {
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text">', htmlspecialcharsbx(isset($item['VALUE']) ? $item['VALUE'] : ''), '</span>';
     } elseif ($type === 'PROGRESS') {
         echo '<div class="crm-detail-stage crm-detail-info-item">', '<div class="crm-detail-stage-name">', htmlspecialcharsbx($title), '</div>', CCrmViewHelper::RenderProgressControl($params), '</div>';
     } elseif ($type === 'SELECT') {
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>';
         echo '<span class="crm-detail-info-item-text">';
         $params['CONTAINER_CLASS'] = 'crm-item-type';
         $params['TEXT_CLASS'] = 'crm-item-type-text';
         $params['ARROW_CLASS'] = 'crm-item-type-text-corner';
         CCrmViewHelper::RenderSelector($params);
         echo '</span>';
     } elseif ($type === 'CLIENT_INFO') {
         echo '<div class="crm-item-client"><span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text">', CCrmViewHelper::PrepareClientInfoV2($params), '</span></div>';
     } elseif ($type === 'CLIENT_BALLOON') {
         if (isset($params['name'])) {
             $title = $params['name'];
             if ($title !== '') {
                 $title .= ':';
             }
         }
         echo '<div class="crm-item-client-ballon"><span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text">';
         if (isset($params['value'])) {
             echo $params['value'];
         } else {
             echo CCrmViewHelper::PrepareEntityBaloonHtml($params);
         }
         echo '</span></div>';
     } elseif ($type === 'MULTIFIELD') {
         $typeName = isset($params['TYPE']) ? $params['TYPE'] : '';
         $values = isset($params['VALUES']) ? $params['VALUES'] : array();
         $valueTypes = isset($params['VALUE_TYPES']) ? $params['VALUE_TYPES'] : array();
         $valueCount = isset($params['VALUE_COUNT']) ? intval($params['VALUE_COUNT']) : 0;
         $displayIfEmpty = isset($params['DISPLAY_IF_EMPTY']) ? $params['DISPLAY_IF_EMPTY'] : true;
         if (!$displayIfEmpty && $valueCount <= 0) {
             return;
         }
         $options = isset($item['OPTIONS']) && is_array($item['OPTIONS']) ? $item['OPTIONS'] : array();
         $enableSip = is_array($options) && isset($options['ENABLE_SIP']) && (bool) $options['ENABLE_SIP'];
         $titleClassName = 'crm-detail-info-item-name';
         if ($enableSip) {
             $titleClassName .= ' crm-detail-info-item-name-tel-sip';
         }
         $contentClassName = 'crm-detail-info-item-text crm-item-tel';
         if ($enableSip) {
             $contentClassName .= ' crm-item-tel-tel-sip';
         }
         echo '<span class="' . $titleClassName . '">', htmlspecialcharsbx($title), '</span>', '<span class="' . $contentClassName . '">';
         echo CCrmViewHelper::PrepareFirstMultiFieldHtml($typeName, $values, $valueTypes, array(), $options);
         if ($valueCount > 1) {
             $prefix = isset($params['PREFIX']) ? $params['PREFIX'] : '';
             $anchorID = ($prefix !== '' ? "{$prefix}_" : '') . strtolower($typeName);
             echo '<span class="crm-item-tel-list" id="', htmlspecialcharsbx($anchorID), '"', ' onclick="', CCrmViewHelper::PrepareMultiFieldValuesPopup($anchorID, $anchorID, $typeName, $values, $valueTypes, $options), '"></span>';
         }
         echo '</span>';
     } elseif ($type === 'RESPONSIBLE') {
         CCrmViewHelper::RenderResponsiblePanel($params);
     } elseif ($type === 'MODIFICATION_INFO') {
         $date = isset($params['DATE']) ? $params['DATE'] : '';
         $userName = isset($params['USER_NAME']) ? $params['USER_NAME'] : '';
         $pathToUser = isset($params['PATH_TO_USER']) ? $params['PATH_TO_USER'] : '';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text">';
         echo $date !== '' ? FormatDate('SHORT', MakeTimeStamp($date)) : '-';
         if ($userName !== '' && $pathToUser !== '') {
             echo ', <a class="crm-detail-info-link" href="', htmlspecialcharsbx($pathToUser), '">', htmlspecialcharsbx($userName), '</a>';
         }
         echo '</span>';
     } elseif ($type === 'DURATION') {
         $from = !empty($params['FROM']) ? CCrmComponentHelper::TrimDateTimeString(ConvertTimeStamp(MakeTimeStamp($params['FROM']), 'SHORT', SITE_ID)) : '-';
         $to = !empty($params['TO']) ? CCrmComponentHelper::TrimDateTimeString(ConvertTimeStamp(MakeTimeStamp($params['TO']), 'SHORT', SITE_ID)) : '-';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text crm-item-date">';
         echo '<i>', htmlspecialcharsbx(GetMessage('CRM_DURATION_FROM')), '</i>', '<span class="crm-item-date-calendar">', htmlspecialcharsbx($from), '</span>', '<i>', htmlspecialcharsbx(GetMessage('CRM_DURATION_TO')), '</i>', '<span class="crm-item-date-calendar">', htmlspecialcharsbx($to), '</span>';
         echo '</span>';
     } elseif ($type === 'MONEY') {
         $fieldID = isset($params['FIELD_ID']) ? $params['FIELD_ID'] : '';
         $value = isset($params['VALUE']) ? $params['VALUE'] : '';
         $currencyID = isset($params['CURRENCY_ID']) ? $params['CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
         $editable = isset($params['EDITABLE']) ? $params['EDITABLE'] : false;
         echo '<div class="crm-item-sum', $editable ? ' crm-instant-editor-fld-block' : '', '">';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>';
         if (!$editable) {
             echo '<span class="crm-detail-info-item-text">', CCrmCurrency::MoneyToString($value, $currencyID), '</span>';
         } else {
             echo '<span class="crm-detail-info-item-text">';
             CCrmViewHelper::RenderInstantEditorField(array('TYPE' => 'TEXT', 'FIELD_ID' => $fieldID, 'VALUE' => $value, 'SUFFIX_HTML' => "&nbsp;{$currencyID}", 'INPUT_WIDTH' => 80));
             echo '</span>';
         }
         echo '</div>';
     } elseif ($type === 'PERCENT') {
         $fieldID = isset($params['FIELD_ID']) ? $params['FIELD_ID'] : '';
         $value = isset($params['VALUE']) ? $params['VALUE'] : '';
         $editable = isset($params['EDITABLE']) ? $params['EDITABLE'] : false;
         echo '<div', $editable ? ' class="crm-instant-editor-fld-block"' : '', '>';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>';
         if (!$editable) {
             echo '<span class="crm-detail-info-item-text">', htmlspecialcharsbx($value), '&nbsp;%</span>';
         } else {
             echo '<span class="crm-detail-info-item-text">';
             CCrmViewHelper::RenderInstantEditorField(array('TYPE' => 'TEXT', 'FIELD_ID' => $fieldID, 'VALUE' => $value, 'SUFFIX_HTML' => "%", 'INPUT_WIDTH' => 30));
             echo '</span>';
         }
         echo '</div>';
     } elseif ($type === 'TEXT') {
         $fieldID = isset($params['FIELD_ID']) ? $params['FIELD_ID'] : '';
         $value = isset($params['VALUE']) ? $params['VALUE'] : '';
         $editable = isset($params['EDITABLE']) ? $params['EDITABLE'] : false;
         $width = isset($params['WIDTH']) ? $params['WIDTH'] : 50;
         echo '<div', $editable ? ' class="crm-instant-editor-fld-block"' : '', '>';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>';
         if (!$editable) {
             echo '<span class="crm-detail-info-item-text">', htmlspecialcharsbx($value), '</span>';
         } else {
             echo '<span class="crm-detail-info-item-text"><span class="crm-detail-item-text-alignment">';
             CCrmViewHelper::RenderInstantEditorField(array('TYPE' => 'TEXT', 'FIELD_ID' => $fieldID, 'VALUE' => $value, 'INPUT_WIDTH' => $width));
             echo '</span></span>';
         }
         echo '</div>';
     } elseif ($type === 'CUSTOM') {
         $fieldID = isset($params['FIELD_ID']) ? $params['FIELD_ID'] : '';
         $value = isset($params['VALUE']) ? $params['VALUE'] : '';
         echo $value;
     }
 }
Exemple #2
0
 function __CrmQuickPanelViewRenderSection($sectionID, &$config, &$entityData, &$entityFields, &$entityContext, $panelID)
 {
     if (!isset($config[$sectionID])) {
         return;
     }
     $sectionConfig = $config[$sectionID];
     $sectionConfig = $sectionConfig !== '' ? explode(',', $sectionConfig) : array();
     foreach ($sectionConfig as $fieldID) {
         $fieldID = trim($fieldID);
         if (!isset($entityData[$fieldID])) {
             continue;
         }
         $fieldData = $entityData[$fieldID];
         $type = isset($fieldData['type']) ? $fieldData['type'] : '';
         $data = isset($fieldData['data']) ? $fieldData['data'] : array();
         $enableCaption = isset($fieldData['enableCaption']) ? $fieldData['enableCaption'] : true;
         $editable = $enableEditButton = isset($fieldData['editable']) ? $fieldData['editable'] : false;
         $visible = isset($fieldData['visible']) ? $fieldData['visible'] : true;
         $containerID = $panelID . '_' . $sectionID . '_' . strtolower($fieldID);
         echo '<tr id="', htmlspecialcharsbx($containerID), '"', $visible ? '' : ' style="display:none;"', '>';
         echo '<td class="crm-lead-header-inner-cell crm-lead-header-inner-cell-move"><div class="crm-lead-header-inner-move-btn"></div></td>';
         if ($enableCaption) {
             echo '<td class="crm-lead-header-inner-cell crm-lead-header-inner-cell-title">';
             echo isset($fieldData['caption']) ? htmlspecialcharsbx($fieldData['caption']) : $fieldID;
             echo '</td>';
             if ($sectionID !== 'bottom') {
                 echo '<td class="crm-lead-header-inner-cell">';
             } else {
                 echo '<td class="crm-lead-header-inner-cell crm-lead-header-com-cell">';
             }
         } else {
             if ($sectionID !== 'bottom') {
                 echo '<td class="crm-lead-header-inner-cell crm-lead-header-inf-block" colspan="2">';
             } else {
                 echo '<td class="crm-lead-header-inner-cell crm-lead-header-com-cell crm-lead-header-inf-block" colspan="2">';
             }
         }
         if ($type === 'datetime') {
             echo '<div class="crm-lead-header-date-wrapper">';
             echo '<div class="crm-lead-header-date-view-wrapper">', isset($data['text']) ? htmlspecialcharsbx($data['text']) : '', '</div>';
             echo '<div class="crm-lead-header-date-edit-wrapper" style="display: none;"></div>';
             echo '</div>';
         } elseif ($type === 'boolean') {
             if (isset($data['baseType']) && $data['baseType'] === 'char') {
                 $checked = isset($data['value']) && strtoupper($data['value']) === 'Y';
             } else {
                 $checked = isset($data['value']) && $data['value'] > 0;
             }
             echo '<div class="crm-lead-header-boolean-wrapper">';
             echo '<div class="crm-lead-header-boolean-view-wrapper">', GetMessage($checked ? 'MAIN_YES' : 'MAIN_NO'), '</div>';
             echo '<div class="crm-lead-header-boolean-edit-wrapper" style="display: none;"></div>';
             echo '</div>';
         } elseif ($type === 'enumeration') {
             echo '<div class="crm-lead-header-enumeration-wrapper">';
             echo '<div class="crm-lead-header-enumeration-view-wrapper">', $data['text'] !== '' ? htmlspecialcharsbx($data['text']) : GetMessage('CRM_ENTITY_QPV_CONTROL_NOT_SELECTED'), '</div>';
             echo '<div class="crm-lead-header-enumeration-edit-wrapper" style="display: none;"></div>';
             echo '</div>';
         } elseif ($type === 'link') {
             echo '<div class="crm-lead-header-link-wrapper">';
             $text = isset($data['text']) ? htmlspecialcharsbx($data['text']) : '';
             $url = isset($data['url']) ? htmlspecialcharsbx($data['url']) : '';
             echo '<a class="crm-link" target="_blank" href="', $url, '">', $text, '</a>';
             echo '</div>';
         } elseif ($type === 'multiField') {
             $typeName = isset($data['type']) ? $data['type'] : array();
             $options = isset($entityContext['MULTI_FIELDS_OPTIONS']) ? $entityContext['MULTI_FIELDS_OPTIONS'] : array();
             $options['TOPMOST'] = true;
             echo CCrmViewHelper::PrepareFormMultiField($entityFields, $typeName, strtolower($panelID) . '_' . uniqid(), null, $options);
         } elseif ($type === 'address') {
             $lines = isset($data['lines']) ? $data['lines'] : array();
             $lineQty = count($lines);
             if ($lineQty > 0) {
                 if ($sectionID === 'bottom') {
                     echo '<div class="crm-lead-header-lhe-wrapper">';
                     echo '<div class="crm-lead-header-lhe-view-wrapper">';
                     echo implode(', ', $lines);
                     echo '</div>';
                     echo '</div>';
                 } else {
                     $className = $lineQty > 1 ? "crm-detail-info-item-text crm-detail-info-item-list" : "crm-detail-info-item-text";
                     echo '<span class="', $className, '">';
                     echo $lines[0];
                     if ($lineQty > 1) {
                         echo '<span class="crm-item-tel-list"></span>';
                     }
                     echo '</span>';
                 }
             }
         } elseif ($type === 'responsible') {
             if ($enableEditButton) {
                 $enableEditButton = false;
             }
             $guid = strtolower($panelID) . '_' . strtolower($data['fieldID']) . '_' . uniqid();
             CCrmViewHelper::RenderResponsiblePanel(array('FIELD_ID' => $data['fieldID'], 'USER_ID' => $data['userID'], 'NAME' => $data['name'], 'PHOTO' => $data['photoID'], 'PHOTO_URL' => $data['photoUrl'], 'WORK_POSITION' => $data['position'], 'USER_PROFILE_URL_TEMPLATE' => $data['profileUrlTemplate'], 'PREFIX' => $guid, 'EDITABLE' => $editable, 'INSTANT_EDITOR_ID' => $data['editorID'], 'SERVICE_URL' => $data['serviceUrl'], 'USER_INFO_PROVIDER_ID' => $data['userInfoProviderId'], 'ENABLE_LAZY_LOAD' => true, 'USER_SELECTOR_NAME' => $guid));
         } elseif ($type === 'client') {
             $entityTypeName = isset($data['ENTITY_TYPE_NAME']) ? $data['ENTITY_TYPE_NAME'] : '';
             $key = $entityTypeName === CCrmOwnerType::CompanyName ? 'COMPANY_INFO' : 'CONTACT_INFO';
             $entityInfo = isset($entityContext[$key]) ? $entityContext[$key] : null;
             if (is_array($entityInfo)) {
                 $data['PREFIX'] = strtolower($panelID) . '_' . strtolower($fieldID) . '_' . uniqid();
                 if (isset($entityInfo['FM'])) {
                     $data['FM'] = $entityInfo['FM'];
                 }
                 //if(isset($fieldData['caption']))
                 //{
                 //	$data['TITLE'] = $fieldData['caption'];
                 //}
                 $options = isset($entityInfo['MULTI_FIELDS_OPTIONS']) ? $entityInfo['MULTI_FIELDS_OPTIONS'] : array();
                 $options['TOPMOST'] = true;
                 CCrmViewHelper::RenderClientSummaryPanel($data, $options);
             }
         } elseif ($type === 'html') {
             echo '<div class="crm-lead-header-lhe-wrapper">';
             echo '<div class="crm-lead-header-lhe-view-wrapper">', isset($data['html']) ? $data['html'] : '', '</div>';
             echo '<div class="crm-lead-header-lhe-edit-wrapper" style="display: none;"></div>';
             echo '</div>';
         } elseif ($type === 'custom') {
             echo '<div class="crm-lead-header-custom-wrapper">';
             if (isset($data['html'])) {
                 echo $data['html'];
             }
             echo '</div>';
         } elseif ($type === 'text') {
             $html = isset($data['text']) ? htmlspecialcharsbx($data['text']) : '';
             if (isset($data['multiline']) && $data['multiline']) {
                 $html = preg_replace('/(\\n)/', '<br/>', $html);
             }
             echo '<div class="crm-lead-header-text-wrapper">';
             echo '<div class="crm-lead-header-text-view-wrapper">', $html, '</div>';
             echo '<div class="crm-lead-header-text-edit-wrapper" style="display: none;"></div>';
             echo '</div>';
         } else {
             echo '<div class="crm-lead-header-text-wrapper">';
             echo '<div class="crm-lead-header-text-view-wrapper">', isset($data['text']) ? htmlspecialcharsbx($data['text']) : '', '</div>';
             echo '<div class="crm-lead-header-text-edit-wrapper" style="display: none;"></div>';
             echo '</div>';
         }
         echo '</td>';
         echo '<td class="crm-lead-header-inner-cell crm-lead-header-inner-cell-del">';
         //echo '<div class="crm-lead-header-inner-del-btn"></div>';
         if ($enableEditButton) {
             echo '<div class="crm-lead-header-inner-edit-btn"></div>';
         }
         echo '</td>';
         echo '</tr>';
     }
 }