Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2008-09-05 03:24:26 +0400
committermatt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2008-09-05 03:24:26 +0400
commit2df5feb0cd4a17f3243dc710aa76320be5f852c5 (patch)
treee3dbb8c697624c393bfbcc19afcbc23283cb8261 /plugins/VisitsSummary
parent911dfd6ec31de47eb05e8a87b535d9bda260265c (diff)
Refactoring Widget and Menu code (in core and all plugins)
Commit patch by Maciej adding support for multiple lines plotting Cleaning Date object + small other code improvements
Diffstat (limited to 'plugins/VisitsSummary')
-rw-r--r--plugins/VisitsSummary/API.php28
-rw-r--r--plugins/VisitsSummary/VisitsSummary.php112
2 files changed, 47 insertions, 93 deletions
diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php
index 4bc0e7fd31..728dcdfcbf 100644
--- a/plugins/VisitsSummary/API.php
+++ b/plugins/VisitsSummary/API.php
@@ -9,9 +9,7 @@
* @package Piwik_VisitsSummary
*/
-
/**
- *
* @package Piwik_VisitsSummary
*/
class Piwik_VisitsSummary_API extends Piwik_Apiable
@@ -33,16 +31,16 @@ class Piwik_VisitsSummary_API extends Piwik_Apiable
$archive = Piwik_Archive::build($idSite, $period, $date );
$toFetch = array( 'max_actions',
- 'nb_uniq_visitors',
- 'nb_visits',
- 'nb_actions',
- 'sum_visit_length',
- 'bounce_count',
- );
+ 'nb_uniq_visitors',
+ 'nb_visits',
+ 'nb_actions',
+ 'sum_visit_length',
+ 'bounce_count',
+ );
$dataTable = $archive->getDataTableFromNumeric($toFetch);
-
return $dataTable;
}
+
protected function getNumeric( $idSite, $period, $date, $toFetch )
{
Piwik::checkUserHasViewAccess( $idSite );
@@ -55,26 +53,34 @@ class Piwik_VisitsSummary_API extends Piwik_Apiable
{
return $this->getNumeric( $idSite, $period, $date, 'nb_visits');
}
+
public function getUniqueVisitors( $idSite, $period, $date )
{
return $this->getNumeric( $idSite, $period, $date, 'nb_uniq_visitors');
}
+
public function getActions( $idSite, $period, $date )
{
return $this->getNumeric( $idSite, $period, $date, 'nb_actions');
}
+
public function getMaxActions( $idSite, $period, $date )
{
return $this->getNumeric( $idSite, $period, $date, 'max_actions');
}
+
public function getSumVisitsLength( $idSite, $period, $date )
{
return $this->getNumeric( $idSite, $period, $date, 'sum_visit_length');
}
+
+ public function getSumVisitsLengthPretty( $idSite, $period, $date )
+ {
+ return Piwik_getPrettyTimeFromSeconds($this->getSumVisitsLength( $idSite, $period, $date ));
+ }
+
public function getBounceCount( $idSite, $period, $date )
{
return $this->getNumeric( $idSite, $period, $date, 'bounce_count');
}
-
}
-
diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php
index 1ef8ff7a76..52503cb41c 100644
--- a/plugins/VisitsSummary/VisitsSummary.php
+++ b/plugins/VisitsSummary/VisitsSummary.php
@@ -10,7 +10,6 @@
*/
/**
- *
* @package Piwik_VisitsSummary
*/
class Piwik_VisitsSummary extends Piwik_Plugin
@@ -24,107 +23,56 @@ class Piwik_VisitsSummary extends Piwik_Plugin
'homepage' => 'http://piwik.org/',
'version' => '0.1',
);
-
return $info;
}
- function postLoad()
+ function getListHooksRegistered()
+ {
+ return array(
+ 'WidgetsList.add' => 'addWidgets',
+ 'Menu.add' => 'addMenu',
+ );
+ }
+
+ function addWidgets()
{
Piwik_AddWidget( 'VisitsSummary', 'getLastVisitsGraph', Piwik_Translate('VisitsSummary_WidgetLastVisits'));
Piwik_AddWidget( 'VisitsSummary', 'getSparklines', Piwik_Translate('VisitsSummary_WidgetVisits'));
Piwik_AddWidget( 'VisitsSummary', 'getLastUniqueVisitorsGraph', Piwik_Translate('VisitsSummary_WidgetLastVisitors'));
Piwik_AddWidget( 'VisitsSummary', 'index', Piwik_Translate('VisitsSummary_WidgetOverviewGraph'));
-
- Piwik_AddMenu('General_Visitors', 'VisitsSummary_SubmenuOverview', array('module' => 'VisitsSummary'), true);
- }
-}
-
-require_once "ViewDataTable.php";
-class Piwik_VisitsSummary_Controller extends Piwik_Controller
-{
- function index()
- {
- $view = new Piwik_View('VisitsSummary/index.tpl');
- $currentPeriod = Piwik_Common::getRequestVar('period');
- $view->period = $currentPeriod;
-
- $view->graphEvolutionVisitsSummary = $this->getLastVisitsGraph( true );
-
- $this->setSparklinesAndNumbers($view);
- echo $view->render();
}
- protected function setSparklinesAndNumbers($view)
+ function addMenu()
{
- $view->urlSparklineNbVisits = $this->getUrlSparkline( 'getLastVisitsGraph');
- $view->urlSparklineNbUniqVisitors = $this->getUrlSparkline( 'getLastUniqueVisitorsGraph');
- $view->urlSparklineNbActions = $this->getUrlSparkline( 'getLastActionsGraph');
- $view->urlSparklineSumVisitLength = $this->getUrlSparkline( 'getLastSumVisitsLengthGraph');
- $view->urlSparklineMaxActions = $this->getUrlSparkline( 'getLastMaxActionsGraph');
- $view->urlSparklineBounceCount = $this->getUrlSparkline( 'getLastBounceCountGraph');
-
- $dataTableVisit = self::getVisitsSummary();
- $view->nbUniqVisitors = $dataTableVisit->getColumn('nb_uniq_visitors');
- $view->nbVisits = $dataTableVisit->getColumn('nb_visits');
- $view->nbActions = $dataTableVisit->getColumn('nb_actions');
- $view->sumVisitLength = $dataTableVisit->getColumn('sum_visit_length');
- $view->bounceCount = $dataTableVisit->getColumn('bounce_count');
- $view->maxActions = $dataTableVisit->getColumn('max_actions');
-
- }
-
- function getSparklines()
- {
- $view = new Piwik_View('VisitsSummary/sparklines.tpl');
- $this->setSparklinesAndNumbers($view);
- echo $view->render();
+ Piwik_AddMenu('General_Visitors', 'VisitsSummary_SubmenuOverview', array('module' => 'VisitsSummary'), true);
}
+}
- static public function getVisitsSummary()
- {
- $requestString = 'method=' . "VisitsSummary.get" . '&format=original'.
- // we disable filters for example "search for pattern", in the case this method is called
- // by a method that already calls the API with some generic filters applied
- '&disable_generic_filters=true';
- $request = new Piwik_API_Request($requestString);
- return $request->process();
- }
- function getLastVisitsGraph( $fetch = false )
- {
- $view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getVisits");
- return $this->renderView($view, $fetch);
- }
+function Piwik_getPrettyTimeFromSeconds($numberOfSeconds)
+{
+ $numberOfSeconds = (double)$numberOfSeconds;
+ $days = floor($numberOfSeconds / 86400);
- function getLastUniqueVisitorsGraph( $fetch = false )
- {
- $view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getUniqueVisitors");
- return $this->renderView($view, $fetch);
- }
+ $minusDays = $numberOfSeconds - $days * 86400;
+ $hours = floor($minusDays / 3600);
- function getLastActionsGraph( $fetch = false )
- {
- $view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getActions");
- return $this->renderView($view, $fetch);
- }
+ $minusDaysAndHours = $minusDays - $hours * 3600;
+ $minutes = floor($minusDaysAndHours / 60 );
- function getLastSumVisitsLengthGraph( $fetch = false )
+ $minusDaysAndHoursAndMinutes = $minusDaysAndHours - $minutes * 60;
+ $secondsMod = $minusDaysAndHoursAndMinutes; // should be same as $numberOfSeconds % 60
+
+ if($days > 0)
{
- $view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getSumVisitsLength");
- return $this->renderView($view, $fetch);
+ return sprintf("%d days %d hours", $days, $hours);
}
-
- function getLastMaxActionsGraph( $fetch = false )
+ elseif($hours > 0)
{
- $view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getMaxActions");
- return $this->renderView($view, $fetch);
+ return sprintf("%d hours %d min", $hours, $minutes);
}
-
- function getLastBounceCountGraph( $fetch = false )
+ else
{
- $view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getBounceCount");
- return $this->renderView($view, $fetch);
+ return sprintf("%d min %d s", $minutes, $numberOfSeconds);
}
-
-}
-
+} \ No newline at end of file