function GetDefaultValue($user_id) { if (intval($user_id) <= 0) { return false; } global $CACHE_MANAGER; if (defined("BX_COMP_MANAGED_CACHE")) { $ttl = 2592000; } else { $ttl = 600; } $cache_id = 'sonet_smartfilter_default_' . $user_id; $obCache = new CPHPCache(); $cache_dir = '/sonet/log_smartfilter/'; if ($obCache->InitCache($ttl, $cache_id, $cache_dir)) { $tmpVal = $obCache->GetVars(); $default_value = $tmpVal["VALUE"]; unset($tmpVal); } else { $default_value = false; if (is_object($obCache)) { $obCache->StartDataCache($ttl, $cache_id, $cache_dir); } $rsSmartFilter = CSocNetLogSmartFilter::GetList(array(), array("USER_ID" => $user_id), array("TYPE")); if ($arSmartFilter = $rsSmartFilter->Fetch()) { $default_value = $arSmartFilter["TYPE"]; } if (is_object($obCache)) { $arCacheData = array("VALUE" => $default_value); $obCache->EndDataCache($arCacheData); } } unset($obCache); if (!$default_value) { $default_value = COption::GetOptionString("socialnetwork", "sonet_log_smart_filter", "N", ""); } return $default_value; }
$arListParams = array("IS_CRM" => "Y", "CHECK_CRM_RIGHTS" => "Y"); $filterParams = array("ENTITY_TYPE" => $arParams["CRM_ENTITY_TYPE"], "ENTITY_ID" => $arParams["CRM_ENTITY_ID"], "AFFECTED_TYPES" => array(), "OPTIONS" => array("CUSTOM_DATA" => isset($arParams["CUSTOM_DATA"]) && is_array($arParams["CUSTOM_DATA"]) ? $arParams["CUSTOM_DATA"] : array())); $events = GetModuleEvents("socialnetwork", "OnBuildSocNetLogFilter"); while ($arEvent = $events->Fetch()) { ExecuteModuleEventEx($arEvent, array(&$arFilter, &$filterParams, &$arParams)); } $arListParams['CUSTOM_FILTER_PARAMS'] = $filterParams; } else { if (IsModuleInstalled('crm')) { $arFilter["!MODULE_ID"] = COption::GetOptionString("crm", "enable_livefeed_merge", "N") == "Y" ? array('crm') : array('crm', 'crm_shared'); } $arListParams = array("CHECK_RIGHTS" => "Y"); } if ($arParams["USE_FOLLOW"] != "N" && !IsModuleInstalled("intranet") && isset($USER) && is_object($USER) && $USER->IsAuthorized()) { $arResult["USE_SMART_FILTER"] = "Y"; $arListParams["MY_GROUPS_ONLY"] = CSocNetLogSmartFilter::GetDefaultValue($user_id) == "Y" ? "Y" : "N"; } if (CModule::IncludeModule('extranet') && (CExtranet::IsExtranetSite() || $preset_filter_id == 'extranet')) { $arListParams["MY_GROUPS_ONLY"] = "Y"; } $arResult["MY_GROUPS_ONLY"] = isset($arListParams["MY_GROUPS_ONLY"]) ? $arListParams["MY_GROUPS_ONLY"] : false; if (intval($_REQUEST["pagesize"]) > 0) { $arParams["SET_LOG_PAGE_CACHE"] = "N"; } if ($arParams["SET_LOG_PAGE_CACHE"] == "Y") { $groupCode = strlen($arResult["COUNTER_TYPE"]) > 0 ? $arResult["COUNTER_TYPE"] : "**"; $rsLogPages = \Bitrix\Socialnetwork\LogPageTable::getList(array('order' => array('USER_ID' => 'ASC'), 'filter' => array("USER_ID" => $user_id, "SITE_ID" => SITE_ID, "GROUP_CODE" => $groupCode, "PAGE_SIZE" => $arParams["PAGE_SIZE"], "PAGE_NUM" => $arResult["PAGE_NUMBER"]), 'group' => array("USER_ID"), 'select' => array('PAGE_LAST_DATE', 'TRAFFIC_AVG', 'TRAFFIC_CNT', 'TRAFFIC_LAST_DATE'))); if ($arLogPages = $rsLogPages->Fetch()) { $dateLastPageStart = $arLogPages["PAGE_LAST_DATE"]; $dateLastPageStartTS = MakeTimeStamp($arLogPages["PAGE_LAST_DATE"], CSite::GetDateFormat("FULL")); $arLastPageStart = array('TRAFFIC_LAST_DATE_TS' => $arLogPages["TRAFFIC_LAST_DATE"] ? MakeTimeStamp($arLogPages["TRAFFIC_LAST_DATE"], CSite::GetDateFormat("FULL")) : 0, 'TRAFFIC_AVG' => intval($arLogPages['TRAFFIC_AVG']), 'TRAFFIC_CNT' => intval($arLogPages['TRAFFIC_CNT']));
} $arListParams = array( "CHECK_RIGHTS" => "Y", ); if ( $arParams["USE_FOLLOW"] != "N" && !IsModuleInstalled("intranet") && isset($USER) && is_object($USER) && $USER->IsAuthorized() ) { $arResult["USE_SMART_FILTER"] = "Y"; $arListParams["MY_GROUPS_ONLY"] = (CSocNetLogSmartFilter::GetDefaultValue($GLOBALS["USER"]->GetID()) == "Y" ? "Y" : "N"); } if (CModule::IncludeModule('extranet') && CExtranet::IsExtranetSite()) $arListParams["MY_GROUPS_ONLY"] = "Y"; $arResult["MY_GROUPS_ONLY"] = (isset($arListParams["MY_GROUPS_ONLY"]) ? $arListParams["MY_GROUPS_ONLY"] : false); if ($bCurrentUserIsAdmin) $arListParams["USER_ID"] = "A"; if ($arParams["USE_FOLLOW"] == "Y") $arListParams["USE_FOLLOW"] = "Y"; else { $arListParams["USE_FOLLOW"] = "N";
} $arResult["MODE"] = isset($_REQUEST["SONET_FILTER_MODE"]) && $_REQUEST["SONET_FILTER_MODE"] == "AJAX" ? "AJAX" : false; if ($GLOBALS["USER"]->IsAuthorized() || $arParams["AUTH"] == "Y" || $arParams["SUBSCRIBE_ONLY"] != "Y") { $arResult["DATE_FILTER"] = array("" => GetMessage("SONET_C30_DATE_FILTER_NO_NO_NO_1"), "today" => GetMessage("SONET_C30_DATE_FILTER_TODAY"), "yesterday" => GetMessage("SONET_C30_DATE_FILTER_YESTERDAY"), "week" => GetMessage("SONET_C30_DATE_FILTER_WEEK"), "week_ago" => GetMessage("SONET_C30_DATE_FILTER_WEEK_AGO"), "month" => GetMessage("SONET_C30_DATE_FILTER_MONTH"), "month_ago" => GetMessage("SONET_C30_DATE_FILTER_MONTH_AGO"), "days" => GetMessage("SONET_C30_DATE_FILTER_LAST"), "exact" => GetMessage("SONET_C30_DATE_FILTER_EXACT"), "after" => GetMessage("SONET_C30_DATE_FILTER_LATER"), "before" => GetMessage("SONET_C30_DATE_FILTER_EARLIER"), "interval" => GetMessage("SONET_C30_DATE_FILTER_INTERVAL")); } $arResult["FOLLOW_TYPE"] = ""; if ($GLOBALS["USER"]->IsAuthorized()) { $arParams["SHOW_SMART_FILTER_MYGROUPS"] = $arParams["USE_SMART_FILTER"]; if (array_key_exists("set_follow_type", $_GET)) { CSocNetLogFollow::Set($GLOBALS["USER"]->GetID(), "**", $_GET["set_follow_type"] == "Y" ? "Y" : "N", false); if ($_GET["set_follow_type"] != "Y") { $_SESSION["SL_SHOW_FOLLOW_HINT"] = "Y"; } LocalRedirect(""); } elseif ($arParams["USE_SMART_FILTER"] == "Y" && array_key_exists("set_smart_filter_mygroups", $_GET)) { CSocNetLogSmartFilter::Set($GLOBALS["USER"]->GetID(), $_GET["set_smart_filter_mygroups"] == "Y" ? "Y" : "N"); CSocNetLogPages::DeleteEx($GLOBALS["USER"]->GetID(), SITE_ID); LocalRedirect(""); } $arResult["FOLLOW_TYPE"] = CSocNetLogFollow::GetDefaultValue($GLOBALS["USER"]->GetID()); } $arResult["flt_created_by_string"] = ""; if (strlen($_REQUEST["flt_created_by_string"]) > 0) { $arResult["flt_created_by_string"] = $_REQUEST["flt_created_by_string"]; } else { if (is_array($_REQUEST["flt_created_by_id"]) && intval($_REQUEST["flt_created_by_id"][0]) > 0) { $user_id_tmp = $_REQUEST["flt_created_by_id"][0]; } elseif (intval($_REQUEST["flt_created_by_id"]) > 0) { $user_id_tmp = $_REQUEST["flt_created_by_id"]; } if (intval($user_id_tmp) > 0) {