function create_event_list(&$lAdmin, $show_money = false, $get_total_events = false) { $show_events = ""; // gather events data global $f_EVENTS_VIEW; $show_events = strlen($f_EVENTS_VIEW) <= 0 ? COption::GetOptionString("statistic", "ADV_EVENTS_DEFAULT") : $f_EVENTS_VIEW; $group_events = $show_events == "event1" || $show_events == "event2" ? $show_events : ""; global $arFilter; $arF = array(); $arF["DATE1_PERIOD"] = $arFilter["DATE1_PERIOD"]; $arF["DATE2_PERIOD"] = $arFilter["DATE2_PERIOD"]; if ($show_money) { $arF["MONEY1"] = 0.0001; } if ($show_events == "event1") { $arF["GROUP"] = "event1"; } elseif ($show_events == "event2") { $arF["GROUP"] = "event2"; } global $GROUP, $find_type, $find, $find_id, $f_REFERER1, $f_REFERER2; $adv_id = intval($find_type == "id" && $find != "" ? $find : $find_id); if ($GROUP == "N") { $events = CAdv::GetEventList($adv_id, $by, $order, $arF, $v1); } elseif ($GROUP == "Y") { $value = $find_type == "referer1" ? $f_REFERER1 : $f_REFERER2; $events = CAdv::GetEventListByReferer($value, $arFilter); } $sum_today = array("C" => 0, "M" => 0.0); $sum_back_today = array("C" => 0, "M" => 0.0); $sum_yesterday = array("C" => 0, "M" => 0.0); $sum_back_yesterday = array("C" => 0, "M" => 0.0); $sum_bef_yesterday = array("C" => 0, "M" => 0.0); $sum_back_bef_yesterday = array("C" => 0, "M" => 0.0); $sum_period = array("C" => 0, "M" => 0.0); $sum_back_period = array("C" => 0, "M" => 0.0); $sum_total = array("C" => 0, "M" => 0.0); $sum_back_total = array("C" => 0, "M" => 0.0); $arEvents = array(); while ($er = $events->Fetch()) { $arEvents[] = $er; $sum_today["C"] += intval($er["COUNTER_TODAY"]); $sum_back_today["C"] += intval($er["COUNTER_BACK_TODAY"]); $sum_yesterday["C"] += intval($er["COUNTER_YESTERDAY"]); $sum_back_yesterday["C"] += intval($er["COUNTER_BACK_YESTERDAY"]); $sum_bef_yesterday["C"] += intval($er["COUNTER_BEF_YESTERDAY"]); $sum_back_bef_yesterday["C"] += intval($er["COUNTER_BACK_BEF_YESTERDAY"]); $sum_period["C"] += intval($er["COUNTER_PERIOD"]); $sum_back_period["C"] += intval($er["COUNTER_BACK_PERIOD"]); $sum_total["C"] += intval($er["COUNTER"]); $sum_back_total["C"] += intval($er["COUNTER_BACK"]); if ($show_money == "Y") { $sum_today["M"] += doubleval($er["MONEY_TODAY"]); $sum_back_today["M"] += doubleval($er["MONEY_BACK_TODAY"]); $sum_yesterday["M"] += doubleval($er["MONEY_YESTERDAY"]); $sum_back_yesterday["M"] += doubleval($er["MONEY_BACK_YESTERDAY"]); $sum_bef_yesterday["M"] += doubleval($er["MONEY_BEF_YESTERDAY"]); $sum_back_bef_yesterday["M"] += doubleval($er["MONEY_BACK_BEF_YESTERDAY"]); $sum_period["M"] += doubleval($er["MONEY_PERIOD"]); $sum_back_period["M"] += doubleval($er["MONEY_BACK_PERIOD"]); $sum_total["M"] += doubleval($er["MONEY"]); $sum_back_total["M"] += doubleval($er["MONEY_BACK"]); } } $total_events_sum = array("C" => 0, "M" => 0.0); $total_events_sum["C"] = $sum_total["C"] + $sum_back_total["C"]; $total_events_sum["M"] = $sum_total["M"] + $sum_back_total["M"]; if ($get_total_events) { return $total_events_sum["C"]; } global $f_GUESTS_TODAY, $f_GUESTS_BACK_TODAY, $f_GUESTS_YESTERDAY, $f_GUESTS_BACK_YESTERDAY; global $f_GUESTS_BEF_YESTERDAY, $f_GUESTS_BACK_BEF_YESTERDAY, $f_GUESTS_PERIOD, $f_GUESTS_BACK_PERIOD; global $f_GUESTS, $f_GUESTS_BACK; $arSum = array("TODAY" => event_format_link($sum_today, $f_GUESTS_TODAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($now_date) . "&find_date2=" . urlencode($now_date) . "&set_filter=Y", $show_money), "TODAY_BACK" => event_format_link($sum_back_today, $f_GUESTS_BACK_TODAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($now_date) . "&find_date2=" . urlencode($now_date) . "&set_filter=Y", $show_money), "YESTERDAY" => event_format_link($sum_yesterday, $f_GUESTS_YESTERDAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($yesterday_date) . "&find_date2=" . urlencode($yesterday_date) . "&set_filter=Y", $show_money), "YESTERDAY_BACK" => event_format_link($sum_back_yesterday, $f_GUESTS_BACK_YESTERDAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($yesterday_date) . "&find_date2=" . urlencode($yesterday_date) . "&set_filter=Y", $show_money), "BEF_YESTERDAY" => event_format_link($sum_bef_yesterday, $f_GUESTS_BEF_YESTERDAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($bef_yesterday_date) . "&find_date2=" . urlencode($bef_yesterday_date) . "&set_filter=Y", $show_money), "BEF_YESTERDAY_BACK" => event_format_link($sum_back_bef_yesterday, $f_GUESTS_BACK_BEF_YESTERDAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($bef_yesterday_date) . "&find_date2=" . urlencode($bef_yesterday_date) . "&set_filter=Y", $show_money), "PERIOD" => event_format_link($sum_period, $f_GUESTS_PERIOD, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($find_date1_period) . "&find_date2=" . urlencode($find_date2_period) . "&set_filter=Y", $show_money), "PERIOD_BACK" => event_format_link($sum_back_period, $f_GUESTS_BACK_PERIOD, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($find_date1_period) . "&find_date2=" . urlencode($find_date2_period) . "&set_filter=Y", $show_money), "TOTAL" => event_format_link($sum_total, $f_GUESTS, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&&set_filter=Y", $show_money), "TOTAL_BACK" => event_format_link($sum_back_total, $f_GUESTS_BACK, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&&set_filter=Y", $show_money)); $full_list = $show_events == "list" || $show_events == "event1" || $show_events == "event2"; $arHeaders = array(); if ($show_events == "list" || $show_events == "event1") { $arHeaders[] = array("id" => "EVENT1", "content" => "event1", "default" => true); } if ($show_events == "list" || $show_events == "event2") { $arHeaders[] = array("id" => "EVENT2", "content" => "event2", "default" => true); } if ($list_mode != "period") { $arHeaders[] = array("id" => "today", "content" => GetMessage("STAT_TODAY") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true); $arHeaders[] = array("id" => "today_back", "content" => GetMessage("STAT_TODAY") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true); $arHeaders[] = array("id" => "yesterday", "content" => GetMessage("STAT_YESTERDAY") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true); $arHeaders[] = array("id" => "yesterday_back", "content" => GetMessage("STAT_YESTERDAY") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true); $arHeaders[] = array("id" => "bef_yesterday", "content" => GetMessage("STAT_BEFYESTERDAY") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true); $arHeaders[] = array("id" => "bef_yesterday_back", "content" => GetMessage("STAT_BEFYESTERDAY") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true); } global $find_date1_period, $find_date2_period, $is_filtered; if ((strlen($find_date1_period) > 0 || strlen($find_date2_period) > 0) && $is_filtered) { $arHeaders[] = array("id" => "period", "content" => GetMessage("STAT_PERIOD") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true); $arHeaders[] = array("id" => "period_back", "content" => GetMessage("STAT_PERIOD") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true); } $arHeaders[] = array("id" => "total", "content" => GetMessage("STAT_TOTAL") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true); $arHeaders[] = array("id" => "total_back", "content" => GetMessage("STAT_TOTAL") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true); $lAdmin->AddHeaders($arHeaders); if ($full_list) { $events = new CDBResult(); $events->InitFromArray($arEvents); $rsData = new CAdminResult($events, $lAdmin->table_id); $first = true; $i = COption::GetOptionInt("statistic", "ADV_DETAIL_TOP_SIZE"); while ($i > 0 && ($arRes = $rsData->NavNext(true, "e_"))) { if ($first) { foreach ($arRes as $key => $value) { global ${"e_" . $key}; } $first = false; } $row =& $lAdmin->AddRow($e_ID, $arRes); if ($show_events == "list") { $title = "ID = " . $e_ID; if (strlen($e_EVENT1) > 0) { $title .= "\nevent1 = " . $e_EVENT1; } if (strlen($e_EVENT2) > 0) { $title .= "\nevent2 = " . $e_EVENT2; } if (strlen($e_NAME) > 0) { $title .= "\n" . GetMessage("STAT_NAME") . " " . $e_NAME; } if (strlen($e_DESCRIPTION) > 0) { $title .= "\n" . GetMessage("STAT_DESCRIPTION") . " " . $e_DESCRIPTION; } $name = "<a target=\"_blank\" href=\"event_type_list.php?lang=" . LANG . "&find_id=" . $e_ID . "&find_id_exact_match=Y&set_filter=Y\" class=\"tablebodylink\" title=\"" . $title . "\">" . $e_EVENT . "</a>"; } elseif ($show_events == "event1") { $name = "<a target=\"_blank\" href=\"event_type_list.php?lang=" . LANG . "&find_event1=" . urlencode("\"" . $e_EVENT1 . "\"") . "&set_filter=Y\" class=\"tablebodylink\">" . $e_EVENT1 . "</a>"; } elseif ($show_events == "event2") { $name = "<a target=\"_blank\" href=\"event_type_list.php?lang=" . LANG . "&find_event2=" . urlencode("\"" . $e_EVENT2 . "\"") . "&set_filter=Y\" class=\"tablebodylink\">" . $e_EVENT2 . "</a>"; } $strHTML = event_format_link(array("C" => $e_COUNTER_TODAY, "M" => $e_MONEY_TODAY), $f_GUESTS_TODAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_event_id_exact_match=Y&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($now_date) . "&find_date2=" . urlencode($now_date) . "&set_filter=Y", $show_money); $row->AddViewField("today", $strHTML); $strHTML = event_format_link(array("C" => $e_COUNTER_BACK_TODAY, "M" => $e_MONEY_BACK_TODAY), $f_GUESTS_BACK_TODAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_id=" . $adv_id . "&find_adv_back=Y&find_date1=" . urlencode($now_date) . "&find_date2=" . urlencode($now_date) . "&set_filter=Y", $show_money); $row->AddViewField("today_back", $strHTML); $strHTML = event_format_link(array("C" => $e_COUNTER_YESTERDAY, "M" => $e_MONEY_YESTERDAY), $f_GUESTS_YESTERDAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($yesterday_date) . "&find_date2=" . urlencode($yesterday_date) . "&set_filter=Y", $show_money); $row->AddViewField("yesterday", $strHTML); $strHTML = event_format_link(array("C" => $e_COUNTER_BACK_YESTERDAY, "M" => $e_MONEY_BACK_YESTERDAY), $f_GUESTS_BACK_YESTERDAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($yesterday_date) . "&find_date2=" . urlencode($yesterday_date) . "&set_filter=Y", $show_money); $row->AddViewField("yesterday_back", $strHTML); $strHTML = event_format_link(array("C" => $e_COUNTER_BEF_YESTERDAY, "M" => $e_MONEY_BEF_YESTERDAY), $f_GUESTS_BEF_YESTERDAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($bef_yesterday_date) . "&find_date2=" . urlencode($bef_yesterday_date) . "&set_filter=Y", $show_money); $row->AddViewField("bef_yesterday", $strHTML); $strHTML = event_format_link(array("C" => $e_COUNTER_BACK_BEF_YESTERDAY, "M" => $e_MONEY_BACK_BEF_YESTERDAY), $f_GUESTS_BACK_BEF_YESTERDAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($bef_yesterday_date) . "&find_date2=" . urlencode($bef_yesterday_date) . "&set_filter=Y", $show_money); $row->AddViewField("bef_yesterday_back", $strHTML); if ((strlen($find_date1_period) > 0 || strlen($find_date2_period) > 0) && $is_filtered) { $strHTML = event_format_link(array("C" => $e_COUNTER_PERIOD, "M" => $e_MONEY_PERIOD), $f_GUESTS_PERIOD, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($find_date1_period) . "&find_date2=" . urlencode($find_date2_period) . "&set_filter=Y", $show_money); $row->AddViewField("period", $strHTML); $strHTML = event_format_link(array("C" => $e_COUNTER_BACK_PERIOD, "M" => $e_MONEY_BACK_PERIOD), $f_GUESTS_BACK_PERIOD, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($find_date1_period) . "&find_date2=" . urlencode($find_date2_period) . "&set_filter=Y", $show_money); $row->AddViewField("period_back", $strHTML); } $strHTML = event_format_link(array("C" => $e_COUNTER, "M" => $e_MONEY), $f_GUESTS, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=N&set_filter=Y", $show_money); $row->AddViewField("total", $strHTML); $strHTML = event_format_link(array("C" => $e_COUNTER_BACK, "M" => $e_MONEY_BACK), $f_GUESTS_BACK, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=Y&set_filter=Y", $show_money); $row->AddViewField("total_back", $strHTML); --$i; } } $row =& $lAdmin->AddRow(0, array()); $row->SetFeatures(array("footer" => $full_list)); $row->AddViewField("EVENT1", GetMessage("STAT_FOOTER")); $row->AddViewField("today", $arSum["TODAY"]); $row->AddViewField("today_back", $arSum["TODAY_BACK"]); $row->AddViewField("yesterday", $arSum["YESTERDAY"]); $row->AddViewField("yesterday_back", $arSum["YESTERDAY_BACK"]); $row->AddViewField("bef_yesterday", $arSum["BEF_YESTERDAY"]); $row->AddViewField("bef_yesterday_back", $arSum["BEF_YESTERDAY_BACK"]); if ((strlen($find_date1_period) > 0 || strlen($find_date2_period) > 0) && $is_filtered) { $row->AddViewField("period", $arSum["PERIOD"]); $row->AddViewField("period_back", $arSum["PERIOD_BACK"]); } $row->AddViewField("total", $arSum["TOTAL"]); $row->AddViewField("total_back", $arSum["TOTAL_BACK"]); }
$arF = array(); $arF["DATE1_PERIOD"] = $arFilter["DATE1_PERIOD"]; $arF["DATE2_PERIOD"] = $arFilter["DATE2_PERIOD"]; if ($show_events == "event1") { $arF["GROUP"] = "event1"; } elseif ($show_events == "event2") { $arF["GROUP"] = "event2"; } if ($find != "" && $find_type == "event1") { $arF["EVENT1"] = $find; } if ($find != "" && $find_type == "event2") { $arF["EVENT2"] = $find; } if ($GROUP == "N") { $events = CAdv::GetEventList($f_ID, $by, $order, $arF, $v1); } elseif ($GROUP == "Y") { $value = $find_group == "referer1" ? $f_REFERER1 : $f_REFERER2; $events = CAdv::GetEventListByReferer($value, $arFilter); } $sum_today = 0; $sum_back_today = 0; $sum_yesterday = 0; $sum_back_yesterday = 0; $sum_bef_yesterday = 0; $sum_back_bef_yesterday = 0; $sum_period = 0; $sum_back_period = 0; $sum_total = 0; $sum_back_total = 0; $arEvents = array();
$rsData = CAdv::GetDynamicList($find_adv_id, $by, $order, $arMaxMin, $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("STAT_ADV_DYN_PAGES"))); $arHeaders = array(array("id" => "DATE_STAT", "content" => GetMessage("STAT_DATE"), "sort" => "s_date", "default" => true, "align" => "right"), array("id" => "SESSIONS", "content" => GetMessage("STAT_SESSIONS") . " " . GetMessage("STAT_STRAIGHT"), "default" => true, "align" => "right"), array("id" => "SESSIONS_BACK", "content" => GetMessage("STAT_SESSIONS") . " " . GetMessage("STAT_BACK") . "*", "default" => true, "align" => "right"), array("id" => "GUESTS", "content" => GetMessage("STAT_GUESTS") . " " . GetMessage("STAT_STRAIGHT"), "default" => true, "align" => "right"), array("id" => "GUESTS_BACK", "content" => GetMessage("STAT_GUESTS") . " " . GetMessage("STAT_BACK") . "*", "default" => true, "align" => "right"), array("id" => "NEW_GUESTS", "content" => GetMessage("STAT_GUESTS") . " " . GetMessage("STAT_NEW"), "default" => true, "align" => "right"), array("id" => "C_HOSTS", "content" => GetMessage("STAT_HOSTS") . " " . GetMessage("STAT_STRAIGHT"), "default" => true, "align" => "right"), array("id" => "HOSTS_BACK", "content" => GetMessage("STAT_HOSTS") . " " . GetMessage("STAT_BACK") . "*", "default" => true, "align" => "right"), array("id" => "HITS", "content" => GetMessage("STAT_HITS") . " " . GetMessage("STAT_STRAIGHT"), "default" => true, "align" => "right"), array("id" => "HITS_BACK", "content" => GetMessage("STAT_HITS") . " " . GetMessage("STAT_BACK") . "*", "default" => true, "align" => "right"), array("id" => "EVENTS", "content" => GetMessage("STAT_EVENTS"), "default" => true)); $lAdmin->AddHeaders($arHeaders); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_DATE_STAT, $arRes); if (intval($f_SESSIONS) > 0) { $str = "<a href=\"session_list.php?lang=" . LANG . "&find_adv_id=" . urlencode($find_adv_id) . "&find_adv_id_exact_match=Y&find_date1=" . $f_DATE_STAT . "&find_date2=" . $f_DATE_STAT . "&set_filter=Y\">" . intval($f_SESSIONS) . "</a>"; $row->AddViewField("SESSIONS", $str); } $arF["DATE1_PERIOD"] = $f_DATE_STAT; $arF["DATE2_PERIOD"] = $f_DATE_STAT; $arF["COUNTER_ADV_DYNAMIC_LIST"] = "1"; $events = CAdv::GetEventList($find_adv_id, $by2 = "s_def", $order2 = "desc", $arF, $is_filtered); $sum = 0; $sum_back = 0; while ($ar = $events->Fetch("e_")) { $sum += intval($ar["COUNTER"]); $sum_back += intval($ar["COUNTER_BACK"]); } $str = '<a title="' . GetMessage("STAT_VIEW_EVENT_LIST") . '" href="event_list.php?lang=' . LANG . '&find_adv_id=' . urlencode($find_adv_id) . '&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=' . $f_DATE_STAT . '&find_date2=' . $f_DATE_STAT . '&set_filter=Y">' . $sum . '</a> (<a title="' . GetMessage("STAT_VIEW_EVENT_LIST_BACK") . '" href="event_list.php?lang=' . LANG . '&find_adv_id=' . urlencode($find_adv_id) . '&find_adv_back=Y&find_date1=' . $f_DATE_STAT . '&find_date2=' . $f_DATE_STAT . '&set_filter=Y">' . $sum_back . '</a>*)'; $row->AddViewField("EVENTS", $str); $arActions = array(); $arActions[] = array("ICON" => "list", "TEXT" => GetMessage("STAT_EVENTS_LIST"), "ACTION" => "javascript:CloseWaitWindow(); jsUtils.OpenWindow('adv_list_popup.php?list_mode=period&lang=" . LANG . "&ID=" . $find_adv_id . "&find_date1_period=" . $f_DATE_STAT . "&find_date2_period=" . $f_DATE_STAT . "&set_filter=Y', '700', '550');", "DEFAULT" => "Y"); $row->AddActions($arActions); } $max_date = mktime(24, 59, 59, $arMaxMin["MAX_MONTH"], $arMaxMin["MAX_DAY"], $arMaxMin["MAX_YEAR"]); $min_date = mktime(0, 0, 0, $arMaxMin["MIN_MONTH"], $arMaxMin["MIN_DAY"], $arMaxMin["MIN_YEAR"]); $arF = array("ID" => $find_adv_id, "DATE1_PERIOD" => $arFilter["DATE1"], "DATE2_PERIOD" => $arFilter["DATE2"]);
$ID = intval($ID); $FilterArr = array("find_id", "find_event1", "find_event2", "find_keywords", "find_date1", "find_date2", "find_group"); if (strlen($set_filter) > 0) { InitFilterEx($FilterArr, "ADV_EVENTS", "set"); } else { InitFilterEx($FilterArr, "ADV_EVENTS", "get"); } if (strlen($del_filter) > 0) { DelFilterEx($FilterArr, "ADV_EVENTS"); } if (strlen($find_id) > 0 || strlen($find_event1) > 0 || strlen($find_event2) > 0 || strlen($find_keywords) > 0 || strlen($find_date1) > 0 || strlen($find_date2) > 0 || $find_group != "NOT_REF") { if (AdminListCheckDate($strError, array("find_date1" => $find_date1, "find_date2" => $find_date2))) { $arFilter = array("ID" => $find_id, "EVENT1" => $find_event1, "EVENT2" => $find_event2, "KEYWORDS" => $find_keywords, "DATE1_PERIOD" => $find_date1, "DATE2_PERIOD" => $find_date2, "GROUP" => $find_group); } } $events = CAdv::GetEventList($ID, $by, $order, $arFilter, $is_filtered); $find_group = strlen($find_group) <= 0 ? "NOT_REF" : $find_group; /*************************************************************************** HTML form ****************************************************************************/ $APPLICATION->SetTitle(str_replace("#ID#", "{$ID}", GetMessage("STAT_TITLE"))); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_popup_admin.php"; echo ShowError($strError); echo BeginFilter("ADV_EVENTS", $is_filtered); ?> <form name="form1" method="GET" action="<?php echo $APPLICATION->GetCurPage(); ?> ?"> <tr> <td class="tablebody"><font class="tablefieldtext">ID:</font></td>
$row->AddViewField("SESSIONS_BACK_PERIOD", $strHTML); } //$row->AddViewField("SESSIONS_PERIOD", getHTML("SESSIONS_PERIOD")); //$row->AddViewField("SESSIONS_BACK_PERIOD", getHTML("SESSIONS_BACK_PERIOD")); $show_events = strlen($f_EVENTS_VIEW) <= 0 ? COption::GetOptionString("statistic", "ADV_EVENTS_DEFAULT") : $f_EVENTS_VIEW; $group_events = $show_events == "event1" || $show_events == "event2" ? $show_events : ""; $arF = array(); $arF["DATE1_PERIOD"] = $arFilter["DATE1_PERIOD"]; $arF["DATE2_PERIOD"] = $arFilter["DATE2_PERIOD"]; if ($show_events == "event1") { $arF["GROUP"] = "event1"; } elseif ($show_events == "event2") { $arF["GROUP"] = "event2"; } if ($group_by == "") { $events = CAdv::GetEventList($f_ID, $by2 = "s_def", $order2 = "desc", $arF, $v1); } else { $value = $group_by == "referer1" ? $f_REFERER1 : $f_REFERER2; $events = CAdv::GetEventListByReferer($value, $arFilter); } $sum_today = 0; $sum_back_today = 0; $sum_total = 0; $sum_back_total = 0; while ($er = $events->Fetch()) { $sum_today += intval($er["COUNTER_TODAY"]); $sum_back_today += intval($er["COUNTER_BACK_TODAY"]); $sum_total += intval($er["COUNTER"]); $sum_back_total += intval($er["COUNTER_BACK"]); } $strHTML = $sum_today > 0 || $sum_back_today > 0 ? $sum_today + $sum_back_today : " ";
$next_date = AddTime($prev_date, 1, "D"); if ($date > $next_date && intval($prev_date) > 0) { $date_tmp = $next_date; while ($date_tmp < $date) { $arrX[] = $date_tmp; foreach ($find_events as $eid) { $arrY_events[$eid][] = 0; $arrY_events_back[$eid][] = 0; } $date_tmp = AddTime($date_tmp, 1, "D"); } } $arrX[] = $date; $arF["DATE1_PERIOD"] = GetTime($date); $arF["DATE2_PERIOD"] = GetTime($date); $e = CAdv::GetEventList($ADV_ID, $by = "s_def", $order = "desc", $arF, $is_filtered); while ($er = $e->Fetch()) { if ($find_show_money == "Y" && $STAT_RIGHT > "M") { $arrEvent[$er["ID"]][$date] = intval($er["MONEY_PERIOD"]); $arrEvent_back[$er["ID"]][$date] = intval($er["MONEY_BACK_PERIOD"]); } else { $arrEvent[$er["ID"]][$date] = intval($er["COUNTER_PERIOD"]); $arrEvent_back[$er["ID"]][$date] = intval($er["COUNTER_BACK_PERIOD"]); } } foreach ($find_events as $eid) { $arrY_events[$eid][] = intval($arrEvent[$eid][$date]); $arrY_events_back[$eid][] = intval($arrEvent_back[$eid][$date]); } $prev_date = $date; }