require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/search/prolog.php");
IncludeModuleLangFile(__FILE__);
/** @global CMain $APPLICATION */
global $APPLICATION;
/** @var CAdminMessage $message */
$searchDB = CDatabase::GetModuleConnection('search');
$SEARCH_RIGHT = $APPLICATION->GetGroupRight("search");
if($SEARCH_RIGHT=="D")
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
$sTableID = "tbl_search_phrase_list";
$oSort = new CAdminSorting($sTableID, "ID", "DESC");
$lAdmin = new CAdminList($sTableID, $oSort);
$ref = $ref_id = array();
$rs = CSite::GetList();
while ($ar = $rs->Fetch())
{
$ref[] = $ar["ID"];
$ref_id[] = $ar["ID"];
}
$arSiteDropdown = array("reference" => $ref, "reference_id" => $ref_id);
$arFilterFields = Array(
"find_id",
"find_date1",
"find_date2",
"find_site_id",
"find_phrase",
"find_tags",
"find_stat_sess_id",
"find_url_to",
"find_url_to_404",
);
$lAdmin->InitFilter($arFilterFields);
if($lAdmin->IsDefaultFilter())
{
$sdate = time();
$sdate = mktime(0, 0, 0, date("m", $sdate), date("d", $sdate)-1, date("Y", $sdate));
$find_date1 = ConvertTimeStamp($sdate);
}
$arFilter = array();
if($_REQUEST["find_id_exact_match"] == "Y")
$arFilter["=ID"] = $find_id;
else
$arFilter["ID"] = $find_id;
$arFilter[">=TIMESTAMP_X"] = $find_date1;
$arFilter["<=TIMESTAMP_X"] = $find_date2;
$arFilter["=SITE_ID"] = $find_site_id;
if($_REQUEST["find_phrase_exact_match"] == "Y")
$arFilter["=PHRASE"] = $find_phrase;
else
$arFilter["PHRASE"] = $find_phrase;
if($_REQUEST["find_tags_exact_match"] == "Y")
$arFilter["=TAGS"] = $find_tags;
else
$arFilter["TAGS"] = $find_tags;
if($_REQUEST["find_stat_sess_id_exact_match"] == "Y")
$arFilter["=STAT_SESS_ID"] = $find_stat_sess_id;
else
$arFilter["STAT_SESS_ID"] = $find_stat_sess_id;
if($_REQUEST["find_url_to_exact_match"] == "Y")
$arFilter["=URL_TO"] = $find_url_to;
else
$arFilter["URL_TO"] = $find_url_to;
$arFilter["=URL_TO_404"] = $find_url_to_404;
foreach($arFilter as $key => $value)
if($value == '')
unset($arFilter[$key]);
$rsData = CSearchStatistic::GetList(array($by => $order), $arFilter);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
// navigation setup
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("SEARCH_PHL_PHRASES")));
$aContext=array();
$lAdmin->AddAdminContextMenu($aContext);
$arHeaders=array(
array("id"=>"ID", "content"=>GetMessage("SEARCH_PHL_ID"), "sort"=>"ID", "default"=>true, "align"=>"right"),
array("id"=>"SITE_ID", "content"=>GetMessage("SEARCH_PHL_SITE_ID"), "default"=>true),
array("id"=>"PHRASE", "content"=>GetMessage("SEARCH_PHL_PHRASE"), "sort"=>"PHRASE", "default"=>true),
array("id"=>"TAGS", "content"=>GetMessage("SEARCH_PHL_TAGS"), "sort"=>"TAGS", "default"=>true),
array("id"=>"TIMESTAMP_X", "content"=>GetMessage("SEARCH_PHL_TIMESTAMP_X"), "sort"=>"TIMESTAMP_X", "default"=>true),
array("id"=>"URL_TO", "content"=>GetMessage("SEARCH_PHL_URL_TO"), "sort"=>"URL_TO", "default"=>true),
array("id"=>"RESULT_COUNT", "content"=>GetMessage("SEARCH_PHL_RESULT_COUNT"), "sort"=>"RESULT_COUNT", "default"=>true, "align"=>"right"),
array("id"=>"PAGES", "content"=>GetMessage("SEARCH_PHL_PAGES"), "title" => GetMessage("SEARCH_PHL_PAGES_ALT"), "sort"=>"PAGES", "default"=>true, "align"=>"right"),
);
if(IsModuleInstalled('statistic'))
$arHeaders[] = array("id"=>"STAT_SESS_ID", "content"=>GetMessage("SEARCH_PHL_STAT_SESS_ID"), "sort"=>"STAT_SESS_ID", "default"=>true, "align"=>"right");
$lAdmin->AddHeaders($arHeaders);
$i=0;
while($arRes = $rsData->NavNext(true, "f_"))
{
$row =& $lAdmin->AddRow($f_ID, $arRes);
if($_REQUEST["mode"] != "excel")
$row->AddViewField("TIMESTAMP_X", str_replace(" ", " ", $f_TIMESTAMP_X));
$row->AddViewField("URL_TO", ($f_URL_TO_SITE_ID? "[".$f_URL_TO_SITE_ID."] ": "")."".TruncateText(InsertSpaces($f_URL_TO,50,"