} } } } if (!isset($_POST['AJAX_CALL'])) { if (!empty($errors)) { ShowError(implode("\n", $errors)); } else { LocalRedirect($APPLICATION->GetCurPage()); } } } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['action_' . $arResult['GRID_ID']])) { if ($arResult['CAN_DELETE'] && $_GET['action_' . $arResult['GRID_ID']] === 'delete') { $ID = isset($_GET['ID']) ? intval($_GET['ID']) : 0; if ($ID > 0) { $dbResult = CCrmMailTemplate::GetList(array(), array('=ID' => $ID), false, false, array('OWNER_ID', 'TITLE')); $fields = $dbResult->Fetch(); if (is_array($fields) && intval($fields['OWNER_ID']) === $userID && !CCrmMailTemplate::Delete($ID)) { $errors = CCrmMailTemplate::GetErrorMessages(); if (empty($errors)) { $errors[] = GetMessage('CRM_MAIL_TEMPLATE_DELETION_GENERAL_ERROR', array('#TITLE#' => $fields['TITLE'])); } ShowError(implode("\n", $errors)); } } unset($_GET['ID'], $_REQUEST['ID']); // otherwise the filter will work } if (!isset($_GET['AJAX_CALL'])) { LocalRedirect($arParams['PATH_TO_MAIL_TEMPLATE_LIST']); }
echo CUtil::PhpToJSObject(array('DATA' => array('ELEMENT_ID' => $elementID, 'INFO' => \Bitrix\Crm\Integration\StorageManager::getFileInfo($elementID, \Bitrix\Crm\Integration\StorageType::WebDav)))); die; } elseif ($action == 'GET_COMMUNICATION_HTML') { $typeName = isset($_POST['TYPE_NAME']) ? strval($_POST['TYPE_NAME']) : ''; $value = isset($_POST['VALUE']) ? strval($_POST['VALUE']) : ''; echo CUtil::PhpToJSObject(array('DATA' => array('HTML' => CCrmViewHelper::PrepareMultiFieldHtml($typeName, array('VALUE_TYPE_ID' => 'WORK', 'VALUE' => $value))))); die; } elseif ($action == 'PREPARE_MAIL_TEMPLATE') { $templateID = isset($_POST['TEMPLATE_ID']) ? intval($_POST['TEMPLATE_ID']) : 0; $ownerTypeName = isset($_POST['OWNER_TYPE']) ? strtoupper(strval($_POST['OWNER_TYPE'])) : ''; $ownerID = isset($_POST['OWNER_ID']) ? intval($_POST['OWNER_ID']) : 0; if ($templateID <= 0) { echo CUtil::PhpToJSObject(array('ERROR' => 'Invalid data')); die; } $dbResult = CCrmMailTemplate::GetList(array(), array('=ID' => $templateID), false, false, array('OWNER_ID', 'ENTITY_TYPE_ID', 'SCOPE', 'EMAIL_FROM', 'SUBJECT', 'BODY')); $fields = $dbResult->Fetch(); if (!is_array($fields)) { echo CUtil::PhpToJSObject(array('ERROR' => 'Invalid data')); die; } $templateOwnerID = isset($fields['OWNER_ID']) ? intval($fields['OWNER_ID']) : 0; $templateScope = isset($fields['SCOPE']) ? intval($fields['SCOPE']) : CCrmMailTemplateScope::Undefined; if ($templateScope !== CCrmMailTemplateScope::Common && $templateOwnerID !== intval($curUser->GetID())) { echo CUtil::PhpToJSObject(array('ERROR' => 'Invalid data')); die; } $body = isset($fields['BODY']) ? $fields['BODY'] : ''; if ($body !== '') { $contentTypeID = isset($_POST['CONTENT_TYPE']) ? CCrmContentType::ResolveTypeID($_POST['CONTENT_TYPE']) : CCrmContentType::Undefined; if (!CCrmContentType::IsDefined($contentTypeID)) {
$element = array(); $element['TITLE'] = isset($_POST['TITLE']) ? $_POST['TITLE'] : ''; $element['IS_ACTIVE'] = isset($_POST['IS_ACTIVE']) && $_POST['IS_ACTIVE'] === 'Y' ? 'Y' : 'N'; $element['SORT'] = isset($_POST['SORT']) ? intval($_POST['SORT']) : 100; $element['EMAIL_FROM'] = isset($_POST['EMAIL_FROM']) ? $_POST['EMAIL_FROM'] : ''; $element['SCOPE'] = CCrmPerms::IsAdmin() && isset($_POST['SCOPE']) ? $_POST['SCOPE'] : CCrmMailTemplateScope::Personal; $element['SUBJECT'] = isset($_POST['SUBJECT']) ? $_POST['SUBJECT'] : ''; $element['ENTITY_TYPE_ID'] = isset($_POST['ENTITY_TYPE_ID']) && CCrmOwnerType::IsDefined($_POST['ENTITY_TYPE_ID']) ? intval($_POST['ENTITY_TYPE_ID']) : CCrmOwnerType::Lead; $element['BODY'] = isset($_POST['BODY']) ? $_POST['BODY'] : ''; if (!$isNew) { if (CCrmPerms::IsAdmin()) { if (!CCrmMailTemplate::Exists($elementID)) { $errors[] = GetMessage('CRM_MAIL_TEMPLATE_NOT_FOUND'); } } else { $dbResult = CCrmMailTemplate::GetList(array(), array('=ID' => $elementID), false, false, array('OWNER_ID')); $curElement = $dbResult->Fetch(); if (!is_array($curElement)) { $errors[] = GetMessage('CRM_MAIL_TEMPLATE_NOT_FOUND'); } elseif (intval($curElement['OWNER_ID']) !== $userID) { $errors[] = GetMessage('CRM_PERMISSION_DENIED'); } } if (empty($errors) && !CCrmMailTemplate::Update($elementID, $element)) { $errors = CCrmMailTemplate::GetErrorMessages(); if (empty($errors)) { $errors[] = GetMessage('CRM_MAIL_TEMPLATE_UPDATE_UNKNOWN_ERROR'); } } } else { $element['OWNER_ID'] = $userID;