예제 #1
0
}
if ($arParams["SET_LOG_COUNTER"] == "Y") {
    $arResult["LAST_LOG_TS"] = CUserCounter::GetLastDate($GLOBALS["USER"]->GetID(), $arResult["COUNTER_TYPE"]);
    $counterLastDate = ConvertTimeStamp($arResult["LAST_LOG_TS"], "FULL");
    if ($arResult["LAST_LOG_TS"] == 0) {
        $arResult["LAST_LOG_TS"] = 1;
    } else {
        //We substruct TimeZone offset in order to get server time
        //because of template compatibility
        $arResult["LAST_LOG_TS"] -= $arResult["TZ_OFFSET"];
    }
} elseif ($arResult["COUNTER_TYPE"] == "**" && ($arParams["LOG_ID"] > 0 || $arResult["AJAX_CALL"]) && intval($_REQUEST["LAST_LOG_TS"]) > 0) {
    $arResult["LAST_LOG_TS"] = intval($_REQUEST["LAST_LOG_TS"]);
}
if ($arParams["SET_LOG_PAGE_CACHE"] == "Y") {
    $rsLogPages = CSocNetLogPages::GetList(array("USER_ID" => $GLOBALS["USER"]->GetID(), "SITE_ID" => SITE_ID, "PAGE_SIZE" => $arParams["PAGE_SIZE"], "PAGE_NUM" => $arResult["PAGE_NUMBER"]), array("PAGE_LAST_DATE"));
    if ($arLogPages = $rsLogPages->Fetch()) {
        $arFilter[">=LOG_UPDATE"] = $arLogPages["PAGE_LAST_DATE"];
    }
}
if ($arParams["SUBSCRIBE_ONLY"] == "Y") {
    $arSocNetAllowedSubscribeEntityTypesDesc = CSocNetAllowed::GetAllowedEntityTypesDesc();
    foreach ($arSocNetAllowedSubscribeEntityTypesDesc as $entity_type_tmp => $arEntityTypeTmp) {
        if (array_key_exists("HAS_MY", $arEntityTypeTmp) && $arEntityTypeTmp["HAS_MY"] == "Y" && array_key_exists("CLASS_MY", $arEntityTypeTmp) && array_key_exists("METHOD_MY", $arEntityTypeTmp) && strlen($arEntityTypeTmp["CLASS_MY"]) > 0 && strlen($arEntityTypeTmp["METHOD_MY"]) > 0 && method_exists($arEntityTypeTmp["CLASS_MY"], $arEntityTypeTmp["METHOD_MY"])) {
            $arMyEntities[$entity_type_tmp] = call_user_func(array($arEntityTypeTmp["CLASS_MY"], $arEntityTypeTmp["METHOD_MY"]));
        }
    }
    $arListParams = array("CHECK_RIGHTS" => "Y", "USE_SUBSCRIBE" => "Y", "MY_ENTITIES" => $arMyEntities);
    if (!$arParams["SHOW_HIDDEN"]) {
        $arListParams["VISIBLE"] = "Y";
    } else {
예제 #2
0
     $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']));
         $arFilter[">=LOG_UPDATE"] = ConvertTimeStamp($dateLastPageStartTS - 60 * 60 * 24 * 4, "FULL");
     } elseif ($groupCode != '**' || $arResult["MY_GROUPS_ONLY"] != 'Y') {
         $rsLogPages = CSocNetLogPages::GetList(array("PAGE_LAST_DATE" => "DESC"), array("SITE_ID" => SITE_ID, "GROUP_CODE" => $groupCode, "PAGE_SIZE" => $arParams["PAGE_SIZE"], "PAGE_NUM" => $arResult["PAGE_NUMBER"]), false, false, array("PAGE_LAST_DATE"));
         if ($arLogPages = $rsLogPages->Fetch()) {
             $dateLastPageStart = $arLogPages["PAGE_LAST_DATE"];
             $arFilter[">=LOG_UPDATE"] = ConvertTimeStamp(MakeTimeStamp($arLogPages["PAGE_LAST_DATE"], CSite::GetDateFormat("FULL")) - 60 * 60 * 24 * 4, "FULL");
             $bNeedSetLogPage = true;
         }
     }
 }
 if ($bCurrentUserIsAdmin) {
     $arListParams["USER_ID"] = "A";
 }
 if ($arParams["USE_FOLLOW"] == "Y") {
     $arListParams["USE_FOLLOW"] = "Y";
 } else {
     $arListParams["USE_FOLLOW"] = "N";
     $arListParams["USE_SUBSCRIBE"] = "N";
예제 #3
0
파일: component.php 프로젝트: vim84/b-markt
         $arResult["LAST_LOG_TS"] = 1;
     } else {
         //We substruct TimeZone offset in order to get server time
         //because of template compatibility
         $arResult["LAST_LOG_TS"] -= $arResult["TZ_OFFSET"];
     }
 } else {
     $arResult["LAST_LOG_TS"] = intval($_REQUEST["ts"]);
 }
 if ($arParams["SET_LOG_PAGE_CACHE"] == "Y") {
     $rsLogPages = CSocNetLogPages::GetList(array(), array("USER_ID" => $user_id, "SITE_ID" => SITE_ID, "GROUP_CODE" => strlen($arResult["COUNTER_TYPE"]) > 0 ? $arResult["COUNTER_TYPE"] : "**", "PAGE_SIZE" => $arParams["PAGE_SIZE"], "PAGE_NUM" => $arResult["PAGE_NUMBER"]), false, false, array("PAGE_LAST_DATE"));
     if ($arLogPages = $rsLogPages->Fetch()) {
         $dateLastPageStart = $arLogPages["PAGE_LAST_DATE"];
         $arFilter[">=LOG_UPDATE"] = ConvertTimeStamp(MakeTimeStamp($arLogPages["PAGE_LAST_DATE"], CSite::GetDateFormat("FULL")) - 60 * 60 * 24 * 4, "FULL");
     } elseif ($arResult["MY_GROUPS_ONLY"]) {
         $rsLogPages = CSocNetLogPages::GetList(array("PAGE_LAST_DATE" => "DESC"), array("SITE_ID" => SITE_ID, "GROUP_CODE" => strlen($arResult["COUNTER_TYPE"]) > 0 ? $arResult["COUNTER_TYPE"] : "**", "PAGE_SIZE" => $arParams["PAGE_SIZE"], "PAGE_NUM" => $arResult["PAGE_NUMBER"]), false, false, array("PAGE_LAST_DATE"));
         if ($arLogPages = $rsLogPages->Fetch()) {
             $dateLastPageStart = $arLogPages["PAGE_LAST_DATE"];
             $arFilter[">=LOG_UPDATE"] = ConvertTimeStamp(MakeTimeStamp($arLogPages["PAGE_LAST_DATE"], CSite::GetDateFormat("FULL")) - 60 * 60 * 24 * 4, "FULL");
             $bNeedSetLogPage = true;
         }
     }
 }
 if ($arParams["IS_CRM"] == "Y") {
     $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;