</tr> <? elseif (count($arSearchers) <= 0): ?> <tr> <td>Для использования данной функции необходимо задать список используемых поисковых систем в <a href="/freetrix/admin/settings.php?mid=seo&tabControl_active_tab=edit3">настройках модуля SEO</a>.</td> </tr> <? else: $arFilter = array( 'SEARCHER_ID' => implode('|', array_keys($arSearchers)), 'TO' => 'http://'.$server_name.$back_url, 'TO_EXACT_MATCH' => 'Y', ); $dbRes = CPhrase::GetList($by = 's_phrase', $order = 'asc', $arFilter, $is_filtered, $total, $group_by, $max); $arWords = array(); $total = 0; while ($arRes = $dbRes->Fetch()) { if (!is_array($arWords[$arRes['PHRASE']])) $arWords[$arRes['PHRASE']] = array( 'TOTAL' => 0, 'ID' => $arRes['ID'], 'SEARCHERS' => array(), ); if (!is_array($arWords[$arRes['PHRASE']]['SEARCHERS'][$arRes['SEARCHER_ID']])) $arWords[$arRes['PHRASE']]['SEARCHERS'][$arRes['SEARCHER_ID']] = array( 'SEARCHER_NAME' => $arRes['SEARCHER_NAME'],
</table> <?php } else { $arFilter = array('SEARCHER_ID' => implode('|', array_keys($arSearchers)), 'TO' => 'http://' . $server_name . $back_url, 'TO_EXACT_MATCH' => 'Y', 'GROUP' => 'P'); $dbRes = CPhrase::GetList($by = 's_quantity', $order = 'desc', $arFilter, $is_filtered, $total, $group_by, $max); $dbRes->NavStart(20, false, 0); $arWords = array(); while ($arRes = $dbRes->Fetch()) { $arWords[$arRes['PHRASE']] = array('TOTAL' => $arRes['QUANTITY'], 'PERCENT' => $arRes['C_PERCENT'], 'SEARCHERS' => array()); } //unset($arFilter['GROUP']); $arFilter['GROUP'] = 'S'; foreach ($arWords as $phrase => $arWord) { $arFilter['PHRASE'] = '"' . $phrase . '"'; $arFilter['PHRASE_EXACT_MATCH'] = 'Y'; $dbRes = CPhrase::GetList($by = 's_quantity', $order = 'desc', $arFilter, $is_filtered, $total1, $group_by, $max); $dbRes->NavStart(50, false, 0); while ($arRes = $dbRes->Fetch()) { $arWords[$phrase]['SEARCHERS'][$arRes['SEARCHER_ID']] = array('SEARCHER_NAME' => $arRes['SEARCHER_NAME'], 'COUNT' => $arRes['QUANTITY']); } } if ($total > 0) { $cnt = count($arWords); ?> <table width="100%"> <tr> <td colspan="2" align="center"><table class="phrases-table"> <?php $color = null; foreach ($arWords as $word => $arData) { $arData['ID'] = rand(0, 65535);
$arFilterFields = array("find_id", "find_session_id", "find_searcher_id", "find_searcher_id_str", "find_searcher", "find_referer_id", "find_date1", "find_date2", "find_phrase", "find_to", "find_site_id", "find_to_404"); if ($group_by == "S" || $group_by == "P" || $group_by == "none") { InitFilterEx(array("group_by"), $sTableID . "_settings", "set"); InitFilterEx(array("group_by"), $sTableID . "_settings", "get"); $set_filter = "Y"; } InitFilterEx(array("group_by"), $sTableID . "_settings", "get"); $arFilterFields = array_merge($arFilterFields, array_values($arrExactMatch)); $lAdmin->InitFilter($arFilterFields); InitBVarFromArr($arrExactMatch); AdminListCheckDate($lAdmin, array("find_date1" => $find_date1, "find_date2" => $find_date2)); $arFilter = array("ID" => $find_id, "SESSION_ID" => $find_session_id, "SEARCHER_ID" => $find_searcher_id, "SEARCHER_ID_STR" => $find_searcher_id_str, "SEARCHER" => $find_searcher, "REFERER_ID" => $find_referer_id, "DATE1" => $find_date1, "DATE2" => $find_date2, "PHRASE" => $find_phrase, "TO" => $find_to, "TO_404" => $find_to_404, "SITE_ID" => $find_site_id, "GROUP" => $find_group); $arFilter = array_merge($arFilter, array_convert_name_2_value($arrExactMatch)); ////////////////////////////////////////////////////////////////////// // list init $rsData = CPhrase::GetList($by, $order, $arFilter, $is_filtered, $total, $grby, $max); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // navigation setup $lAdmin->NavText($rsData->GetNavPrint($grby == "P" ? GetMessage("STAT_PHRASES") : GetMessage("STAT_PHRASE_PAGES"))); $aContext = array(); $lAdmin->AddAdminContextMenu($aContext); if ($grby == "S") { $headers = array(array("id" => "FAKE_NUM", "content" => GetMessage("STAT_NUM"), "default" => true, "options" => array("width" => "0")), array("id" => "SEARCHER_ID", "content" => GetMessage("STAT_SERVER"), "sort" => "s_name", "default" => true), array("id" => "QUANTITY", "content" => GetMessage("STAT_QUANTITY"), "sort" => "s_quantity", "default" => true), array("id" => "AVERAGE_HITS", "content" => GetMessage("STAT_AVERAGE_HITS"), "sort" => "s_average_hits", "default" => true), array("id" => "FAKE_GRAPH", "content" => GetMessage("STAT_GRAPH"), "default" => true)); } elseif ($grby == "P") { $headers = array(array("id" => "FAKE_NUM", "content" => GetMessage("STAT_NUM"), "default" => true), array("id" => "PHRASE", "content" => GetMessage("STAT_PHRASE"), "sort" => "s_phrase", "default" => true), array("id" => "QUANTITY", "content" => GetMessage("STAT_QUANTITY"), "sort" => "s_quantity", "default" => true), array("id" => "FAKE_GRAPH", "content" => GetMessage("STAT_GRAPH"), "default" => true)); } else { $headers = array(array("id" => "ID", "content" => "ID", "sort" => "s_id", "default" => true), array("id" => "PHRASE", "content" => GetMessage("STAT_PHRASE"), "sort" => "s_phrase", "default" => true), array("id" => "SEARCHER_ID", "content" => GetMessage("STAT_SERVER"), "sort" => "s_searcher_id", "default" => true), array("id" => "DATE_HIT", "content" => GetMessage("STAT_DATE_INSERT"), "sort" => "s_date_hit", "default" => true), array("id" => "PAGE_TO", "content" => GetMessage("STAT_PAGE_TO"), "sort" => "s_url_to", "default" => true), array("id" => "REFERER_ID", "content" => GetMessage("STAT_REFERER"), "sort" => "s_referer_id", "default" => true), array("id" => "SESSION_ID", "content" => GetMessage("STAT_SESSION"), "sort" => "s_session_id", "default" => true)); } $lAdmin->AddHeaders($headers); $i = 0;