Example #1
0
 public static function GetEntityTypes()
 {
     if (self::$ENTITY_TYPES === null) {
         self::$ENTITY_TYPES = array('PHONE' => array('WORK' => array('FULL' => GetMessage('CRM_FM_ENTITY_PHONE_WORK'), 'SHORT' => GetMessage('CRM_FM_ENTITY_PHONE_WORK_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_PHONE_WORK_ABBR'), 'TEMPLATE' => '<a href="' . CCrmCallToUrl::Format('#VALUE#') . '">#VALUE_HTML#</a>'), 'MOBILE' => array('FULL' => GetMessage('CRM_FM_ENTITY_PHONE_MOBILE'), 'SHORT' => GetMessage('CRM_FM_ENTITY_PHONE_MOBILE_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_PHONE_MOBILE_ABBR'), 'TEMPLATE' => '<a href="' . CCrmCallToUrl::Format('#VALUE#') . '">#VALUE_HTML#</a>'), 'FAX' => array('FULL' => GetMessage('CRM_FM_ENTITY_PHONE_FAX'), 'SHORT' => GetMessage('CRM_FM_ENTITY_PHONE_FAX_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_PHONE_FAX_ABBR'), 'TEMPLATE' => '<a href="' . CCrmCallToUrl::Format('#VALUE#') . '">#VALUE_HTML#</a>'), 'HOME' => array('FULL' => GetMessage('CRM_FM_ENTITY_PHONE_HOME'), 'SHORT' => GetMessage('CRM_FM_ENTITY_PHONE_HOME_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_PHONE_HOME_ABBR'), 'TEMPLATE' => '<a href="' . CCrmCallToUrl::Format('#VALUE#') . '">#VALUE_HTML#</a>'), 'PAGER' => array('FULL' => GetMessage('CRM_FM_ENTITY_PHONE_PAGER'), 'SHORT' => GetMessage('CRM_FM_ENTITY_PHONE_PAGER_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_PHONE_PAGER_ABBR'), 'TEMPLATE' => '<a href="' . CCrmCallToUrl::Format('#VALUE#') . '">#VALUE_HTML#</a>'), 'OTHER' => array('FULL' => GetMessage('CRM_FM_ENTITY_PHONE_OTHER'), 'SHORT' => GetMessage('CRM_FM_ENTITY_PHONE_OTHER_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_PHONE_OTHER_ABBR'), 'TEMPLATE' => '<a href="' . CCrmCallToUrl::Format('#VALUE#') . '">#VALUE_HTML#</a>')), 'WEB' => array('WORK' => array('FULL' => GetMessage('CRM_FM_ENTITY_WEB_WORK'), 'SHORT' => GetMessage('CRM_FM_ENTITY_WEB_WORK_SHORT'), 'TEMPLATE' => '<a href="http://#VALUE_URL#" target="_blank">#VALUE_HTML#</a>'), 'HOME' => array('FULL' => GetMessage('CRM_FM_ENTITY_WEB_HOME'), 'SHORT' => GetMessage('CRM_FM_ENTITY_WEB_HOME_SHORT'), 'TEMPLATE' => '<a href="http://#VALUE_URL#" target="_blank">#VALUE_HTML#</a>'), 'FACEBOOK' => array('FULL' => GetMessage('CRM_FM_ENTITY_WEB_FACEBOOK'), 'SHORT' => GetMessage('CRM_FM_ENTITY_WEB_FACEBOOK_SHORT'), 'TEMPLATE' => '<a href="http://www.facebook.com/#VALUE_URL#/" target="_blank">#VALUE_HTML#</a>'), 'LIVEJOURNAL' => array('FULL' => GetMessage('CRM_FM_ENTITY_WEB_LIVEJOURNAL'), 'SHORT' => GetMessage('CRM_FM_ENTITY_WEB_LIVEJOURNAL_SHORT'), 'TEMPLATE' => '<a href="http://#VALUE_URL#.livejournal.com/" target="_blank">#VALUE_HTML#</a>'), 'TWITTER' => array('FULL' => GetMessage('CRM_FM_ENTITY_WEB_TWITTER'), 'SHORT' => GetMessage('CRM_FM_ENTITY_WEB_TWITTER_SHORT'), 'TEMPLATE' => '<a href="http://twitter.com/#VALUE_URL#/" target="_blank">#VALUE_HTML#</a>'), 'OTHER' => array('FULL' => GetMessage('CRM_FM_ENTITY_WEB_OTHER'), 'SHORT' => GetMessage('CRM_FM_ENTITY_WEB_OTHER_SHORT'), 'TEMPLATE' => '<a href="http://#VALUE_URL#" target="_blank">#VALUE_HTML#</a>')), 'EMAIL' => array('WORK' => array('FULL' => GetMessage('CRM_FM_ENTITY_EMAIL_WORK'), 'SHORT' => GetMessage('CRM_FM_ENTITY_EMAIL_WORK_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_EMAIL_WORK_ABBR'), 'TEMPLATE' => '<a href="mailto:#VALUE_URL#">#VALUE_HTML#</a>'), 'HOME' => array('FULL' => GetMessage('CRM_FM_ENTITY_EMAIL_HOME'), 'SHORT' => GetMessage('CRM_FM_ENTITY_EMAIL_HOME_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_EMAIL_HOME_ABBR'), 'TEMPLATE' => '<a href="mailto:#VALUE_URL#">#VALUE_HTML#</a>'), 'OTHER' => array('FULL' => GetMessage('CRM_FM_ENTITY_EMAIL_OTHER'), 'SHORT' => GetMessage('CRM_FM_ENTITY_EMAIL_OTHER_SHORT'), 'ABBR' => GetMessage('CRM_FM_ENTITY_EMAIL_OTHER_ABBR'), 'TEMPLATE' => '<a href="mailto:#VALUE_URL#">#VALUE_HTML#</a>')), 'IM' => array('SKYPE' => array('FULL' => GetMessage('CRM_FM_ENTITY_IM_SKYPE'), 'SHORT' => GetMessage('CRM_FM_ENTITY_IM_SKYPE_SHORT'), 'TEMPLATE' => '<a href="skype:#VALUE_URL#?chat">#VALUE_HTML#</a>'), 'ICQ' => array('FULL' => GetMessage('CRM_FM_ENTITY_IM_ICQ'), 'SHORT' => GetMessage('CRM_FM_ENTITY_IM_ICQ_SHORT'), 'TEMPLATE' => '<a href="http://www.icq.com/people/#VALUE_URL#/" target="_blank">#VALUE_HTML#</a>'), 'MSN' => array('FULL' => GetMessage('CRM_FM_ENTITY_IM_MSN'), 'SHORT' => GetMessage('CRM_FM_ENTITY_IM_MSN_SHORT'), 'TEMPLATE' => '<a href="msn:#VALUE_URL#">#VALUE_HTML#</a>'), 'JABBER' => array('FULL' => GetMessage('CRM_FM_ENTITY_IM_JABBER'), 'SHORT' => GetMessage('CRM_FM_ENTITY_IM_JABBER_SHORT'), 'TEMPLATE' => '#VALUE_HTML#'), 'OTHER' => array('FULL' => GetMessage('CRM_FM_ENTITY_IM_OTHER'), 'SHORT' => GetMessage('CRM_FM_ENTITY_IM_OTHER_SHORT'), 'TEMPLATE' => '#VALUE_HTML#')));
     }
     return self::$ENTITY_TYPES;
 }
