/*
##############################################
# 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 = '';
$rsContracts = CAdvContract::GetList("s_sort", "desc");
$contract_ref_id = array();
$contract_ref = array();
$j=0;
while ($arContract = $rsContracts->Fetch())
{
$contract_ref_id[] = $arContract["ID"];
$contract_ref[] = "[".$arContract["ID"]."] ".$arContract["NAME"];
}
if(empty($contract_ref))
$strError = GetMessage("ADV_NO_CONTRACTS_FOR_GRAPHIC");
$FilterArr = Array(
"find_date1",
"find_date2",
"find_contract_id",
"find_contract_summa",
"find_what_show"
);
$sTableID = "adv_contract_list";
$oSort = new CAdminSorting($sTableID);
$lAdmin = new CAdminList($sTableID, $oSort);
$lAdmin->InitFilter($FilterArr);
$man = false;
if (!isset($_SESSION["SESS_ADMIN"]["AD_STAT_CONTRACT_GRAPH"]) || empty($_SESSION["SESS_ADMIN"]["AD_STAT_CONTRACT_GRAPH"]))
//if(strlen($find_date1)<=0 && strlen($find_date2)<=0 && !is_array($find_contract_id) && strlen($find_contract_summa)<=0 && !is_array($find_what_show))
{
$find_contract_id = $contract_ref_id;
$find_contract_summa = "Y";
$find_what_show = Array("ctr");
$man = true;
}
if ($set_filter <> '' || $man)
InitFilterEx($FilterArr,"AD_STAT_CONTRACT_GRAPH","set",true);
else
InitFilterEx($FilterArr,"AD_STAT_CONTRACT_GRAPH","get",true);
if ($del_filter <> '') DelFilterEx($FilterArr,"AD_STAT_LIST",true);
//if((!is_set($find_contract_id) && !is_set($find_what_show)) || (!is_set($find_what_show) && is_set($find_contract_id)) || (is_set($find_what_show) && !is_set($find_contract_id)))
// $strError = GetMessage("ADV_F_NO_FIELDS");
if (!is_array($find_contract_id) || count($find_contract_id)==0)
{
$find_contract_id = array(0);
}
if (empty($find_contract_summa))
{
$find_contract_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,
"CONTRACT_ID" =>(is_array($find_contract_id) && count($find_contract_id)>0)?$find_contract_id:array(),
"CONTRACT_SUMMA" => $find_contract_summa,
"WHAT_SHOW" => $find_what_show
);
if (count($find_contract_id) < 2)
{
$find_contract_summa = 'Y';
}
$arrDays = CAdvBanner::GetDynamicList($arFilter, $arrLegend, $is_filtered);
$arShow = $find_what_show;
$filter_selected = 0;
if (is_array($find_contract_id) && count($find_contract_id)>0) $filter_selected++;
if ($filter_selected>0) $is_filtered = true;
$arrStat = CAdvContract::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_contract_summa=="N"){
$arHeaders[]=
array( "id" =>"CONTRACT_ID",
"content" =>GetMessage('ADV_CONTRACT_ID'),
"sort" =>"s_id",
"align" =>"right",
"default" =>false
);
$arHeaders[]=
array( "id" =>"CONTRACT_NAME",
"content" =>GetMessage('ADV_CONTRACT'),
"sort" =>false,
"align" =>"left",
"default" =>true
);
}
$arHeaders[]=
array( "id" =>"VISITORS",
"content" =>GetMessage('AD_VISITOR'),
"sort" =>"s_visitors",
"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);
while($arRes = $rsData->NavNext(true, "f_"))
{
$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);
if ($find_contract_summa=="N"){
$row->AddViewField("CONTRACT_ID", $f_CONTRACT_ID);
$row->AddViewField("CONTRACT_NAME", $f_CONTRACT_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();?>