Exemple #1
0
    //Restore saved setting
    $group_by = $saved_group_by;
} elseif ($saved_group_by != $group_by) {
    //Set if changed
    $saved_group_by = $group_by;
}
InitFilterEx($arSettings, $sTableID . "_settings", "set");
$lAdmin->InitFilter($arFilterFields);
$find_group = $group_by == "S" || $group_by == "U" ? $group_by : "";
InitBVarFromArr($arrExactMatch);
AdminListCheckDate($lAdmin, array("find_date1" => $find_date1, "find_date2" => $find_date2));
$arFilter = array("ID" => $find_id, "SESSION_ID" => $find_session_id, "DATE1" => $find_date1, "DATE2" => $find_date2, "FROM" => $find_from, "FROM_PROTOCOL" => $find_from_protocol, "FROM_DOMAIN" => $find_from_domain, "FROM_PAGE" => $find_from_url, "SITE_ID" => $find_site_id, "TO" => $find_to, "TO_404" => $find_to_404, "GROUP" => $find_group);
$arFilter = array_merge($arFilter, array_convert_name_2_value($arrExactMatch));
//////////////////////////////////////////////////////////////////////
// Quering data
$rsData = CReferer::GetList($by, $order, $arFilter, $is_filtered, $total, $grby, $max);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$aContext = array();
$aContext[] = array("TEXT" => GetMessage("STAT_F_GROUP"), "MENU" => array(array("TEXT" => GetMessage("STAT_NO_GROUP"), "ACTION" => $lAdmin->ActionDoGroup(0, "", "group_by=none"), "ICON" => $grby != "S" && $grby != "U" ? "checked" : ""), array("TEXT" => GetMessage("STAT_BY_SERVER"), "ACTION" => $lAdmin->ActionDoGroup(0, "", "group_by=S"), "ICON" => $grby == "S" ? "checked" : ""), array("TEXT" => GetMessage("STAT_BY_LINK"), "ACTION" => $lAdmin->ActionDoGroup(0, "", "group_by=U"), "ICON" => $grby == "U" ? "checked" : "")));
$lAdmin->AddAdminContextMenu($aContext);
// Navigation setup
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("STAT_REF_PAGES")));
if ($grby == "S") {
    $headers = array(array("id" => "FAKE_NUM", "content" => GetMessage("STAT_NUM"), "default" => true, "options" => array("width" => "0"), "align" => "right"), array("id" => "URL_FROM", "content" => GetMessage("STAT_URL_FROM"), "sort" => "s_url_from", "default" => true), array("id" => "QUANTITY", "content" => GetMessage("STAT_QUANTITY"), "sort" => "s_quantity", "default" => true, "align" => "right"), array("id" => "PERCENT", "content" => GetMessage("STAT_PERCENT"), "sort" => "s_quantity", "default" => true, "align" => "right"), array("id" => "AVERAGE_HITS", "content" => GetMessage("STAT_AVERAGE_HITS"), "sort" => "s_average_hits", "default" => true, "align" => "right"), array("id" => "FAKE_GRAPH", "content" => GetMessage("STAT_GRAPH"), "default" => true));
} elseif ($grby == "U") {
    $headers = array(array("id" => "FAKE_NUM", "content" => GetMessage("STAT_NUM"), "default" => true, "options" => array("width" => "0"), "align" => "right"), array("id" => "URL_FROM", "content" => GetMessage("STAT_URL_FROM"), "sort" => "s_url_from", "default" => true), array("id" => "QUANTITY", "content" => GetMessage("STAT_QUANTITY"), "sort" => "s_quantity", "default" => true, "align" => "right"), array("id" => "PERCENT", "content" => GetMessage("STAT_PERCENT"), "sort" => "s_quantity", "default" => true, "align" => "right"), array("id" => "AVERAGE_HITS", "content" => GetMessage("STAT_AVERAGE_HITS"), "sort" => "s_average_hits", "default" => true, "align" => "right"), array("id" => "FAKE_GRAPH", "content" => GetMessage("STAT_GRAPH"), "default" => true));
} else {
    $headers = array(array("id" => "ID", "content" => "ID", "sort" => "s_id", "default" => true, "align" => "right"), array("id" => "URL_FROM", "content" => GetMessage("STAT_URL_FROM"), "sort" => "s_url_from", "default" => true), array("id" => "URL_TO", "content" => GetMessage("STAT_PAGE_TO"), "sort" => "s_url_to", "default" => true), array("id" => "DATE_HIT", "content" => GetMessage("STAT_DATE_HIT"), "sort" => "s_date_hit", "default" => true), array("id" => "SESSION_ID", "content" => GetMessage("STAT_SESSION"), "sort" => "s_session_id", "default" => true, "align" => "right"));
}
$lAdmin->AddHeaders($headers);
Exemple #2
0
 $dbRes->NavStart(20, false, 0);
 $arReferers = array();
 while ($arRes = $dbRes->Fetch()) {
     if (strlen($arRes['URL_FROM']) > 0) {
         if (!is_array($arReferers[$arRes['URL_FROM']])) {
             $arReferers[$arRes['URL_FROM']] = array('TOTAL' => $arRes['QUANTITY'], 'PERCENT' => $arRes['C_PERCENT'], 'URL_FROM' => array());
         }
     }
 }
 //unset($arFilter['GROUP']);
 $arFilter['GROUP'] = 'U';
 // damn ineffectively but there's no other way
 foreach ($arReferers as $key => $arData) {
     $arFilter['FROM_DOMAIN'] = $key;
     $arFilter['FROM_DOMAIN_EXACT_MATCH'] = 'Y';
     $dbRes = CReferer::GetList($by = 's_quantity', $order = 'desc', $arFilter, $is_filtered, $total, $group_by, $max);
     $dbRes->NavStart(50, false, 0);
     while ($arRes = $dbRes->Fetch()) {
         if (strlen($arRes['URL_FROM']) > 0 && ($arUrl = parse_url($arRes['URL_FROM']))) {
             if ($arUrl['port'] != '' && $arUrl['port'] != 80) {
                 $arUrl['host'] .= ':' . $arUrl['port'];
             }
             if (isset($arReferers[$arUrl['host']])) {
                 $arReferers[$arUrl['host']]['URL_FROM'][$arRes['URL_FROM']] = $arRes['QUANTITY'];
             }
         }
     }
 }
 if ($total > 0) {
     $cnt = count($arReferers);
     ?>
Exemple #3
0
<?
*/

if (!CModule::IncludeModule('statistic')):
?>
	<tr>
		<td><?ShowError('Эта функция недоступна без модуля Веб-аналитики');?></td>
	</tr>
<?
else:
	$arFilter = array(
		'TO' => 'http://'.$server_name.$back_url,
		'TO_EXACT_MATCH' => 'Y',
	);
	
	$dbRes = CReferer::GetList($by = 's_url_from', $order = 'asc', $arFilter, $is_filtered, $total, $group_by, $max);

	$arReferers = array();
	$total = 0;
	while ($arRes = $dbRes->Fetch())
	{
		if (strlen($arRes['URL_FROM']) > 0 && ($arUrl = parse_url($arRes['URL_FROM'])))
		{
			if (!is_array($arReferers[$arUrl['host']]))
			{
				$arReferers[$arUrl['host']] = array(
					'TOTAL' => 0, 
					'URL_FROM' => array(
						$arRes['URL_FROM'] => 0
					),
				);