Example #2
0
    echo CUtil::JSEscape($instantEditorID);
    ?>
',
						{
							containerID: [],
							ownerType: 'CO',
							ownerID: <?php 
    echo $arResult['ELEMENT_ID'];
    ?>
,
							url: '/bitrix/components/bitrix/crm.company.show/ajax.php?<?php 
    echo bitrix_sessid_get();
    ?>
',
							callToFormat: <?php 
    echo CCrmCallToUrl::GetFormat(CCrmCallToUrl::Bitrix);
    ?>
						}
				);

				<?php 
    if (isset($arResult['ENABLE_BIZPROC_LAZY_LOADING']) && $arResult['ENABLE_BIZPROC_LAZY_LOADING'] === true) {
        ?>
				var bpContainerId = "<?php 
        echo $arResult['BIZPROC_CONTAINER_ID'];
        ?>
";
				if(BX(bpContainerId))
				{
					BX.CrmBizprocDispatcher.create(
						"<?php 
Example #3
0
$arResult['PREFIX'] = isset($arResult['PREFIX']) ? strval($arResult['PREFIX']) : 'crm_quote_show';
$activityEditorID = $arResult['PREFIX'] . '_send_email';
$activityEditorSettings = array('CONTAINER_ID' => '', 'EDITOR_ID' => $activityEditorID, 'PREFIX' => $arResult['PREFIX'], 'ENABLE_UI' => false, 'ENABLE_TOOLBAR' => false, 'ENABLE_EMAIL_ADD' => true);
$leadID = isset($arResult['ELEMENT']['LEAD_ID']) ? intval($arResult['ELEMENT']['LEAD_ID']) : 0;
if ($leadID > 0) {
    $activityEditorSettings['OWNER_TYPE'] = CCrmOwnerType::LeadName;
    $activityEditorSettings['OWNER_ID'] = $leadID;
}
$dealID = isset($arResult['ELEMENT']['DEAL_ID']) ? intval($arResult['ELEMENT']['DEAL_ID']) : 0;
if ($dealID > 0) {
    $activityEditorSettings['OWNER_TYPE'] = CCrmOwnerType::DealName;
    $activityEditorSettings['OWNER_ID'] = $dealID;
}
$APPLICATION->IncludeComponent('bitrix:crm.activity.editor', '', $activityEditorSettings, $component, array('HIDE_ICONS' => 'Y'));
$prefixLower = strtolower($arResult['PREFIX']);
$scriptSettings = array('formId' => $arResult['FORM_ID'], 'enableInstantEdit' => (bool) $arResult['ENABLE_INSTANT_EDIT'], 'instantEditorId' => $instantEditorID, 'summaryContainerId' => $summaryContainerID, 'productRowsTabId' => $arResult['PRODUCT_ROW_TAB_ID'], 'ownerType' => CCrmQuote::OWNER_TYPE, 'ownerId' => $arResult['ELEMENT_ID'], 'url' => '/bitrix/components/bitrix/crm.quote.show/ajax.php?' . bitrix_sessid_get(), 'callToFormat' => CCrmCallToUrl::GetFormat(CCrmCallToUrl::Bitrix), 'messages' => array('editButtonTitle' => GetMessage('CRM_EDIT_BTN_TTL'), 'lockButtonTitle' => GetMessage('CRM_LOCK_BTN_TTL')), 'filesFieldSettings' => array('containerId' => $arResult['FILES_FIELD_CONTAINER_ID'], 'controlMode' => 'view', 'webDavSelectUrl' => $arResult['WEBDAV_SELECT_URL'], 'webDavUploadUrl' => $arResult['WEBDAV_UPLOAD_URL'], 'webDavShowUrl' => $arResult['WEBDAV_SHOW_URL'], 'files' => $arResult['ELEMENT']['STORAGE_ELEMENT_IDS'], 'uploadContainerID' => $prefixLower . '_upload_container', 'uploadControlID' => $prefixLower . '_uploader', 'uploadInputID' => $prefixLower . '_saved_file', 'storageTypeId' => $arResult['ELEMENT']['STORAGE_TYPE_ID'], 'defaultStorageTypeId' => CCrmQuote::GetDefaultStorageTypeID(), 'serviceUrl' => '/bitrix/components/bitrix/crm.quote.edit/ajax.php?siteID=' . SITE_ID . '&' . bitrix_sessid_get(), 'messages' => array('webdavFileLoading' => GetMessage('CRM_QUOTE_WEBDAV_FILE_LOADING'), 'webdavFileAlreadyExists' => GetMessage('CRM_QUOTE_WEBDAV_FILE_ALREADY_EXISTS'), 'webdavFileAccessDenied' => GetMessage('CRM_QUOTE_WEBDAV_FILE_ACCESS_DENIED'), 'webdavAttachFile' => GetMessage('CRM_QUOTE_WEBDAV_ATTACH_FILE'), 'webdavTitle' => GetMessage('CRM_QUOTE_WEBDAV_TITLE'), 'webdavDragFile' => GetMessage('CRM_QUOTE_WEBDAV_DRAG_FILE'), 'webdavSelectFile' => GetMessage('CRM_QUOTE_WEBDAV_SELECT_FILE'), 'webdavSelectFromLib' => GetMessage('CRM_QUOTE_WEBDAV_SELECT_FROM_LIB'), 'webdavLoadFiles' => GetMessage('CRM_QUOTE_WEBDAV_LOAD_FILES'), 'diskAttachedFiles' => GetMessage('CRM_QUOTE_DISK_ATTACHED_FILES'))));
CCrmQuote::PrepareStorageElementInfo($arResult['ELEMENT']);
if (isset($arResult['ELEMENT']['WEBDAV_ELEMENTS'])) {
    $scriptSettings['filesFieldSettings']['webdavelements'] = $arResult['ELEMENT']['WEBDAV_ELEMENTS'];
} elseif (isset($arResult['ELEMENT']['DISK_FILES'])) {
    $scriptSettings['filesFieldSettings']['diskfiles'] = $arResult['ELEMENT']['DISK_FILES'];
}
?>
<script type="text/javascript">
	BX.ready(
		function()
		{
			BX.CrmQuoteShowInitScript(<?php 
echo CUtil::PhpToJSObject($scriptSettings);
?>
);
Example #4
0
 public static function GetAllDescriptions()
 {
     if (!self::$ALL_DESCRIPTIONS) {
         IncludeModuleLangFile(__FILE__);
         self::$ALL_DESCRIPTIONS = array(self::Standard => GetMessage('CRM_CALLTO_URL_STANDARD'), self::Slashless => GetMessage('CRM_CALLTO_URL_SLASHLESS'), self::Bitrix => GetMessage('CRM_CALLTO_URL_BITRIX'), self::Custom => GetMessage('CRM_CALLTO_URL_CUSTOM'));
     }
     return self::$ALL_DESCRIPTIONS;
 }
Example #5
0
$arResult['FIELDS']['tab_deal_config'][] = array('id' => 'DEAL_DEFAULT_LIST_VIEW', 'name' => GetMessage('CRM_FIELD_DEAL_DEFAULT_LIST_VIEW'), 'items' => \Bitrix\Crm\Settings\DealSettings::getViewDescriptions(), 'type' => 'list', 'value' => \Bitrix\Crm\Settings\DealSettings::getDefaultListViewID(), 'required' => false);
$arResult['FIELDS']['tab_deal_config'][] = array('id' => 'REFRESH_DEAL_CLOSEDATE', 'name' => GetMessage('CRM_FIELD_REFRESH_DEAL_CLOSEDATE'), 'type' => 'checkbox', 'value' => \Bitrix\Crm\Settings\DealSettings::isCloseDateSyncEnabled(), 'required' => false);
$arResult['FIELDS']['tab_activity_config'][] = array('id' => 'CALENDAR_DISPLAY_COMPLETED_CALLS', 'name' => GetMessage('CRM_FIELD_DISPLAY_COMPLETED_CALLS_IN_CALENDAR'), 'type' => 'checkbox', 'value' => CCrmActivityCalendarSettings::GetValue(CCrmActivityCalendarSettings::DisplayCompletedCalls, true), 'required' => false);
$arResult['FIELDS']['tab_activity_config'][] = array('id' => 'CALENDAR_DISPLAY_COMPLETED_MEETINGS', 'name' => GetMessage('CRM_FIELD_DISPLAY_COMPLETED_MEETINGS_IN_CALENDAR'), 'type' => 'checkbox', 'value' => CCrmActivityCalendarSettings::GetValue(CCrmActivityCalendarSettings::DisplayCompletedMeetings, true), 'required' => false);
$arResult['FIELDS']['tab_activity_config'][] = array('id' => 'RECKON_ACTIVITYLESS_ITEMS_IN_COUNTERS', 'name' => GetMessage('CRM_FIELD_RECKON_ACTIVITYLESS_ITEMS_IN_COUNTERS'), 'type' => 'checkbox', 'value' => CCrmUserCounterSettings::GetValue(CCrmUserCounterSettings::ReckonActivitylessItems, true), 'required' => false);
$arResult['FIELDS']['tab_outgoing_email'][] = array('id' => 'SERVICE_CODE_ALLOCATION', 'name' => GetMessage('CRM_FIELD_SERVICE_CODE_ALLOCATION'), 'items' => CCrmEMailCodeAllocation::GetAllDescriptions(), 'type' => 'list', 'value' => CCrmEMailCodeAllocation::GetCurrent(), 'required' => false);
if (Bitrix\Crm\Integration\Bitrix24Email::isEnabled()) {
    if (Bitrix\Crm\Integration\Bitrix24Email::allowDisableSignature()) {
        $arResult['FIELDS']['tab_outgoing_email'][] = array('id' => 'ENABLE_B24_EMAIL_SIGNATURE', 'name' => GetMessage('CRM_FIELD_ENABLE_B24_EMAIL_SIGNATURE'), 'type' => 'checkbox', 'value' => Bitrix\Crm\Integration\Bitrix24Email::isSignatureEnabled(), 'required' => false);
    } else {
        $arResult['FIELDS']['tab_outgoing_email'][] = array('id' => 'ENABLE_B24_EMAIL_SIGNATURE', 'name' => GetMessage('CRM_FIELD_ENABLE_B24_EMAIL_SIGNATURE'), 'type' => 'label', 'value' => Bitrix\Crm\Integration\Bitrix24Email::getSignatureExplanation(), 'required' => false);
    }
}
$arResult['FIELDS']['tab_format'][] = array('id' => 'PERSON_NAME_FORMAT_ID', 'name' => GetMessage('CRM_FIELD_PERSON_NAME_FORMAT'), 'type' => 'list', 'items' => \Bitrix\Crm\Format\PersonNameFormatter::getAllDescriptions(), 'value' => \Bitrix\Crm\Format\PersonNameFormatter::getFormatID(), 'required' => false);
$arResult['FIELDS']['tab_format'][] = array('id' => 'CALLTO_FORMAT', 'name' => GetMessage('CRM_FIELD_CALLTO_FORMAT'), 'type' => 'list', 'items' => CCrmCallToUrl::GetAllDescriptions(), 'value' => CCrmCallToUrl::GetFormat(CCrmCallToUrl::Bitrix), 'required' => false);
$calltoSettings = CCrmCallToUrl::GetCustomSettings();
$arResult['FIELDS']['tab_format'][] = array('id' => 'CALLTO_URL_TEMPLATE', 'name' => GetMessage('CRM_FIELD_CALLTO_URL_TEMPLATE'), 'type' => 'text', 'value' => isset($calltoSettings['URL_TEMPLATE']) ? $calltoSettings['URL_TEMPLATE'] : 'callto:[phone]', 'required' => false);
$arResult['FIELDS']['tab_format'][] = array('id' => 'CALLTO_CLICK_HANDLER', 'name' => GetMessage('CRM_FIELD_CALLTO_CLICK_HANDLER'), 'type' => 'textarea', 'value' => isset($calltoSettings['CLICK_HANDLER']) ? $calltoSettings['CLICK_HANDLER'] : '', 'required' => false);
$arResult['FIELDS']['tab_format'][] = array('id' => 'CALLTO_NORMALIZE_NUMBER', 'name' => GetMessage('CRM_FIELD_CALLTO_NORMALIZE_NUMBER'), 'type' => 'checkbox', 'value' => isset($calltoSettings['NORMALIZE_NUMBER']) ? $calltoSettings['NORMALIZE_NUMBER'] === 'Y' : true, 'required' => false);
$arResult['FIELDS']['tab_format'][] = array('id' => 'section_address_format', 'name' => GetMessage('CRM_SECTION_ADDRESS_FORMAT'), 'type' => 'section');
$curAddrFormatID = \Bitrix\Crm\Format\EntityAddressFormatter::getFormatID();
$addrFormatDescrs = \Bitrix\Crm\Format\EntityAddressFormatter::getAllDescriptions();
$arResult['ADDR_FORMAT_INFOS'] = \Bitrix\Crm\Format\EntityAddressFormatter::getAllExamples();
$arResult['ADDR_FORMAT_CONTROL_PREFIX'] = 'addr_format_';
$addrFormatControls = array();
foreach ($addrFormatDescrs as $addrFormatID => $addrFormatDescr) {
    $isChecked = $addrFormatID === $curAddrFormatID;
    $addrFormatControlID = $arResult['ADDR_FORMAT_CONTROL_PREFIX'] . $addrFormatID;
    $addrFormatControls[] = '<input type="radio" class="crm-dup-control-type-radio" id="' . $addrFormatControlID . '" name="ENTITY_ADDRESS_FORMAT_ID" value="' . $addrFormatID . '"' . ($isChecked ? ' checked="checked"' : '') . '/><label class="crm-dup-control-type-label" for="' . $addrFormatControlID . '">' . htmlspecialcharsbx($addrFormatDescr) . '</label>';
}
$arResult['FIELDS']['tab_format'][] = array('id' => 'ENTITY_ADDRESS_FORMAT', 'type' => 'custom', 'value' => '<div class="crm-dup-control-type-radio-title">' . GetMessage('CRM_FIELD_ENTITY_ADDRESS_FORMAT') . ':</div>' . '<div class="crm-dup-control-type-radio-wrap">' . implode('', $addrFormatControls) . '</div>', 'colspan' => true);
Example #6
0
 if ($typeID === 'PHONE' || $typeID === 'EMAIL' || $typeID === 'WEB') {
     $templateType = '_LINK_';
     if ($typeID === 'WEB' && $valueType !== 'WORK' && $valueType !== 'HOME' && $valueType !== 'OTHER') {
         $editorFieldType .= '-' . strtolower($valueType);
     }
 } elseif ($typeID === 'IM') {
     $templateType = $valueType === 'SKYPE' || $valueType === 'ICQ' || $valueType === 'MSN' ? '_LINK_' : '_INPUT_';
     $editorFieldType .= '-' . strtolower($valueType);
 }
 $template = isset($crmFieldMultiViewTemplates[$templateType]) ? $crmFieldMultiViewTemplates[$templateType] : '';
 if ($template === '') {
     echo CCrmFieldMulti::GetTemplate($typeID, $valueType, $value);
 } else {
     $viewValue = $value;
     if ($typeID === 'PHONE') {
         $viewValue = CCrmCallToUrl::Format($value);
     } elseif ($typeID === 'EMAIL') {
         $viewValue = "mailto:{$value}";
     } elseif ($typeID === 'WEB') {
         if ($valueType === 'OTHER' || $valueType === 'WORK' || $valueType === 'HOME') {
             $hasProto = preg_match('/^http(?:s)?:\\/\\/(.+)/', $value, $urlMatches) > 0;
             if ($hasProto) {
                 $value = $urlMatches[1];
             } else {
                 $viewValue = "http://{$value}";
             }
         } elseif ($valueType === 'FACEBOOK') {
             $viewValue = "http://www.facebook.com/{$value}/";
         } elseif ($valueType === 'TWITTER') {
             $viewValue = "http://twitter.com/{$value}/";
         } elseif ($valueType === 'LIVEJOURNAL') {
 public static function CreateMultiFields($fieldTypeID, &$fieldValues, &$formFields, $fieldParams = array(), $readOnlyMode = true)
 {
     $fieldTypeID = strtoupper(strval($fieldTypeID));
     if ($fieldTypeID === '' || !is_array($fieldValues) || count($fieldValues) === 0 || !is_array($formFields)) {
         return false;
     }
     if (!is_array($fieldParams)) {
         $fieldParams = array();
     }
     foreach ($fieldValues as $ID => &$data) {
         $valueType = isset($data['VALUE_TYPE']) ? strtoupper($data['VALUE_TYPE']) : '';
         $value = isset($data['VALUE']) ? $data['VALUE'] : '';
         $fieldID = "FM.{$fieldTypeID}.{$valueType}";
         $field = array('id' => $fieldID, 'name' => CCrmFieldMulti::GetEntityName($fieldTypeID, $valueType, true));
         if ($readOnlyMode) {
             $field['type'] = 'label';
             $field['value'] = CCrmFieldMulti::GetTemplate($fieldTypeID, $valueType, $value);
         } else {
             $templateType = 'INPUT';
             $editorFieldType = strtolower($fieldTypeID);
             if ($fieldTypeID === 'PHONE' || $fieldTypeID === 'EMAIL' || $fieldTypeID === 'WEB') {
                 $templateType = '_LINK_';
                 if ($fieldTypeID === 'WEB') {
                     if ($valueType !== 'WORK' && $valueType !== 'HOME' && $valueType !== 'OTHER') {
                         $editorFieldType .= '-' . strtolower($valueType);
                     }
                 }
             } elseif ($fieldTypeID === 'IM') {
                 $templateType = $valueType === 'SKYPE' || $valueType === 'ICQ' || $valueType === 'MSN' ? '_LINK_' : 'INPUT';
                 $editorFieldType .= '-' . strtolower($valueType);
             }
             $template = isset(self::$TEMPLATES[$templateType]) ? self::$TEMPLATES[$templateType] : '';
             if ($template === '') {
                 $field['type'] = 'label';
                 $field['value'] = CCrmFieldMulti::GetTemplate($fieldTypeID, $valueType, $value);
             } else {
                 $viewValue = $value;
                 if ($fieldTypeID === 'PHONE') {
                     $viewValue = CCrmCallToUrl::Format($value);
                 } elseif ($fieldTypeID === 'EMAIL') {
                     $viewValue = "mailto:{$value}";
                 } elseif ($fieldTypeID === 'WEB') {
                     if ($valueType === 'OTHER' || $valueType === 'WORK' || $valueType === 'HOME') {
                         $hasProto = preg_match('/^http(?:s)?:\\/\\/(.+)/', $value, $urlMatches) > 0;
                         if ($hasProto) {
                             $value = $urlMatches[1];
                         } else {
                             $viewValue = "http://{$value}";
                         }
                     } elseif ($valueType === 'FACEBOOK') {
                         $viewValue = "http://www.facebook.com/{$value}/";
                     } elseif ($valueType === 'TWITTER') {
                         $viewValue = "http://twitter.com/{$value}/";
                     } elseif ($valueType === 'LIVEJOURNAL') {
                         $viewValue = "http://{$value}.livejournal.com/";
                     }
                 } elseif ($fieldTypeID === 'IM') {
                     if ($valueType === 'SKYPE') {
                         $viewValue = "skype:{$value}?chat";
                     } elseif ($valueType === 'ICQ') {
                         $viewValue = "http://www.icq.com/people/{$value}/";
                     } elseif ($valueType === 'MSN') {
                         $viewValue = "msn:{$value}";
                     }
                 }
                 $field['type'] = 'custom';
                 $field['value'] = str_replace(array('#NAME#', '#FIELD_TYPE#', '#VALUE#', '#VIEW_VALUE#'), array($fieldID, htmlspecialcharsbx($editorFieldType), htmlspecialcharsbx($value), htmlspecialcharsbx($viewValue)), $template);
             }
         }
         $formFields[] = !empty($fieldParams) ? array_merge($field, $fieldParams) : $field;
     }
     unset($data);
     return true;
 }
Example #8
0
        ?>
						<?php 
        $phone = isset($arPhone['NUMBER']) ? trim($arPhone['NUMBER']) : '';
        if (strlen($phone) === 0) {
            continue;
        }
        ?>
						<span class="crm-phone-text"><?php 
        echo ($phoneCount > 0 ? ', ' : '') . htmlspecialcharsbx(isset($arPhone['TITLE']) ? $arPhone['TITLE'] : '');
        ?>
 </span>
						<a class="crm-phone-number-link" onclick="addToDescription('<?php 
        echo htmlspecialcharsbx(str_replace(array('#NAME#', '#PHONE#'), array($groupTitle, $phone), $descrTemplate));
        ?>
');" href="<?php 
        echo CCrmCallToUrl::Format(urlencode($arPhone['NUMBER']));
        ?>
"><?php 
        echo htmlspecialcharsbx($arPhone['NUMBER']);
        ?>
</a>
						<?php 
        $phoneCount++;
        ?>
					<?php 
    }
    ?>
				</span>
			</div>
		<?php 
}
Example #9
0
 public static function PrepareMultiFieldHtml($typeName, $arParams, $arOptions = array())
 {
     $value = isset($arParams['VALUE']) ? $arParams['VALUE'] : '';
     $valueUrl = $value;
     if ($typeName === 'PHONE') {
         if ($value === '') {
             return isset($arOptions['STUB']) ? $arOptions['STUB'] : '';
         }
         $additionalHtml = '';
         $enableSip = is_array($arOptions) && isset($arOptions['ENABLE_SIP']) && (bool) $arOptions['ENABLE_SIP'];
         if ($enableSip) {
             $sipParams = isset($arOptions['SIP_PARAMS']) ? $arOptions['SIP_PARAMS'] : null;
             $additionalHtml = self::PrepareSipCallHtml($value, $sipParams);
         }
         $linkAttrs = CCrmCallToUrl::PrepareLinkAttributes($value);
         $className = isset($arParams['CLASS_NAME']) ? $arParams['CLASS_NAME'] : 'crm-item-tel-num';
         return '<a' . ($className !== '' ? ' class="' . htmlspecialcharsbx($className) . '"' : '') . ' title="' . htmlspecialcharsbx($value) . '"' . ' href="' . htmlspecialcharsbx($linkAttrs['HREF']) . '"' . ' onclick="' . htmlspecialcharsbx($linkAttrs['ONCLICK']) . '">' . htmlspecialcharsbx($value) . '</a>' . $additionalHtml;
     } elseif ($typeName === 'EMAIL') {
         if ($value === '') {
             return isset($arOptions['STUB']) ? $arOptions['STUB'] : '';
         }
         $crmEmail = strtolower(trim(COption::GetOptionString('crm', 'mail', '')));
         if ($crmEmail !== '') {
             $valueUrl = $valueUrl . '?cc=' . urlencode($crmEmail);
         }
         $className = isset($arParams['CLASS_NAME']) ? $arParams['CLASS_NAME'] : 'crm-item-tel-num';
         return '<a' . ($className !== '' ? ' class="' . htmlspecialcharsbx($className) . '"' : '') . ' title="' . htmlspecialcharsbx($value) . '"' . ' href="mailto:' . htmlspecialcharsbx($valueUrl) . '">' . htmlspecialcharsbx($value) . '</a>';
     } elseif ($typeName === 'WEB') {
         if ($value === '') {
             return isset($arOptions['STUB']) ? $arOptions['STUB'] : '';
         }
         $valueUrl = preg_replace('/^\\s*http(s)?:\\/\\//i', '', $value);
     }
     $valueTypeID = isset($arParams['VALUE_TYPE_ID']) ? $arParams['VALUE_TYPE_ID'] : '';
     $valueType = isset($arParams['VALUE_TYPE']) ? $arParams['VALUE_TYPE'] : null;
     if (!$valueType && $valueTypeID !== '') {
         $arEntityTypes = CCrmFieldMulti::GetEntityTypes();
         $arValueTypes = isset($arEntityTypes[$typeName]) ? $arEntityTypes[$typeName] : array();
         $valueType = isset($arValueTypes[$valueTypeID]) ? $arValueTypes[$valueTypeID] : null;
     }
     if (!($valueType && !empty($valueType['TEMPLATE']))) {
         if ($value === '') {
             return isset($arOptions['STUB']) ? $arOptions['STUB'] : '';
         }
         return htmlspecialcharsbx($value);
     }
     if ($value === '') {
         return isset($arOptions['STUB']) ? $arOptions['STUB'] : '';
     }
     return str_replace(array('#VALUE#', '#VALUE_URL#', '#VALUE_HTML#'), array($value, htmlspecialcharsbx($valueUrl), htmlspecialcharsbx($value)), $valueType['TEMPLATE']);
 }