$FilterArr1 = array("find_adv_id"); $FilterArr = array("find_date1", "find_date2"); $lAdmin->InitFilter($FilterArr); AdminListCheckDate($lAdmin, array("find_date1" => $find_date1, "find_date2" => $find_date2)); $arFilter = array("DATE1" => $find_date1, "DATE2" => $find_date2); $find_adv_id = intval($find_adv_id); $statDB = CDatabase::GetModuleConnection('statistic'); $strSql = "SELECT EVENTS_VIEW FROM b_stat_adv WHERE ID = " . $find_adv_id; $a = $statDB->Query($strSql, false, $err_mess . __LINE__); if (!($ar = $a->Fetch())) { $lAdmin->BeginCustomContent(); CAdminMessage::ShowMessage(GetMessage("STAT_INCORRECT_ADV_ID")); $lAdmin->EndCustomContent(); } else { $EVENTS_VIEW = $ar["EVENTS_VIEW"]; $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);
public static function DynamicDays($ADV_ID, $date1 = "", $date2 = "") { $arFilter = array("DATE1" => $date1, "DATE2" => $date2); $d = 0; $z = CAdv::GetDynamicList($ADV_ID, $by, $order, $arMaxMin, $arFilter); while ($zr = $z->Fetch()) { $d++; } return $d; }
} // image init $ImageHandle = CreateImageHandle($width, $height); $arrX = array(); // X axis points $arrY = array(); // Y axis points $arrayX = array(); // X axis grid points $arrayY = array(); // Y axis grid points /****************************************************** Get plot data *******************************************************/ $arFilter = array("DATE1" => $find_date1, "DATE2" => $find_date2); $dynamic = CAdv::GetDynamicList($ADV_ID, $by = "s_date", $order = "asc", $arMaxMin, $arFilter); while ($arData = $dynamic->GetNext()) { $date = mktime(0, 0, 0, $arData["MONTH"], $arData["DAY"], $arData["YEAR"]); $date_tmp = 0; // arrage dates in order $next_date = AddTime($prev_date, 1, "D"); if ($date > $next_date && intval($prev_date) > 0) { // fill missing dates $date_tmp = $next_date; while ($date_tmp < $date) { $arrX[] = $date_tmp; if ($find_sessions == "Y") { $arrY_sessions[] = 0; } if ($find_sessions_back == "Y") { $arrY_sessions_back[] = 0;