%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/socialnetwork_user/include/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/socialnetwork_user/include/search.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <? $arParams["SEARCH_FILTER_NAME"] = ( isset($arParams["SEARCH_FILTER_NAME"]) && strlen($arParams["SEARCH_FILTER_NAME"]) > 0 ? $arParams["SEARCH_FILTER_NAME"] : "sonet_search_filter" ); $arParams["SEARCH_FILTER_DATE_NAME"] = ( isset($arParams["SEARCH_FILTER_DATE_NAME"]) && strlen($arParams["SEARCH_FILTER_DATE_NAME"]) > 0 ? $arParams["SEARCH_FILTER_DATE_NAME"] : "sonet_search_filter_date" ); $arParams["SEARCH_RESTART"] = ( isset($arParams["SEARCH_RESTART"]) && $arParams["SEARCH_RESTART"] == "Y" ? $arParams["SEARCH_RESTART"] : "N" ); $arParams["SEARCH_USE_LANGUAGE_GUESS"] = ( isset($arParams["SEARCH_USE_LANGUAGE_GUESS"]) && $arParams["SEARCH_USE_LANGUAGE_GUESS"] == "N" ? $arParams["SEARCH_USE_LANGUAGE_GUESS"] : "Y" ); global ${$arParams["SEARCH_FILTER_NAME"]}, $sonet_search_settings; $sonet_search_filter = array(); $EntityType = (strpos($componentPage, "group_content_search") !== false ? SONET_ENTITY_GROUP : SONET_ENTITY_USER); $sFilterDateTo = $_REQUEST[$arParams["SEARCH_FILTER_DATE_NAME"]."_to"]; if ($arr = ParseDateTime($_REQUEST[$arParams["SEARCH_FILTER_DATE_NAME"]."_to"])) { if ( intval($arr["HH"]) == 0 && intval($arr["MI"]) == 0 && intval($arr["SS"]) == 0 ) { $arr["HH"] = "23"; $arr["MI"] = "59"; $arr["SS"] = "59"; $sDateTime = $arr["DD"].".".$arr["MM"].".".$arr["YYYY"]." ".$arr["HH"].":".$arr["MI"].":".$arr["SS"]; $stmp = MakeTimeStamp($sDateTime, "DD.MM.YYYY HH:MI:SS"); $sFilterDateTo = ConvertTimeStamp($stmp, "FULL"); } } if (strlen($_REQUEST[$arParams["SEARCH_FILTER_NAME"]]) > 0) $sonet_search_filter["SONET_FEATURE"] = $_REQUEST[$arParams["SEARCH_FILTER_NAME"]]; if (strlen($_REQUEST[$arParams["SEARCH_FILTER_DATE_NAME"]."_from"]) > 0) $sonet_search_filter[">=DATE_CHANGE"] = $_REQUEST[$arParams["SEARCH_FILTER_DATE_NAME"]."_from"]; if (strlen($sFilterDateTo) > 0) $sonet_search_filter["<=DATE_CHANGE"] = $sFilterDateTo; $sonet_search_settings = array( "PHOTO_IBLOCK_TYPE" => ($EntityType == SONET_ENTITY_GROUP ? $arParams["PHOTO_GROUP_IBLOCK_TYPE"] : $arParams["PHOTO_USER_IBLOCK_TYPE"]), "PHOTO_IBLOCK_ID" => ($EntityType == SONET_ENTITY_GROUP ? $arParams["PHOTO_GROUP_IBLOCK_ID"] : $arParams["PHOTO_USER_IBLOCK_ID"]), "FILES_IBLOCK_TYPE" => ($EntityType == SONET_ENTITY_GROUP ? $arParams["FILES_GROUP_IBLOCK_TYPE"] : $arParams["FILES_USER_IBLOCK_TYPE"]), "FILES_IBLOCK_ID" => ($EntityType == SONET_ENTITY_GROUP ? $arParams["FILES_GROUP_IBLOCK_ID"] : $arParams["FILES_USER_IBLOCK_ID"]), "CALENDAR_IBLOCK_TYPE" => $arParams["CALENDAR_IBLOCK_TYPE"], "CALENDAR_IBLOCK_ID" => ($EntityType == SONET_ENTITY_GROUP ? $arParams["CALENDAR_GROUP_IBLOCK_ID"] : $arParams["CALENDAR_USER_IBLOCK_ID"]), ); AddEventHandler("search", "OnSearchPrepareFilter", Array("CSocNetSearchComponent", "OnSearchPrepareFilterHandler")); class CSocNetSearchComponent { function OnSearchPrepareFilterHandler($strSearchContentAlias, $field, $val) { if($field == "SONET_FEATURE") { $feature = false; if(!is_array($val)) $feature = trim($val); if($feature) { switch($feature) { case "forum": return " ".$strSearchContentAlias."MODULE_ID = 'forum'"; case "blog": return " ".$strSearchContentAlias."MODULE_ID = 'blog'"; case "tasks": return " ".$strSearchContentAlias."MODULE_ID = 'tasks'"; case "photo": $iblock_type = $GLOBALS["sonet_search_settings"]["PHOTO_IBLOCK_TYPE"]; $iblock_id = $GLOBALS["sonet_search_settings"]["PHOTO_IBLOCK_ID"]; if (strlen($iblock_type) > 0 && intval($iblock_id) > 0) return " ".$strSearchContentAlias."MODULE_ID = 'socialnetwork' AND ".$strSearchContentAlias."PARAM1 = '".$iblock_type."' AND ".$strSearchContentAlias."PARAM2 = ".$iblock_id; else return " 1=0"; case "files": $iblock_type = $GLOBALS["sonet_search_settings"]["FILES_IBLOCK_TYPE"]; $iblock_id = $GLOBALS["sonet_search_settings"]["FILES_IBLOCK_ID"]; if (strlen($iblock_type) > 0 && intval($iblock_id) > 0) return " ".$strSearchContentAlias."MODULE_ID = 'socialnetwork' AND ".$strSearchContentAlias."PARAM1 = '".$iblock_type."' AND ".$strSearchContentAlias."PARAM2 = ".$iblock_id; else return " 1=0"; default: return " 1=0"; } } else return ""; } else return ""; } } if (strpos($componentPage, "user_content_search") === false) { $arGroup = CSocNetGroup::GetByID($arResult["VARIABLES"]["group_id"]); $APPLICATION->AddChainItem($arGroup["NAME"], CComponentEngine::MakePathFromTemplate(htmlspecialcharsbx($arResult["PATH_TO_GROUP"]), array("group_id" => $arGroup["ID"]))); } else { $dbUser = CUser::GetByID($arResult["VARIABLES"]["user_id"]); $arUser = $dbUser->Fetch(); if (strlen($arParams["NAME_TEMPLATE"]) <= 0) $arParams["NAME_TEMPLATE"] = CSite::GetNameFormat(); $arParams["TITLE_NAME_TEMPLATE"] = str_replace( array("#NOBR#", "#/NOBR#"), array("", ""), $arParams["NAME_TEMPLATE"] ); $bUseLogin = $arParams['SHOW_LOGIN'] != "N" ? true : false; $strTitleFormatted = CUser::FormatName($arParams['TITLE_NAME_TEMPLATE'], $arUser, $bUseLogin); $APPLICATION->AddChainItem($strTitleFormatted, CComponentEngine::MakePathFromTemplate(htmlspecialcharsbx($arResult["PATH_TO_USER"]), array("user_id" => $arUser["ID"]))); } $feature = "search"; $arEntityActiveFeatures = CSocNetFeatures::GetActiveFeaturesNames(((strpos($componentPage, "user_content_search") === false) ? SONET_ENTITY_GROUP : SONET_ENTITY_USER), ((strpos($componentPage, "user_content_search") === false) ? $arResult["VARIABLES"]["group_id"] : $arResult["VARIABLES"]["user_id"])); $strFeatureTitle = ((array_key_exists($feature, $arEntityActiveFeatures) && StrLen($arEntityActiveFeatures[$feature]) > 0) ? $arEntityActiveFeatures[$feature] : GetMessage("SONET_CONTENT_SEARCH_CHAIN")); if (strpos($componentPage, "user_content_search") === false) $url = CComponentEngine::MakePathFromTemplate(htmlspecialcharsbx($arResult["PATH_TO_GROUP_CONTENT_SEARCH"]), array("group_id" => $arResult["VARIABLES"]["group_id"])); else $url = CComponentEngine::MakePathFromTemplate(htmlspecialcharsbx($arResult["PATH_TO_USER_CONTENT_SEARCH"]), array("user_id" => $arResult["VARIABLES"]["user_id"])); $APPLICATION->AddChainItem($strFeatureTitle, $url); ?>