From c7b75b6b47e31e1bf32f27d25585d6a3a21c125c Mon Sep 17 00:00:00 2001 From: Riccardo Di Dato Date: Mon, 18 Apr 2016 13:34:25 +0200 Subject: [PATCH 1/8] Inserito nuovo sistema di statistiche custom --- private/lib/PipelineHelper.php | 62 +++++++++++++++ private/lib/gui/MenuGenerator.php | 10 +-- public/admin/statCustom.php | 127 ++++++++++++++++++++++++++++++ 3 files changed, 194 insertions(+), 5 deletions(-) create mode 100644 public/admin/statCustom.php diff --git a/private/lib/PipelineHelper.php b/private/lib/PipelineHelper.php index 2e953b3..598d685 100644 --- a/private/lib/PipelineHelper.php +++ b/private/lib/PipelineHelper.php @@ -67,6 +67,68 @@ class PipelineHelper { return $rval; } + public static function getDailyVisualizationPipelineByStartAndEnd($startDate,$endDate){ + $rval = array( + array( + '$match'=>array( + 'statType'=>StatisticModel::STAT_TYPE_PAGE, + 'date'=>array( + '$gte'=>new MongoDate($startDate), + '$lte'=>new MongoDate($endDate) + ) + ) + ), + array( + '$group'=>array( + "_id"=>array( + 'date'=>array( + "day"=>array('$dayOfMonth'=>'$date'), + "month"=>array('$month'=>'$date'), + "year"=>array('$year'=>'$date') + ), + 'user'=>'$user.id', + ), + "visualizzazioni"=>array( + '$sum'=>1 + ), + "isNew"=>array( + '$sum'=>array( + '$cond'=>array( + array('$eq'=>array('$user.isNew',true)), + 1, + 0 + ) + ) + ) + ) + ), + array( + '$group'=>array( + "_id"=>array( + 'date'=>'$_id.date' + ), + "visualizzazioni"=>array( + '$sum'=>'$visualizzazioni' + ), + "unici"=>array( + '$sum'=>'$isNew' + ), + "visitatori"=>array( + '$sum'=>1 + ) + ) + ), + array( + '$sort'=>array( + "_id.date.year"=>1, + "_id.date.month"=>1, + "_id.date.day"=>1 + ) + ) + ); + return $rval; + } + public static function getMonthlyVisualizationPipeline($startDate){ $rval = array( array( diff --git a/private/lib/gui/MenuGenerator.php b/private/lib/gui/MenuGenerator.php index f6ae20f..fa6e426 100644 --- a/private/lib/gui/MenuGenerator.php +++ b/private/lib/gui/MenuGenerator.php @@ -34,11 +34,11 @@ class MenuGenerator { array("label"=>"Nuova Mail","page"=>"editMail.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN), array("label"=>"Coda Mail","page"=>"listMail.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN) )), - array("label"=>"Statistiche","page"=>"statSito.php","requires"=>AdminModel::ADMIN_TYPE_STATISTICHE_SUPERVISOR), -// array("label"=>"Statistiche", "subvoices"=>array( -// array("label"=>"Sito","page"=>"statSito.php","requires"=>AdminModel::ADMIN_TYPE_STATISTICHE_SUPERVISOR), -// array("label"=>"Banner","page"=>"statBanner.php","requires"=>AdminModel::ADMIN_TYPE_BANNER_SUPERVISOR) -// )), +// array("label"=>"Statistiche","page"=>"statSito.php","requires"=>AdminModel::ADMIN_TYPE_STATISTICHE_SUPERVISOR), + array("label"=>"Statistiche", "subvoices"=>array( + array("label"=>"Automatiche","page"=>"statSito.php","requires"=>AdminModel::ADMIN_TYPE_STATISTICHE_SUPERVISOR), + array("label"=>"Per data","page"=>"statCustom.php","requires"=>AdminModel::ADMIN_TYPE_STATISTICHE_SUPERVISOR) + )), array("label"=>"Superuser", "subvoices"=>array( array("label"=>"Nuovo Amministratore","page"=>"editAmministratori.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN), diff --git a/public/admin/statCustom.php b/public/admin/statCustom.php new file mode 100644 index 0000000..7048485 --- /dev/null +++ b/public/admin/statCustom.php @@ -0,0 +1,127 @@ +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")); + $end = strtotime(PostHandler::get("end")); +} +?> +
+
+ +
+
Inizio:">
+
+
Fine:">
+
+
+
+ Mostra +
+
+ aggregate("StatisticModel",PipelineHelper::getDailyVisualizationPipelineByStartAndEnd($start,$end)); + for ($i=0; $i + + +
+ \ No newline at end of file From 8d344c63d2251f55fef299ac2e8de075b486cfc5 Mon Sep 17 00:00:00 2001 From: Riccardo Di Dato Date: Mon, 18 Apr 2016 15:12:34 +0200 Subject: [PATCH 2/8] modificate date in statCustom --- public/admin/statCustom.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/public/admin/statCustom.php b/public/admin/statCustom.php index 7048485..78ae629 100644 --- a/public/admin/statCustom.php +++ b/public/admin/statCustom.php @@ -25,8 +25,8 @@ $end = time(); $action = PostHandler::get("action"); if (!is_null($action) && strcmp($action, "show")==0){ $showGraph = true; - $start = strtotime(PostHandler::get("start")); - $end = strtotime(PostHandler::get("end")); + $start = strtotime(PostHandler::get("start")." 00:01"); + $end = strtotime(PostHandler::get("end")." 23:59"); } ?>
@@ -44,6 +44,7 @@ if (!is_null($action) && strcmp($action, "show")==0){
aggregate("StatisticModel",PipelineHelper::getDailyVisualizationPipelineByStartAndEnd($start,$end)); for ($i=0; $i Date: Mon, 18 Apr 2016 15:32:57 +0200 Subject: [PATCH 3/8] Fix statistiche Highcharts --- public/admin/statCustom.php | 3 ++- public/admin/statSito.php | 2 +- public/js/init.js | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/public/admin/statCustom.php b/public/admin/statCustom.php index 78ae629..a5a2cc1 100644 --- a/public/admin/statCustom.php +++ b/public/admin/statCustom.php @@ -48,8 +48,9 @@ if (!is_null($action) && strcmp($action, "show")==0){ $result = GlobalVariables::get("dao")->aggregate("StatisticModel",PipelineHelper::getDailyVisualizationPipelineByStartAndEnd($start,$end)); for ($i=0; $i