/*
##############################################
# Bitrix: SiteManager #
# Copyright (c) 2004 Bitrix #
# http://www.bitrix.ru #
# mailto:admin@bitrix.ru #
##############################################
*/
use Bitrix\Main\Loader;
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/prolog.php");
Loader::includeModule('advertising');
$isAdmin = CAdvContract::IsAdmin();
$isDemo = CAdvContract::IsDemo();
$isManager = CAdvContract::IsManager();
$isAdvertiser = CAdvContract::IsAdvertiser();
if(!$isAdmin && !$isDemo && !$isManager && !$isAdvertiser) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
IncludeModuleLangFile(__FILE__);
IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/admin/adv_stat_list.php");
include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/colors.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/img.php");
/***************************************************************************
Обработка GET | POST
****************************************************************************/
$strError = '';
$banner_ref = array();
$banner_ref_id = array();
$group_ref_id = array();
$group_ref = array();
$rsBanns = CAdvBanner::GetList("s_dropdown", "desc");
while ($arBann = $rsBanns->Fetch())
{
$banner_ref_id[] = $arBann["ID"];
$banner_ref[] = "[".$arBann["ID"]."] ".$arBann["NAME"];
if (!in_array($arBann["GROUP_SID"], $group_ref_id) && $arBann["GROUP_SID"] <> '')
{
$group_ref_id[] = $arBann["GROUP_SID"];
$group_ref[] = $arBann["GROUP_SID"];
}
if ($find_type_sid <> '')
{
if ($arBann["TYPE_SID"]==$find_type_sid) $find_banner_id[] = $arBann["ID"];
}
}
if(empty($banner_ref))
$strError = GetMessage("ADV_NO_BANNERS_FOR_GRAPHIC");
$man = false;
if ((!isset($_SESSION["SESS_ADMIN"]["AD_STAT_BANNER_GRAPH"]) || empty($_SESSION["SESS_ADMIN"]["AD_STAT_BANNER_GRAPH"])) && $find_date1 == '' && $find_date2 == '' && !is_array($find_banner_id) && $find_banner_summa == '' && !is_array($find_what_show))
{
$find_banner_id = $banner_ref_id;
$find_banner_summa = "Y";
$find_what_show = Array("ctr");
$man = true;
$set_filter = "Y";
}
$FilterArr = Array(
"find_date1",
"find_date2",
"find_banner_id",
"find_banner_summa",
"find_what_show",
"find_group_sid",
"find_group_summa",
"find_type_sid"
);
$sTableID = "adv_banner_list";
$oSort = new CAdminSorting($sTableID);
$lAdmin = new CAdminList($sTableID, $oSort);
$lAdmin->InitFilter($FilterArr);
if ($set_filter <> '' || $man)
InitFilterEx($FilterArr,"AD_STAT_BANNER_GRAPH","set",true);
else
InitFilterEx($FilterArr,"AD_STAT_BANNER_GRAPH","get",true);
if ($del_filter <> '')
DelFilterEx($FilterArr,"AD_STAT_LIST",true);
//if((!is_set($find_banner_id) && !is_set($find_what_show)) || (!is_set($find_what_show) && is_set($find_banner_id)) || (is_set($find_what_show) && !is_set($find_banner_id)))
// $strError = GetMessage("ADV_F_NO_FIELDS");
if (!is_array($find_banner_id) || count($find_banner_id)==0)
{
$find_banner_id = array(0);
}
if (empty($find_banner_summa))
{
$find_banner_summa = 'Y';
}
if (empty($find_what_show))
{
$find_what_show = array("visitor", "show", "click", "ctr");
}
$arFilter = Array(
"DATE_1" => $find_date1,
"DATE_2" => $find_date2,
"BANNER_ID" => $find_banner_id,
"BANNER_SUMMA" => $find_banner_summa,
"WHAT_SHOW" => $find_what_show,
"GROUP_SID" => $find_group_sid,
"GROUP_SUMMA" => $find_group_summa,
);
if (count($find_banner_id) < 2)
{
$find_banner_summa = 'Y';
}
$arrDays = CAdvBanner::GetDynamicList($arFilter, $arrLegend, $is_filtered);
$arShow = $find_what_show;
$filter_selected = 0;
if (is_array($find_banner_id) && count($find_banner_id)>0) $filter_selected++;
if (is_array($find_group_sid) && count($find_group_sid)>0) $filter_selected++;
if ($filter_selected>0) $is_filtered = true;
$arrStat = CAdvBanner::GetStatList($by, $order, $arFilter);
$rsData = new CAdminResult($arrStat, $sTableID); //var_dump($arrStat);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage('ADV_DATE_TABLE_TITLE')));
$arHeaders = array();
$arHeaders[]=
array( "id" =>"DATE",
"content" =>GetMessage('ADV_DATE'),
"sort" =>"s_date",
"align" =>"right",
"default" =>true
);
if ($find_banner_summa=="N"){
$arHeaders[]=
array( "id" =>"BANNER_ID",
"content" =>GetMessage('ADV_BANNER_ID'),
"sort" =>"s_id",
"align" =>"right",
"default" =>false
);
$arHeaders[]=
array( "id" =>"BANNER_NAME",
"content" =>GetMessage('ADV_BANNER'),
"sort" =>false,
"align" =>"left",
"default" =>true
);
}
$arHeaders[]=
array( "id" =>"VISITORS",
"content" =>GetMessage('AD_VISITOR'),
"sort" =>"s_visitors",
"align" =>"right",
"default" =>true
);
$arHeaders[]=
array( "id" =>"CLICKS",
"content" =>GetMessage('AD_CLICK_GRAPH'),
"sort" =>"s_clicks",
"align" =>"right",
"default" =>true
);
$arHeaders[]=
array( "id" =>"CTR",
"content" =>GetMessage('AD_CTR'),
"sort" =>"s_ctr",
"align" =>"right",
"default" =>true
);
$arHeaders[]=
array( "id" =>"SHOWS",
"content" =>GetMessage('AD_SHOW'),
"sort" =>"s_show",
"align" =>"right",
"default" =>true
);
$lAdmin->AddHeaders($arHeaders);
$noContent = true;//var_dump($rsData);
while($arRes = $rsData->NavNext(true, "f_"))
{
$noContent = false;
$row =& $lAdmin->AddRow($f_DATE, $arRes);
$row->AddViewField("DATE", $f_DATE_STAT);
$row->AddViewField("VISITORS", $f_VISITOR_COUNT);
$row->AddViewField("CTR", $f_CTR==0?'0':$f_CTR);
$row->AddViewField("SHOWS", $f_SHOW_COUNT);
$row->AddViewField("CLICKS", $f_CLICK_COUNT);
if ($find_banner_summa=="N"){
$row->AddViewField("BANNER_ID", $f_BANNER_ID);
$row->AddViewField("BANNER_NAME", $f_BANNER_NAME);
}
}
$arFooter = array();
$arFooter[] = array(
"title"=>GetMessage("MAIN_ADMIN_LIST_SELECTED"),
"value"=>$rsData->SelectedRowsCount(),
);
$lAdmin->AddFooter($arFooter);
/***************************************************************************
HTML форма
****************************************************************************/
$lAdmin->BeginPrologContent();
echo CAdminMessage::ShowMessage($strError);
$width = COption::GetOptionString("advertising", "BANNER_GRAPH_WEIGHT");
$height = COption::GetOptionString("advertising", "BANNER_GRAPH_HEIGHT");
if (!function_exists("ImageCreate")) :
echo CAdminMessage::ShowMessage(GetMessage("AD_GD_NOT_INSTALLED")."
");
else :
echo BeginNote();
echo GetMessage("AD_SERVER_TIME")." ".GetTime(time(),"FULL")."
";
echo GetMessage("AD_DAYS_TO_KEEP")." ".COption::GetOptionString("advertising","BANNER_DAYS")."";
if ($isAdmin)
echo " [".GetMessage("AD_EDIT")."]";
echo EndNote()
?>
if($banner_ref):?>