Files
fdn2/public/admin/statCustom.php
T
2016-04-18 15:35:10 +02:00

128 lines
3.5 KiB
PHP

<?php
/*
Author: Riccardo Di Dato
Creation Date: 18/apr/2016
*/
require_once(dirname(__FILE__)."/../load.php");
GUIHandler::generateHtmlHeaders(array(),true);
if (!AdminLoginManager::isLogged()){
GUIHandler::redirect("admin/login.php");
}
else if (!AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_STATISTICHE_SUPERVISOR)){
GUIHandler::redirect("admin/index.php");
}
MenuGenerator::generateMenu();
HTMLHelper::generateAdminHead();
$showGraph = false;
$start = strtotime("-1 month");
$end = time();
$action = PostHandler::get("action");
if (!is_null($action) && strcmp($action, "show")==0){
$showGraph = true;
$start = strtotime(PostHandler::get("start")." 00:01");
$end = strtotime(PostHandler::get("end")." 23:59");
}
?>
<div>
<form id="customStatForm" method="POST" action="">
<input type="hidden" name="action" value="" />
<div style="display:inline; width:50%;">
<div style="display:inline-block;"><span class="label">Inizio:</span><input type="text" class="datepicker" name="start" value="<?php echo date("d-m-Y",$start);?>"></div>
</div><div style="display:inline; width:50%;">
<div style="display:inline-block;"><span class="label">Fine:</span><input type="text" class="datepicker" name="end" value="<?php echo date("d-m-Y",$end);?>"></div>
</div>
</form>
<div class="formBtns" style="text-align:center;">
<a href="#" id="customStatForm_show" >Mostra</a>
</div>
<div id="statContainer"></div>
<?php
if ($showGraph){
$result = GlobalVariables::get("dao")->aggregate("StatisticModel",PipelineHelper::getDailyVisualizationPipelineByStartAndEnd($start,$end));
for ($i=0; $i<sizeof($result); $i++){
$ele = $result[$i];
$result[$i]["mktime"] = mktime(0,1,0,$ele["_id"]["date"]["month"],$ele["_id"]["date"]["day"],$ele["_id"]["date"]["year"]) *1000;
}
?>
<script type="text/javascript">
$(function () {
$('#statContainer').highcharts({
title: {
text: 'Statistiche'
},
tooltip:{
xDateFormat:"%d/%m/%Y",
crosshairs:[true],
shared: true
},
xAxis:{
type:'datetime',
tickInterval: 24*3600*1000,
labels:{
formatter: function() {
return Highcharts.dateFormat("%d/%m/%Y", this.value, false);
}
}
},
yAxis:{
title:{
text:"Visite"
}
},
series: [{
name: 'Visualizzazioni',
data: [<?php
$i = 0;
foreach ($result as $ele){
echo ($i++==0?"":", ")."[".($ele["mktime"]).",".$ele["visualizzazioni"]."]";
}
?>]
}, {
name: 'Visitatori',
data: [<?php
$i = 0;
foreach ($result as $ele){
echo ($i++==0?"":", ")."[".($ele["mktime"]).",".$ele["visitatori"]."]";
}
?>]
}, {
name: 'Unici',
data: [<?php
$i = 0;
foreach ($result as $ele){
echo ($i++==0?"":", ")."[".($ele["mktime"]).",".$ele["unici"]."]";
}
?>]
}]
});
});
</script>
<?php
}
?>
</div>
<script type="text/javascript">
$(document).ready(function(event){
$("#customStatForm_show").click(function(event){
$("form#customStatForm input[type=hidden][name=action]").val("show");
$("form#customStatForm").submit();
});
$(".datepicker").datepicker({dateFormat:"dd-mm-yy"});
});
</script>