Your IP : 3.15.223.162
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/statistic/prolog.php");
/** @var CMain $APPLICATION */
$STAT_RIGHT = $APPLICATION->GetGroupRight("statistic");
if($STAT_RIGHT=="D")
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
IncludeModuleLangFile(__FILE__);
include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/statistic/colors.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/img.php");
$sTableID = "tbl_event_diagram_list";
$sFilterID = $sTableID."_filter";
$lAdmin = new CAdminList($sTableID);
$arrDef = array();
$rs = CStatEventType::GetList(($v1="s_total_counter"), ($v2="desc"), $arF, $v3);
while ($ar = $rs->Fetch())
{
if ($ar["DIAGRAM_DEFAULT"]=="Y") $arrDef[] = $ar["ID"];
$arrEVENTS[$ar["ID"]] = $ar["EVENT"]." [".$ar["ID"]."]";
}
if($lAdmin->IsDefaultFilter())
{
$find_events=array();
if (is_array($arrEVENTS))
{
$i=0;
reset($arrEVENTS);
while (list($key,$value)=each($arrEVENTS))
{
if ($i<=9 && in_array($key, $arrDef))
{
$find_events[] = $key;
$i++;
}
}
}
$find_date1_DAYS_TO_BACK=90;
$set_filter="Y";
}
$FilterArr = array(
"find_events",
"find_date1",
"find_date2"
);
$lAdmin->InitFilter($FilterArr);
if(!is_array($find_events))
$find_events=array();
else
foreach($find_events as $key=>$value)
$find_events[$key]=intval($value);
$find_events_names = array();
foreach($find_events as $value)
$find_events_names[]=$arrEVENTS[$value];
AdminListCheckDate($lAdmin, array("find_date1"=>$find_date1, "find_date2"=>$find_date2));
$str = (is_array($find_events)) ? implode(" | ",$find_events) : "";
$arFilter = Array(
"ID" => $str,
"DATE1_PERIOD" => $find_date1,
"DATE2_PERIOD" => $find_date2
);
if(strlen($arFilter["DATE1_PERIOD"])>0 || strlen($arFilter["DATE2_PERIOD"])>0)
$period = "Y";
$lAdmin->BeginCustomContent();
if (is_array($find_events) && count($find_events)>0):
$arr = array();
$by = ($period=="Y") ? "s_period_counter" : "s_total_counter";
$w = CStatEventType::GetList($by, ($order="desc"), $arFilter, $is_filtered);
$total=0;
while ($wr=$w->Fetch())
{
++$total;
$count = ($period=="Y") ? $wr["PERIOD_COUNTER"] : $wr["TOTAL_COUNTER"];
$sum += $count;
if ($count>0)
$arr[] = array("ID"=>$wr["ID"], "NAME"=>$wr["NAME"], "EVENT1" => $wr["EVENT1"], "EVENT2" => $wr["EVENT2"], "COUNTER"=>$count);
}
?>
<div class="graph">
<table cellspacing="0" cellpadding="0" class="graph" border="0" align="center"><tr>
<td valign="top" class="graph"><?
$diameter = COption::GetOptionString("statistic", "DIAGRAM_DIAMETER");
$s = "";
foreach ($find_events as $sid) $s .= "&find_events[]=".$sid;
?><img class="graph" src="<?echo htmlspecialcharsbx("event_diagram.php?rand=".urlencode(rand())."&lang=".urlencode(LANGUAGE_ID).$s."&find_date1=".urlencode($arFilter["DATE1_PERIOD"])."&find_date2=".urlencode($arFilter["DATE2_PERIOD"]))?>" width="<?=$diameter?>" height="<?=$diameter?>">
</td>
<td valign="center">
<table cellpadding="2" cellspacing="0" border="0" class="legend">
<?
$i = 0;
foreach($arr as $key=>$sector):
$i++;
$id = $sector["ID"];
$name = "(".$sector["EVENT1"]." / ".$sector["EVENT2"].") ".$sector["NAME"];
$color = GetNextRGB($color, $total);
$counter = $sector["COUNTER"];
$procent = round(($counter*100)/$sum,2);
?>
<tr>
<td align="right" class="number"><?=$i."."?></td>
<td valign="center" class="color">
<div style="background-color: <?="#".$color?>"></div>
</td>
<td align="right" class="number"><?echo sprintf("%01.2f", $procent)."%"?></td>
<td align="right" class="number">(<a title="<?echo GetMessage("STAT_VIEW_EVENT_LIST")?>" class="stat_link" href="<?echo htmlspecialcharsbx("event_list.php?lang=".urlencode(LANGUAGE_ID)."&find_event_id=".urlencode($id)."&find_date1=".urlencode($arFilter["DATE1_PERIOD"])."&find_date2=".urlencode($arFilter["DATE2_PERIOD"])."&set_filter=Y")?>"><?=$counter?></a>)</td>
<td>[<a class="stat_link" href="event_type_list.php?lang=<?=LANG?>&find_id=<?=$id?>&set_filter=Y"><?=$id?></a>] <a title="<?echo GetMessage("STAT_VIEW_GRAPH")?>" class="stat_link" href="event_graph_list.php?lang=<?=LANG?>&find_events[]=<?=$id?>&set_filter=Y"><?echo htmlspecialcharsbx($name)?></a></font></td>
</tr>
<?endforeach;?>
</table>
</td>
</tr>
</table>
</div>
<?endif;
$lAdmin->EndCustomContent();
$lAdmin->CheckListMode();
$APPLICATION->SetTitle(GetMessage("STAT_RECORDS_LIST"));
require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$oFilter = new CAdminFilter($sFilterID,array(
GetMessage("STAT_F_EVENTS"),
));
?>
<script type="text/javascript">
function applyFilter()
{
jsSelectUtils.selectAllOptions('find_events[]');
<?=$sFilterID?>.OnSet('<?=CUtil::JSEscape($sTableID)?>', '<?=CUtil::JSEscape($APPLICATION->GetCurPage()."?lang=".LANG."&")?>');
return false;
}
function deleteFilter()
{
jsSelectUtils.selectAllOptions('find_events[]');
jsSelectUtils.deleteSelectedOptions('find_events[]');
<?=$sFilterID?>.OnClear('<?=CUtil::JSEscape($sTableID)?>', '<?=CUtil::JSEscape($APPLICATION->GetCurPage()."?lang=".LANG."&")?>');
return false;
}
</script>
<form name="find_form" method="GET" action="<?=$APPLICATION->GetCurPage()?>?">
<?
$oFilter->Begin();
?>
<tr>
<td><?echo GetMessage("STAT_F_PERIOD")." (".FORMAT_DATE."):"?></td>
<td><?echo CalendarPeriod("find_date1", $find_date1, "find_date2", $find_date2, "find_form", "Y")?></td>
</tr>
<tr valign="top">
<td><?echo GetMessage("STAT_F_EVENTS")?><br><img src="/bitrix/images/statistic/mouse.gif" width="44" height="21" border=0 alt=""></td>
<td><?
echo SelectBoxMFromArray("find_events[]",array("REFERENCE"=>$find_events_names, "REFERENCE_ID"=>$find_events), false, "", false, "11", 'id="find_events[]"');
?>
<script language="Javascript">
function selectEventType(form, field)
{
jsUtils.OpenWindow('event_multiselect.php?target_control=select&lang=<?=LANG?>&form='+form+'&field='+field, 600, 600);
}
jsSelectUtils.sortSelect('find_events[]');
jsSelectUtils.selectAllOptions('find_events[]');
</script>
<br>
<input type="button" OnClick="selectEventType('find_form','find_events[]')" value="<?=GetMessage("STAT_ADD")?>...">
<input type="button" OnClick="jsSelectUtils.deleteSelectedOptions('find_events[]');" value="<?=GetMessage("STAT_DELETE")?>">
</td>
</tr>
<?$oFilter->Buttons()?>
<span class="adm-btn-wrap"><input type="submit" class="adm-btn" name="set_filter" value="<?=GetMessage("STAT_F_FIND")?>" title="<?=GetMessage("STAT_F_FIND_TITLE")?>" onClick="return applyFilter();"></span>
<span class="adm-btn-wrap"><input type="submit" class="adm-btn" name="del_filter" value="<?=GetMessage("STAT_F_CLEAR")?>" title="<?=GetMessage("STAT_F_CLEAR_TITLE")?>" onClick="return deleteFilter();"></span>
<?
$oFilter->End();
?>
</form>
<?
if($message)
echo $message->Show();
$lAdmin->DisplayList();
?>
<?require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");