예제 #1
0
                 }
             }
         }
     }
     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']);
     }
예제 #2
0
    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)) {
예제 #3
0
 $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;