Ejemplo n.º 1
0
 public static function GetNotifyEntryTitle($arLogFields, $type = "COMMENT")
 {
     switch ($arLogFields["EVENT_ID"]) {
         case "crm_lead_add":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_LEAD_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Lead, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_lead_message":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_LEAD_MESSAGE", array("#message_title#" => CCrmLiveFeedComponent::ParseText($arLogFields["MESSAGE"], array(), array("MAX_LENGTH" => 50)), "#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Lead, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_lead_progress":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_LEAD_PROGRESS", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Lead, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_company_add":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_COMPANY_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Company, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_company_message":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_COMPANY_MESSAGE", array("#message_title#" => CCrmLiveFeedComponent::ParseText($arLogFields["MESSAGE"], array(), array("MAX_LENGTH" => 50)), "#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Company, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_contact_add":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_CONTACT_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Contact, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_contact_message":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_CONTACT_MESSAGE", array("#message_title#" => CCrmLiveFeedComponent::ParseText($arLogFields["MESSAGE"], array(), array("MAX_LENGTH" => 50)), "#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Contact, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_deal_add":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_DEAL_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Deal, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_deal_message":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_DEAL_MESSAGE", array("#message_title#" => CCrmLiveFeedComponent::ParseText($arLogFields["MESSAGE"], array(), array("MAX_LENGTH" => 50)), "#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Deal, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_deal_progress":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_DEAL_PROGRESS", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Deal, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_invoice_add":
             return GetMessage("CRM_LF_IM_" . $type . "_TITLE_INVOICE_ADD", array("#title#" => CCrmOwnerType::GetCaption(CCrmOwnerType::Invoice, $arLogFields["ENTITY_ID"], false)));
             break;
         case "crm_activity_add":
             if ($arActivity = CCrmActivity::GetByID($arLogFields["ENTITY_ID"])) {
                 switch ($arActivity["TYPE_ID"]) {
                     case CCrmActivityType::Meeting:
                         return GetMessage("CRM_LF_IM_" . $type . "_TITLE_ACTIVITY_MEETING_ADD", array("#title#" => $arActivity["SUBJECT"]));
                         break;
                     case CCrmActivityType::Call:
                         return GetMessage("CRM_LF_IM_" . $type . "_TITLE_ACTIVITY_CALL_ADD", array("#title#" => $arActivity["SUBJECT"]));
                         break;
                     case CCrmActivityType::Email:
                         return GetMessage("CRM_LF_IM_" . $type . "_TITLE_ACTIVITY_EMAIL_ADD", array("#title#" => $arActivity["SUBJECT"]));
                         break;
                     case CCrmActivityType::Task:
                         return GetMessage("CRM_LF_IM_" . $type . "_TITLE_ACTIVITY_TASK_ADD", array("#title#" => $arActivity["SUBJECT"]));
                         break;
                 }
             }
             break;
     }
     return "";
 }
Ejemplo n.º 2
0
}
$arResult['FIELDS']['tab_event'][] = array('id' => 'section_event', 'name' => GetMessage('CRM_SECTION_EVENT'), 'type' => 'section');
if (!$CCrmCompany->cPerms->HavePerm('QUOTE', BX_CRM_PERM_NONE, 'READ')) {
    $arResult['FIELDS']['tab_quote'][] = array('id' => 'DEAL_QUOTE', 'name' => GetMessage('CRM_FIELD_COMPANY_QUOTE'), 'colspan' => true, 'type' => 'crm_quote_list', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'params' => array('QUOTE_COUNT' => '20', 'PATH_TO_QUOTE_SHOW' => $arResult['PATH_TO_QUOTE_SHOW'], 'PATH_TO_QUOTE_EDIT' => $arResult['PATH_TO_QUOTE_EDIT'], 'INTERNAL_FILTER' => array('COMPANY_ID' => $arResult['ELEMENT']['ID']), 'INTERNAL_CONTEXT' => array('COMPANY_ID' => $arResult['ELEMENT']['ID']), 'GRID_ID_SUFFIX' => 'COMPANY_SHOW', 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_quote', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'ENABLE_TOOLBAR' => true)));
}
if (!$CCrmCompany->cPerms->HavePerm('INVOICE', BX_CRM_PERM_NONE, 'READ')) {
    $arResult['FIELDS']['tab_invoice'][] = array('id' => 'COMPANY_INVOICE', 'name' => GetMessage('CRM_FIELD_COMPANY_INVOICE'), 'colspan' => true, 'type' => 'crm_invoice_list', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'params' => array('INVOICE_COUNT' => '20', 'PATH_TO_INVOICE_SHOW' => $arParams['PATH_TO_INVOICE_SHOW'], 'PATH_TO_INVOICE_EDIT' => $arParams['PATH_TO_INVOICE_EDIT'], 'PATH_TO_INVOICE_PAYMENT' => $arParams['PATH_TO_INVOICE_PAYMENT'], 'INTERNAL_FILTER' => array('UF_COMPANY_ID' => $arResult['ELEMENT']['ID']), 'SUM_PAID_CURRENCY' => isset($arResult['ELEMENT']['CURRENCY_ID']) ? $arResult['ELEMENT']['CURRENCY_ID'] : '', 'GRID_ID_SUFFIX' => 'COMPANY_SHOW', 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_invoice', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'ENABLE_TOOLBAR' => 'Y', 'INTERNAL_ADD_BTN_TITLE' => GetMessage('CRM_COMPANY_ADD_INVOICE_TITLE'))));
}
$arResult['FIELDS']['tab_event'][] = array('id' => 'COMPANY_EVENT', 'name' => GetMessage('CRM_FIELD_COMPANY_EVENT'), 'colspan' => true, 'type' => 'crm_event_view', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'contextId' => "COMPANY_{$arResult['ELEMENT']['ID']}_EVENT", 'params' => array('AJAX_OPTION_ADDITIONAL' => "COMPANY_{$arResult['ELEMENT']['ID']}_EVENT", 'ENTITY_TYPE' => 'COMPANY', 'ENTITY_ID' => $arResult['ELEMENT']['ID'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_event', 'INTERNAL' => 'Y', 'SHOW_INTERNAL_FILTER' => 'Y', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'])));
$arResult['FIELDS']['tab_event'][] = array('id' => 'section_event_contact', 'name' => GetMessage('CRM_SECTION_EVENT_CONTACT'), 'type' => 'section');
$arResult['FIELDS']['tab_event'][] = array('id' => 'COMPANY_CONTACT_EVENT', 'name' => GetMessage('CRM_FIELD_COMPANY_EVENT_CONTACT'), 'colspan' => true, 'type' => 'crm_event_view', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'contextId' => "COMPANY_{$arResult['ELEMENT']['ID']}_CONTACT_EVENT", 'params' => array('AJAX_OPTION_ADDITIONAL' => "COMPANY_{$arResult['ELEMENT']['ID']}_CONTACT_EVENT", 'OWNER_TYPE' => 'COMPANY', 'OWNER_ID' => $arResult['ELEMENT']['ID'], 'ENTITY_TYPE' => 'CONTACT', 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_event', 'VIEW_ID' => 'contact', 'INTERNAL' => 'Y', 'SHOW_INTERNAL_FILTER' => 'Y', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'])));
// LIVE FEED SECTION -->
$arResult['FIELDS']['tab_live_feed'][] = array('id' => 'section_live_feed', 'name' => GetMessage('CRM_SECTION_LIVE_FEED'), 'type' => 'section');
$liveFeedHtml = '';
if ($arParams['ELEMENT_ID'] > 0) {
    if (CCrmLiveFeedComponent::needToProcessRequest($_SERVER['REQUEST_METHOD'], $_REQUEST)) {
        ob_start();
        $APPLICATION->IncludeComponent('bitrix:crm.entity.livefeed', '', array('DATE_TIME_FORMAT' => LANGUAGE_ID == 'en' ? "j F Y g:i a" : (LANGUAGE_ID == 'de' ? "j. F Y, G:i" : "j F Y G:i"), 'CAN_EDIT' => $arResult['CAN_EDIT'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $arParams['ELEMENT_ID'], 'FORM_ID' => $arResult['FORM_ID'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE']), null, array('HIDE_ICONS' => 'Y'));
        $liveFeedHtml = ob_get_contents();
        ob_end_clean();
        $arResult['ENABLE_LIVE_FEED_LAZY_LOAD'] = false;
    } else {
        $liveFeedContainerID = $arResult['LIVE_FEED_CONTAINER_ID'] = $arResult['FORM_ID'] . '_live_feed_wrapper';
        $liveFeedHtml = '<div id="' . htmlspecialcharsbx($liveFeedContainerID) . '"></div>';
        $arResult['ENABLE_LIVE_FEED_LAZY_LOAD'] = true;
    }
}
$arResult['FIELDS']['tab_live_feed'][] = array('id' => 'LIVE_FEED', 'name' => GetMessage('CRM_FIELD_LIVE_FEED'), 'colspan' => true, 'type' => 'custom', 'value' => $liveFeedHtml);
// <-- LIVE FEED SECTION
$arResult['FIELDS']['tab_activity'][] = array('id' => 'section_activity_grid', 'name' => GetMessage('CRM_SECTION_ACTIVITY_GRID'), 'type' => 'section');
$arResult['FIELDS']['tab_activity'][] = array('id' => 'COMPANY_ACTIVITY_GRID', 'name' => GetMessage('CRM_FIELD_COMPANY_ACTIVITY'), 'colspan' => true, 'type' => 'crm_activity_list', 'componentData' => array('template' => 'grid', 'enableLazyLoad' => true, 'params' => array('BINDINGS' => array(array('TYPE_NAME' => 'COMPANY', 'ID' => $arParams['ELEMENT_ID'])), 'PREFIX' => 'COMPANY_ACTIONS_GRID', 'PERMISSION_TYPE' => 'WRITE', 'ENABLE_NAVIGATION' => 'Y', 'FORM_TYPE' => 'show', 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_activity', 'USE_QUICK_FILTER' => 'Y')));
Ejemplo n.º 3
0
             $html_message = ob_get_contents();
             ob_end_clean();
             echo htmlspecialcharsBack($html_message);
         }
     }
     return;
 } else {
     switch ($arParams["~ACTIVITY"]["TYPE_ID"]) {
         case CCrmActivityType::Call:
         case CCrmActivityType::Meeting:
         case CCrmActivityType::Email:
             $arParams["~ACTIVITY"]["START_END_TIME"] = $arParams["~ACTIVITY"]["START_TIME"];
             break;
     }
     try {
         $oFormat = new CCrmLiveFeedComponent(array("FIELDS" => $arParams["~FIELDS"], "PARAMS" => $arParams["~PARAMS"], "ACTIVITY" => $arParams["~ACTIVITY"]));
     } catch (Exception $e) {
         return false;
     }
     $aFields = $oFormat->formatFields();
     $arResult["FORMAT"] = "table";
     $arResult["FIELDS_FORMATTED"] = array();
     if (!empty($aFields)) {
         foreach ($aFields as $key => $arField) {
             $arResult["FIELDS_FORMATTED"][$key] = $oFormat->showField($arField);
         }
     }
     $arResult["DATE_WEEK_DAY"] = FormatDate("D", MakeTimeStamp($arParams["~ACTIVITY"]["START_END_TIME"]));
     $arResult["DATE_MONTH_DAY"] = FormatDate("j", MakeTimeStamp($arParams["~ACTIVITY"]["START_END_TIME"]));
     $arResult["IS_COMPLETED"] = $arParams["~ACTIVITY"]["COMPLETED"] == "Y";
     if (!empty($arParams["ACTIVITY"]["DESCRIPTION"])) {
Ejemplo n.º 4
0
$arResult['MESSAGE_TITLE_FIELD_NAME'] = $arParams['UID'] = $uid;
$cacheManager = $GLOBALS['CACHE_MANAGER'];
$allowLiveFeedToAll = $defaultLiveFeedToAll = false;
$arParams['USE_CUT'] = isset($arParams['USE_CUT']) && $arParams['USE_CUT'] === 'Y' ? 'Y' : 'N';
global $USER_FIELD_MANAGER;
$sonetFields = $USER_FIELD_MANAGER->GetUserFields('SONET_LOG', 0);
$arResult['WEB_DAV_FILE_FIELD_NAME'] = 'UF_SONET_LOG_DOC';
$arResult['WEB_DAV_FILE_FIELD'] = isset($sonetFields['UF_SONET_LOG_DOC']) ? $sonetFields['UF_SONET_LOG_DOC'] : null;
$arResult['EVENT'] = array('MESSAGE' => '', 'TITLE' => '');
$arResult['ENTITY_DATA'] = array();
$arResult['ENABLE_TITLE'] = false;
$arResult['FEED_DESTINATION'] = array('LAST' => array('CONTACTS' => array(), 'COMPANIES' => array(), 'LEADS' => array(), 'DEALS' => array()), 'SELECTED' => array());
$arResult['ERROR_MESSAGES'] = array();
if ($_SERVER['REQUEST_METHOD'] == 'POST' && check_bitrix_sessid()) {
    if (isset($_POST['save']) && $_POST['save'] === 'Y') {
        $res = CCrmLiveFeedComponent::ProcessLogEventEditPOST($_POST, $entityTypeID, $entityID, $arResult);
        if (!is_array($res) && intval($res) > 0) {
            LocalRedirect($GLOBALS['APPLICATION']->GetCurPage());
        } else {
            foreach ($res as $error) {
                $arResult['ERROR_MESSAGES'][] = $error;
            }
        }
    }
}
//$arResult['FEED_DESTINATION']['LAST']['SONETGROUPS'] = CSocNetLogDestination::GetLastSocnetGroup();
// ALLOWED SONET GROUPS -->
$isManagedCacheEnabled = defined('BX_COMP_MANAGED_CACHE');
$cacheTtl = $isManagedCacheEnabled ? 3153600 : 3600 * 4;
$eventDestCacheID = 'crm_sl_event_dest_' . SITE_ID . '_' . $userID;
$eventDestCacheDir = '/crm/sl_event/dest/' . SITE_ID . '/' . $userID;
Ejemplo n.º 5
0
 public function processMethodRequest($name, $nameDetails, $arParams, $nav, $server)
 {
     $name = strtoupper($name);
     if ($name === 'ADD') {
         $fields = $this->resolveArrayParam($arParams, 'fields');
         $arComponentResult = array('USER_ID' => $this->getCurrentUserID());
         $arPOST = array('ENABLE_POST_TITLE' => 'Y', 'MESSAGE' => $fields['MESSAGE'], 'SPERM' => $fields['SPERM']);
         if (isset($fields['POST_TITLE']) && strlen($fields['POST_TITLE']) > 0) {
             $arPOST['POST_TITLE'] = $fields['POST_TITLE'];
         }
         $entityTypeID = $fields['ENTITYTYPEID'];
         $entityID = $fields['ENTITYID'];
         $entityTypeName = CCrmOwnerType::ResolveName($entityTypeID);
         $userPerms = CCrmPerms::GetCurrentUserPermissions();
         if ($entityTypeName !== '' && !CCrmAuthorizationHelper::CheckUpdatePermission($entityTypeName, $entityID, $userPerms)) {
             throw new RestException('Access denied.');
         }
         $res = CCrmLiveFeedComponent::ProcessLogEventEditPOST($arPOST, $entityTypeID, $entityID, $arComponentResult);
         if (is_array($res)) {
             throw new RestException(implode(", ", $res));
         }
         return $res;
     }
     throw new RestException('Method not found!', RestException::ERROR_METHOD_NOT_FOUND, CRestServer::STATUS_NOT_FOUND);
 }
Ejemplo n.º 6
0
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule('crm')) {
    return;
}
$arEventParams = array();
if (is_array($arParams["~FIELDS"]) && !empty($arParams["~FIELDS"]["~PARAMS"])) {
    $arEventParams = unserialize($arParams["~FIELDS"]["~PARAMS"]);
    if (!is_array($arEventParams)) {
        $arEventParams = array();
    }
}
try {
    $oFormat = new CCrmLiveFeedComponent(array("FIELDS" => $arParams["~FIELDS"], "PARAMS" => $arParams["~PARAMS"], "EVENT_PARAMS" => $arEventParams));
} catch (Exception $e) {
    return false;
}
$aFields = $oFormat->formatFields();
if (in_array($arParams["FIELDS"]["EVENT_ID"], array("crm_company_message", "crm_contact_message", "crm_lead_message", "crm_deal_message"))) {
    $arResult["FORMAT"] = "div";
} else {
    $arResult["FORMAT"] = "table";
}
$arResult["FIELDS_FORMATTED"] = array();
$arUF = !empty($arParams["~FIELDS"]["UF"]) ? $arParams["~FIELDS"]["UF"] : array();
if (!empty($aFields)) {
    foreach ($aFields as $arField) {
        $arResult["FIELDS_FORMATTED"][] = $oFormat->showField($arField, $arUF);
    }