public static function GetSocNetDestination($user_id = false, $selected = array()) { global $CACHE_MANAGER; if (!is_array($selected)) { $selected = array(); } $DESTINATION = array('LAST' => array('SONETGROUPS' => CSocNetLogDestination::GetLastSocnetGroup())); if (!$user_id) { $user_id = CCalendar::GetCurUserId(); } $DESTINATION['LAST']['SONETGROUPS'] = CSocNetLogDestination::GetLastSocnetGroup(); $cacheTtl = defined("BX_COMP_MANAGED_CACHE") ? 3153600 : 3600 * 4; $cacheId = 'blog_post_form_dest_' . $user_id; $cacheDir = '/blog/form/dest/' . SITE_ID . '/' . $user_id; $obCache = new CPHPCache(); if ($obCache->InitCache($cacheTtl, $cacheId, $cacheDir)) { $DESTINATION['SONETGROUPS'] = $obCache->GetVars(); } else { $obCache->StartDataCache(); $DESTINATION['SONETGROUPS'] = CSocNetLogDestination::GetSocnetGroup(array('features' => array("blog", array("premoderate_post", "moderate_post", "write_post", "full_post")))); if (defined("BX_COMP_MANAGED_CACHE")) { $CACHE_MANAGER->StartTagCache($cacheDir); foreach ($DESTINATION['SONETGROUPS'] as $val) { $CACHE_MANAGER->RegisterTag("sonet_features_G_" . $val["entityId"]); $CACHE_MANAGER->RegisterTag("sonet_group_" . $val["entityId"]); } $CACHE_MANAGER->RegisterTag("sonet_user2group_U" . $user_id); $CACHE_MANAGER->EndTagCache(); } $obCache->EndDataCache($DESTINATION['SONETGROUPS']); } $arDestUser = array(); $DESTINATION['SELECTED'] = array(); foreach ($selected as $ind => $code) { if (substr($code, 0, 2) == 'DR') { $DESTINATION['SELECTED'][$code] = "department"; } elseif (substr($code, 0, 2) == 'UA') { $DESTINATION['SELECTED'][$code] = "groups"; } elseif (substr($code, 0, 2) == 'SG') { $DESTINATION['SELECTED'][$code] = "sonetgroups"; } elseif (substr($code, 0, 1) == 'U') { $DESTINATION['SELECTED'][$code] = "users"; $arDestUser[] = str_replace('U', '', $code); } } // intranet structure $arStructure = CSocNetLogDestination::GetStucture(); //$arStructure = CSocNetLogDestination::GetStucture(array("LAZY_LOAD" => true)); $DESTINATION['DEPARTMENT'] = $arStructure['department']; $DESTINATION['DEPARTMENT_RELATION'] = $arStructure['department_relation']; $DESTINATION['DEPARTMENT_RELATION_HEAD'] = $arStructure['department_relation_head']; $DESTINATION['LAST']['DEPARTMENT'] = CSocNetLogDestination::GetLastDepartment(); // users $DESTINATION['LAST']['USERS'] = CSocNetLogDestination::GetLastUser(); if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) { $DESTINATION['EXTRANET_USER'] = '******'; $DESTINATION['USERS'] = CSocNetLogDestination::GetExtranetUser(); } else { foreach ($DESTINATION['LAST']['USERS'] as $value) { $arDestUser[] = str_replace('U', '', $value); } $DESTINATION['EXTRANET_USER'] = '******'; $DESTINATION['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $arDestUser)); } $users = array(); foreach ($DESTINATION['USERS'] as $key => $entry) { if ($entry['isExtranet'] == 'N') { $users[$key] = $entry; } } $DESTINATION['USERS'] = $users; return $DESTINATION; }
} elseif ($type == 'U') { $arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED'][$ar2] = 'users'; $arDestUser[] = $value; } elseif ($type == 'SG') { $arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED'][$ar2] = 'sonetgroups'; } elseif ($type == 'DR' || $type == 'D') { $arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED'][$ar2] = 'department'; } } } } } } else { $arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED']['UA'] = 'groups'; } // intranet structure $arStructure = CSocNetLogDestination::GetStucture(); $arResult["PostToShow"]["FEED_DESTINATION"]['DEPARTMENT'] = $arStructure['department']; $arResult["PostToShow"]["FEED_DESTINATION"]['DEPARTMENT_RELATION'] = $arStructure['department_relation']; if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) { $arResult["PostToShow"]["FEED_DESTINATION"]['EXTRANET_USER'] = '******'; $arResult["PostToShow"]["FEED_DESTINATION"]['USERS'] = CSocNetLogDestination::GetExtranetUser(); } else { foreach ($arResult["PostToShow"]["FEED_DESTINATION"]['LAST']['USERS'] as $value) { $arDestUser[] = str_replace('U', '', $value); } $arResult["PostToShow"]["FEED_DESTINATION"]['EXTRANET_USER'] = '******'; $arResult["PostToShow"]["FEED_DESTINATION"]['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $arDestUser)); } } $this->IncludeComponentTemplate();
* @var string $arParams["HTML_AFTER_TEXTAREA"] * @var array $arParams["UPLOAD_FILE"] * @var array $arParams["UPLOAD_WEBDAV_ELEMENT"] */ $arParams["UPLOADS_CID"] = array(); $arParams["UPLOADS_HTML"] = ""; $arParams["DESTINATION"] = is_array($arParams["DESTINATION"]) && IsModuleInstalled("socialnetwork") ? $arParams["DESTINATION"] : array(); $arParams["DESTINATION_SHOW"] = array_key_exists("SHOW", $arParams["DESTINATION"]) ? $arParams["DESTINATION"]["SHOW"] : $arParams["DESTINATION_SHOW"]; $arParams["DESTINATION_SHOW"] = $arParams["DESTINATION_SHOW"] == "Y" ? "Y" : "N"; $arParams["DESTINATION"] = array_key_exists("VALUE", $arParams["DESTINATION"]) ? $arParams["DESTINATION"]["VALUE"] : $arParams["DESTINATION"]; if (empty($arParams["DESTINATION"]) && in_array("MentionUser", $arParams["BUTTONS"]) && CModule::IncludeModule("socialnetwork")) { $arStructure = CSocNetLogDestination::GetStucture(array("LAZY_LOAD" => true)); $arParams["DESTINATION"] = array("LAST" => array("USERS" => CSocNetLogDestination::GetLastUser()), "DEPARTMENT" => $arStructure['department'], "DEPARTMENT_RELATION" => $arStructure['department_relation']); if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) { $arParams["DESTINATION"]['EXTRANET_USER'] = '******'; $arParams["DESTINATION"]['USERS'] = CSocNetLogDestination::GetExtranetUser(); } else { $arDestUser = array(); foreach ($arParams["DESTINATION"]['LAST']['USERS'] as $value) { $arDestUser[] = str_replace('U', '', $value); } $arParams["DESTINATION"]['EXTRANET_USER'] = '******'; $arParams["DESTINATION"]['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $arDestUser)); } } $arParams["TAGS"] = is_array($arParams["TAGS"]) ? $arParams["TAGS"] : array(); if (!empty($arParams["TAGS"])) { $arParams["TAGS"]["VALUE"] = is_array($arParams["TAGS"]["VALUE"]) ? $arParams["TAGS"]["VALUE"] : array(); } $arParams["SMILES_COUNT"] = intVal($arParams["SMILES_COUNT"]); $arParams["SMILES"] = is_array($arParams["SMILES"]) ? $arParams["SMILES"] : array();
$arResult['FEED_DESTINATION']['HIDDEN_GROUPS'][$group_code]['NAME'] = GetMessage('CRM_SL_EVENT_EDIT_HIDDEN_GROUP'); } } } } // intranet structure $arStructure = CSocNetLogDestination::GetStucture(array('LAZY_LOAD' => true)); $arResult['FEED_DESTINATION']['DEPARTMENT'] = $arStructure['department']; $arResult['FEED_DESTINATION']['DEPARTMENT_RELATION'] = $arStructure['department_relation']; $arResult['FEED_DESTINATION']['DEPARTMENT_RELATION_HEAD'] = $arStructure['department_relation_head']; //$arResult['FEED_DESTINATION']['LAST']['DEPARTMENT'] = CSocNetLogDestination::GetLastDepartment(); // users //$arResult['FEED_DESTINATION']['LAST']['USERS'] = CSocNetLogDestination::GetLastUser(); if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) { $arResult['FEED_DESTINATION']['EXTRANET_USER'] = '******'; $arResult['FEED_DESTINATION']['USERS'] = CSocNetLogDestination::GetExtranetUser(); } else { // $destUsers = array(); // foreach($arResult['FEED_DESTINATION']['LAST']['USERS'] as $value) // $destUsers[] = str_replace('U', '', $value); // $arResult['FEED_DESTINATION']['EXTRANET_USER'] = '******'; // $arResult['FEED_DESTINATION']['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $destUsers)); } $crmLogDestination = CUserOptions::GetOption('crm', 'log_destination'); $crmLogDestinationItems = isset($crmLogDestination['items']) ? explode(',', $crmLogDestination['items']) : false; if (!empty($crmLogDestinationItems)) { $lastContactIds = array(); $lastCompanyIds = array(); $lastLeadIds = array(); $lastDealIds = array();