if (count($arSearchers) <= 0) { ?> <table width="100%"> <tr> <td><?php echo BeginNote(), GetMessage('SEO_PAGE_ERROR_NO_SEARCHERS'), EndNote(); ?> </td> </tr> </table> <?php } else { $arFilter = array('SEARCHER_ID' => implode('|', array_keys($arSearchers)), 'DATE1' => ConvertTimeStamp(strtotime('-3 month'), false, $site_id), 'DATE2' => ConvertTimeStamp(time(), false, $site_id), 'URL' => 'http://' . $server_name . $back_url, 'URL_EXACT_MATCH' => 'Y', 'SITE_ID' => $site); $last_ts = strtotime('-' . COption::GetOptionInt('statistic', 'SEARCHER_HIT_DAYS', 3) . ' days'); $total = 0; $dbRes = CSearcherHit::GetList($by = 's_searcher_id', $order = "asc", $arFilter, $is_filtered); while ($arRes = $dbRes->Fetch()) { $ts = MakeTimeStamp($arRes['DATE_HIT']); $total++; if ($ts < $last_ts) { $last_ts = $ts; } $arSearcherHits[$arRes['SEARCHER_ID']]++; } $days_count = floor((time() - $last_ts) / 86400); ?> <table width="100%"> <tr class="heading"> <td colspan="2"><?php echo str_replace('#COUNT#', $days_count, GetMessage('SEO_PAGE_STATS_INDEX')); ?>
$rs = CSite::GetList($v1 = "sort", $v2 = "asc"); while ($ar = $rs->Fetch()) { $ref[] = $ar["ID"]; $ref_id[] = $ar["ID"]; $arSites[$ar["ID"]] = "[<a href=\"/bitrix/admin/site_edit.php?LID=" . $ar["ID"] . "&lang=" . LANGUAGE_ID . "\">" . $ar["ID"] . "</a>] "; } $arSiteDropdown = array("reference" => $ref, "reference_id" => $ref_id); $arrExactMatch = array("ID_EXACT_MATCH" => "find_id_exact_match", "SEARCHER_EXACT_MATCH" => "find_searcher_exact_match", "URL_EXACT_MATCH" => "find_url_exact_match", "USER_AGENT_EXACT_MATCH" => "find_user_agent_exact_match", "IP_EXACT_MATCH" => "find_ip_exact_match"); $FilterArr = array("find_id", "find_url", "find_url_404", "find_site_id", "find_searcher", "find_searcher_id", "find_date1", "find_date2", "find_ip", "find_user_agent"); $arFilterFields = array_merge($FilterArr, array_values($arrExactMatch)); $lAdmin->InitFilter($arFilterFields); InitBVarFromArr($arrExactMatch); AdminListCheckDate($lAdmin, array("find_date1" => $find_date1, "find_date2" => $find_date2)); $arFilter = array("ID" => $find_id, "URL" => $find_url, "SITE_ID" => $find_site_id, "URL_404" => $find_url_404, "SEARCHER" => $find_searcher, "SEARCHER_ID" => $find_searcher_id, "DATE1" => $find_date1, "DATE2" => $find_date2, "IP" => $find_ip, "USER_AGENT" => $find_user_agent); $arFilter = array_merge($arFilter, array_convert_name_2_value($arrExactMatch)); $rsData = CSearcherHit::GetList($by, $order, $arFilter, $is_filtered); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("STAT_HIT_PAGES"))); $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "s_id", "default" => true), array("id" => "DATE_HIT", "content" => GetMessage("STAT_DATE"), "sort" => "s_date_hit", "default" => true), array("id" => "SEARCHER_ID", "content" => GetMessage("STAT_SEARCHER"), "sort" => "s_searcher_id", "default" => true), array("id" => "USER_AGENT", "content" => GetMessage("STAT_USER_AGENT"), "sort" => "s_user_agent", "default" => true), array("id" => "IP", "content" => GetMessage("STAT_IP"), "sort" => "s_ip", "default" => true), array("id" => "SITE_ID", "content" => GetMessage("STAT_PAGE"), "sort" => "s_url", "default" => true))); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); $txt = "[<a title=\"" . GetMessage("STAT_SRCH_LIST") . "\" href=\"searcher_list.php?lang=" . LANGUAGE_ID . "&find_id={$f_SEARCHER_ID}&find_id_exact_match=Y&set_filter=Y\">{$f_SEARCHER_ID}</a>] {$f_SEARCHER_NAME}"; $row->AddViewField("SEARCHER_ID", $txt); $row->AddViewField("USER_AGENT", TxtToHTML($f_USER_AGENT)); $arr = explode(".", $f_IP); $txt = GetWhoisLink($f_IP) . " [<a title=\"" . GetMessage("STAT_ADD_TO_STOPLIST_TITLE") . "\" href=\"stoplist_edit.php?lang=" . LANGUAGE_ID . "&net1={$arr['0']}&net2={$arr['1']}&net3={$arr['2']}&net4={$arr['3']}\">" . GetMessage("STAT_STOP") . "</a>]"; $row->AddViewField("IP", $txt); $row->AddViewField("SITE_ID", '[' . $arSites[$f_SITE_ID] . '] ' . StatAdminListFormatURL($arRes["URL"], array("title" => GetMessage("STAT_LINK_OPEN"), "new_window" => false, "max_display_chars" => "default", "chars_per_line" => "default", "kill_sessid" => $STAT_RIGHT < "W"))); } $lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount())));