} if (count($fieldNames) == 0) { __CrmCompanyShowEndJsonResonse(array('ERROR' => 'FIELD_NAME IS NOT DEFINED!')); } $fieldValues = array(); if (isset($_POST['FIELD_VALUE'])) { if (is_array($_POST['FIELD_VALUE'])) { $fieldValues = $_POST['FIELD_VALUE']; } else { $fieldValues[] = $_POST['FIELD_VALUE']; } } $dbResult = CCrmCompany::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N'), false, false, array('*', 'UF_*')); $arFields = is_object($dbResult) ? $dbResult->Fetch() : null; if (is_array($arFields)) { CCrmInstantEditorHelper::PrepareUpdate(CCrmOwnerType::Company, $arFields, $fieldNames, $fieldValues); $CCrmCompany = new CCrmCompany(); $disableUserFieldCheck = !$hasUserFields && isset($_POST['DISABLE_USER_FIELD_CHECK']) && strtoupper($_POST['DISABLE_USER_FIELD_CHECK']) === 'Y'; if ($CCrmCompany->Update($ID, $arFields, true, true, array('REGISTER_SONET_EVENT' => true, 'DISABLE_USER_FIELD_CHECK' => $disableUserFieldCheck))) { $arErrors = array(); CCrmBizProcHelper::AutoStartWorkflows(CCrmOwnerType::Company, $ID, CCrmBizProcEventType::Edit, $arErrors); $result = array(); $count = count($fieldNames); for ($i = 0; $i < $count; $i++) { $fieldName = $fieldNames[$i]; if (strpos($fieldName, 'FM.') === 0) { //Filed name like 'FM.PHONE.WORK.1279' $fieldParams = explode('.', $fieldName); if (count($fieldParams) >= 3) { $result[$fieldName] = array('VIEW_HTML' => CCrmViewHelper::PrepareMultiFieldHtml($fieldParams[1], array('VALUE_TYPE_ID' => $fieldParams[2], 'VALUE' => isset($fieldValues[$i]) ? $fieldValues[$i] : ''))); }
public static function RenderHtmlEditor(&$arParams) { if (!is_array($arParams)) { return; } $fieldID = isset($arParams['FIELD_ID']) ? $arParams['FIELD_ID'] : ''; $value = isset($arParams['VALUE']) ? $arParams['VALUE'] : ''; $editorID = isset($arParams['EDITOR_ID']) ? $arParams['EDITOR_ID'] : ''; if ($editorID === '') { $editorID = uniqid('LHE_'); } $editorJsName = isset($arParams['EDITOR_JS_NAME']) ? $arParams['EDITOR_JS_NAME'] : ''; if ($editorJsName === '') { $editorJsName = $editorID; } $toolbarConfig = isset($arParams['TOOLBAR_CONFIG']) ? $arParams['TOOLBAR_CONFIG'] : null; if (!is_array($toolbarConfig)) { $toolbarConfig = array('Bold', 'Italic', 'Underline', 'Strike', 'BackColor', 'ForeColor', 'CreateLink', 'DeleteLink', 'InsertOrderedList', 'InsertUnorderedList', 'Outdent', 'Indent'); } if (!self::$IS_FILEMAN_INCLUDED) { CModule::IncludeModule('fileman'); self::$IS_FILEMAN_INCLUDED = true; } ob_start(); $editor = new CLightHTMLEditor(); $editor->Show(array('id' => $editorID, 'height' => '150', 'bUseFileDialogs' => false, 'bFloatingToolbar' => false, 'bArisingToolbar' => false, 'bResizable' => false, 'jsObjName' => $editorJsName, 'bInitByJS' => false, 'bSaveOnBlur' => true, 'toolbarConfig' => $toolbarConfig)); $lheHtml = ob_get_contents(); ob_end_clean(); $wrapperID = isset($arParams['WRAPPER_ID']) ? $arParams['WRAPPER_ID'] : ''; if ($wrapperID === '') { $wrapperID = $editorID . '_WRAPPER'; } echo str_replace(array('#TEXT#', '#VALUE#', '#NAME#', '#SETTINGS#', '#WRAPPER_ID#', '#HTML#'), array($value, htmlspecialcharsbx($value), $fieldID, htmlspecialcharsbx('{ "id":"' . CUtil::JSEscape($editorID) . '", "wrapperId":"' . CUtil::JSEscape($wrapperID) . '", "jsName":"' . CUtil::JSEscape($editorJsName) . '" }'), $wrapperID, $lheHtml), self::$TEMPLATES['LHE']); }