$show_money = $saved_show_money; } $saved_show_money = $show_money; if ($summa === false) { //Restore saved setting $summa = $saved_summa; } $saved_summa = $summa; InitFilterEx($arSettings, $sTableID . "_settings", "set"); //Compatibility only TODO:remove this code $FilterArr[] = "find_show_money"; $find_show_money = $show_money; $FilterArr[] = "find_summa"; $find_summa = $summa; $strError = ""; AdminListCheckDate($strError, array("find_date1" => $find_date1, "find_date2" => $find_date2)); $str = is_array($find_events) ? implode(" | ", $find_events) : ""; $arFilter = array("EVENT_ID" => $str, "DATE1" => $find_date1, "DATE2" => $find_date2, "SUMMA" => $find_summa); $lAdmin->BeginCustomContent(); if (is_array($find_events) && count($find_events) > 0) { $arrDays = CStatEventType::GetGraphArray($arFilter, $arrLegend); if (function_exists("ImageCreate")) { if (strlen($strError) <= 0 && count($arrLegend) > 0 && count($arrDays) > 1) { $width = COption::GetOptionString("statistic", "GRAPH_WEIGHT"); $height = COption::GetOptionString("statistic", "GRAPH_HEIGHT"); ?> <div class="graph"> <?php if ($summa == "Y") { echo GetMessage("STAT_SUMMARIZED"); }
//Restore & Save settings (windows registry like) $arSettings = array("saved_graph_type"); InitFilterEx($arSettings, $sTableID . "_settings", "get"); if ($graph_type === false) { //Restore saved setting $graph_type = $saved_graph_type; } if ($graph_type != "date" && $graph_type != "hour" && $graph_type != "weekday" && $graph_type != "month") { $graph_type = "date"; } if ($saved_graph_type != $graph_type) { //Set if changed $saved_graph_type = $graph_type; } InitFilterEx($arSettings, $sTableID . "_settings", "set"); AdminListCheckDate($lAdmin, array("find_date1" => $find_date1, "find_date2" => $find_date2)); $arFilter = array("DATE1" => $find_date1, "DATE2" => $find_date2, "SITE_ID" => $find_site_id); if (is_array($find_site_id)) { $site_filtered = count($find_site_id) > 0; } else { $site_filtered = strlen($find_site_id) > 0 && $find_site_id != "NOT_REF"; } $lAdmin->BeginPrologContent(); /*************************************************************************** HTML form ****************************************************************************/ $days = CTraffic::DynamicDays($arFilter["DATE1"], $arFilter["DATE2"], $arFilter["SITE_ID"]); //echo "1".$days."1"; if ($days < 2) { CAdminMessage::ShowMessage(GetMessage("STAT_NOT_ENOUGH_DATA")); } elseif (!function_exists("ImageCreate")) {
$filter = new CAdminFilter($sTableID . "_filter_id", array(GetMessage("STAT_F_SITE"), GetMessage("STAT_F_DATE_START"), GetMessage("STAT_F_DATE_END"), GetMessage("STAT_F_ACTIVE"), GetMessage("STAT_F_STATISTIC"), GetMessage("STAT_F_IP"), GetMessage("STAT_F_USER_AGENT"), GetMessage("STAT_F_FROM"), GetMessage("STAT_F_TO"), GetMessage("STAT_F_REDIRECT"), GetMessage("STAT_F_MESSAGE"), GetMessage("STAT_F_COMMENTS"), GetMessage("STAT_F_LOGIC"))); $arFilterFields = array("find_id", "find_id_exact_match", "find_site_id", "find_date_start_1", "find_date_start_2", "find_date_end_1", "find_date_end_2", "find_active", "find_save_statistic", "find_ip_1", "find_ip_2", "find_ip_3", "find_ip_4", "find_ip_exact_match", "find_user_agent", "find_user_agent_exact_match", "find_url_from", "find_url_from_exact_match", "find_url_to", "find_url_to_exact_match", "find_url_redirect", "find_url_redirect_exact_match", "find_message", "find_message_exact_match", "find_comments", "find_comments_exact_match", "FILTER_logic"); $lAdmin->InitFilter($arFilterFields); InitBVar($find_id_exact_match); InitBVar($find_ip_exact_match); InitBVar($find_ip_exact_match); InitBVar($find_ip_exact_match); InitBVar($find_ip_exact_match); InitBVar($find_user_agent_exact_match); InitBVar($find_url_from_exact_match); InitBVar($find_url_to_exact_match); InitBVar($find_url_redirect_exact_match); InitBVar($find_comments_exact_match); InitBVar($find_message_exact_match); AdminListCheckDate($lAdmin, array("find_date_start_1" => $find_date_start_1, "find_date_start_2" => $find_date_start_2)); AdminListCheckDate($lAdmin, array("find_date_end_1" => $find_date_end_1, "find_date_end_2" => $find_date_end_2)); $arFilter = array("ID" => $find_id, "SITE_ID" => $find_site_id, "DATE_START_1" => $find_date_start_1, "DATE_START_2" => $find_date_start_2, "DATE_END_1" => $find_date_end_1, "DATE_END_2" => $find_date_end_2, "ACTIVE" => $find_active, "SAVE_STATISTIC" => $find_save_statistic, "IP_1" => $find_ip_1, "IP_2" => $find_ip_2, "IP_3" => $find_ip_3, "IP_4" => $find_ip_4, "USER_AGENT" => $find_user_agent, "URL_FROM" => $find_url_from, "URL_TO" => $find_url_to, "URL_REDIRECT" => $find_url_redirect, "COMMENTS" => $find_comments, "MESSAGE" => $find_message, "ID_EXACT_MATCH" => $find_id_exact_match, "IP_1_EXACT_MATCH" => $find_ip_exact_match, "IP_2_EXACT_MATCH" => $find_ip_exact_match, "IP_3_EXACT_MATCH" => $find_ip_exact_match, "IP_4_EXACT_MATCH" => $find_ip_exact_match, "USER_AGENT_EXACT_MATCH" => $find_user_agent_exact_match, "URL_FROM_EXACT_MATCH" => $find_url_from_exact_match, "URL_TO_EXACT_MATCH" => $find_url_to_exact_match, "URL_REDIRECT_EXACT_MATCH" => $find_url_redirect_exact_match, "COMMENTS_EXACT_MATCH" => $find_comments_exact_match, "MESSAGE_EXACT_MATCH" => $find_message_exact_match); if ($lAdmin->EditAction()) { foreach ($FIELDS as $ID => $arFields) { $ID = intval($ID); if (!$lAdmin->IsUpdated($ID)) { continue; } $obStopList = new CStoplist(); if (!$obStopList->Update($ID, $arFields)) { if ($e = $APPLICATION->GetException()) { $lAdmin->AddUpdateError(GetMessage("SAVE_ERROR") . $ID . ": " . $e->GetString(), $ID); } } } }
if ($STAT_RIGHT == "D") { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } IncludeModuleLangFile(__FILE__); /*************************************************************************** Functions ***************************************************************************/ $sTableID = "t_adv_detail"; $sFilterID = $sTableID . "_filter_id"; $oSort = new CAdminSorting($sTableID); $lAdmin = new CAdminList($sTableID, $oSort); ClearVars("f_"); $FilterArr = array("find", "find_type", "find_date1_period", "find_date2_period"); $lAdmin->InitFilter($FilterArr); $strError = ""; AdminListCheckDate($strError, array("find_date1_period" => $find_date1_period, "find_date2_period" => $find_date2_period)); if ($find_type == "referer1") { $GROUP = "Y"; $arFilter["REFERER1"] = $find; $arFilter["REFERER1_EXACT_MATCH"] = "Y"; $arFilter["GROUP"] = $find_type; } elseif ($find_type == "referer2") { $GROUP = "Y"; $arFilter["REFERER2"] = $find; $arFilter["REFERER2_EXACT_MATCH"] = "Y"; $arFilter["GROUP"] = $find_type; } else { $GROUP = "N"; $arFilter["ID"] = $find; $arFilter["ID_EXACT_MATCH"] = "Y"; $find_type = "id";
$arrExactMatch = array("ID_EXACT_MATCH" => "find_id_exact_match", "REFERER1_EXACT_MATCH" => "find_referer12_exact_match", "REFERER2_EXACT_MATCH" => "find_referer12_exact_match"); $FilterArr = array("find", "find_type", "find_id", "find_date1_period", "find_date2_period", "find_referer1", "find_referer2", "find_guests1", "find_guests2", "find_guests_back", "find_sessions1", "find_sessions2", "find_sessions_back", "find_cost1", "find_cost2", "find_revenue1", "find_revenue2", "find_benefit1", "find_benefit2", "find_roi1", "find_roi2", "find_currency", "find_attent1", "find_attent2", "find_activite1", "find_activite2", "find_visitors_per_day1", "find_visitors_per_day2", "find_duration1", "find_duration2"); $FilterArr = array_merge($FilterArr, array_values($arrExactMatch)); $lAdmin->InitFilter($FilterArr); //Restore & Save settings (windows registry like) $arSettings = array("saved_group_by"); InitFilterEx($arSettings, $sTableID . "_settings", "get"); if ($group_by === false) { //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"); AdminListCheckDate($lAdmin, array("find_date1_period" => $find_date1_period, "find_date2_period" => $find_date2_period)); $arFilter = array("ID" => $find != "" && $find_type == "id" ? $find : $find_id, "DATE1_PERIOD" => $find_date1_period, "DATE2_PERIOD" => $find_date2_period, "REFERER1" => $find != "" && $find_type == "referer1" ? $find : $find_referer1, "REFERER2" => $find != "" && $find_type == "referer2" ? $find : $find_referer2, "GUESTS1" => $find_guests1, "GUESTS2" => $find_guests2, "GUESTS_BACK" => $find_guests_back, "SESSIONS1" => $find_sessions1, "SESSIONS2" => $find_sessions2, "SESSIONS_BACK" => $find_sessions_back, "COST1" => $STAT_RIGHT > "M" ? $find_cost1 : "", "COST2" => $STAT_RIGHT > "M" ? $find_cost2 : "", "REVENUE1" => $STAT_RIGHT > "M" ? $find_revenue1 : "", "REVENUE2" => $STAT_RIGHT > "M" ? $find_revenue2 : "", "BENEFIT1" => $STAT_RIGHT > "M" ? $find_benefit1 : "", "BENEFIT2" => $STAT_RIGHT > "M" ? $find_benefit2 : "", "ROI1" => $STAT_RIGHT > "M" ? $find_roi1 : "", "ROI2" => $STAT_RIGHT > "M" ? $find_roi2 : "", "CURRENCY" => $find_currency, "ATTENT1" => $find_attent1, "ATTENT2" => $find_attent2, "ATTENT_BACK" => $find_attent_back, "VISITORS_PER_DAY1" => $find_visitors_per_day1, "VISITORS_PER_DAY2" => $find_visitors_per_day2, "DURATION1" => $find_duration1, "DURATION2" => $find_duration2, "GROUP" => $group_by); $arFilter = array_merge($arFilter, array_convert_name_2_value($arrExactMatch)); if (($arID = $lAdmin->GroupAction()) && $STAT_RIGHT >= "W") { if ($_REQUEST['action_target'] == "selected") { $cData = new CAdv(); $rsData = $cData->GetList($by2, $order2, $arFilter, $is_filtered2); while ($arRes = $rsData->Fetch()) { $arID[] = $arRes['ID']; } } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } $ID = IntVal($ID);