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:
authorrobocoder <anthon.pang@gmail.com>2009-12-03 05:50:14 +0300
committerrobocoder <anthon.pang@gmail.com>2009-12-03 05:50:14 +0300
commit1d7c03d06eb288bd1461493250c2831dd0b48fc7 (patch)
tree6a42af5d4b2cee76e28f24194f59fde2d490335c /plugins/Live/Controller.php
parentbfcdf825fcfefb4dd411db76fadbc488a2f6618f (diff)
refs #44 - check in updated Live plugin by jr-ewing
git-svn-id: http://dev.piwik.org/svn/trunk@1621 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'plugins/Live/Controller.php')
-rw-r--r--plugins/Live/Controller.php138
1 files changed, 118 insertions, 20 deletions
diff --git a/plugins/Live/Controller.php b/plugins/Live/Controller.php
index 5c60d5a6e3..a58cf3f7a3 100644
--- a/plugins/Live/Controller.php
+++ b/plugins/Live/Controller.php
@@ -16,42 +16,140 @@
*/
class Piwik_Live_Controller extends Piwik_Controller
{
- function widget()
+
+ function __construct()
{
- $view = Piwik_View::factory('index');
+ parent::__construct();
+ $this->idSite = Piwik_Common::getRequestVar('idSite');
+ $this->minIdVisit = Piwik_Common::getRequestVar('minIdVisit', 0, 'int');
+ }
+
+ function index()
+ {
+ $view = Piwik_View::factory('index');
$this->setGeneralVariablesView($view);
- $view->visitors = $this->getLastVisits($fetch = true);
+ $view->visitors = $this->getLastVisitsStart(true);
+
echo $view->render();
+ }
+
+ public function widget($fetch = false)
+ {
+ $view = Piwik_View::factory('index');
+ $this->setGeneralVariablesView($view);
+ $view->visitorsCountHalfHour = $this->getUsersInLastXMin(30);
+ $view->visitorsCountToday = $this->getUsersInLastXDays(1);
+ $view->pisHalfhour = $this->getPageImpressionsInLastXMin(30);
+ $view->pisToday = $this->getPageImpressionsInLastXDays(1);
+ $view->visitors = $this->getLastVisitsStart($fetch = true);
+
+ echo $view->render();
}
- function getLastVisits($fetch = false)
+ public function getLastVisitsDetails($fetch = false)
{
- $idSite = Piwik_Common::getRequestVar('idSite', null, 'int');
- $minIdVisit = Piwik_Common::getRequestVar('minIdVisit', 0, 'int');
- $limit = 10;
- $api = new Piwik_API_Request("method=Live.getLastVisits&idSite=$idSite&limit=$limit&minIdVisit=$minIdVisit&format=php&serialize=0&disable_generic_filters=1");
+ $view = Piwik_ViewDataTable::factory('');
+ $view->init( $this->pluginName,
+ __FUNCTION__,
+ 'Live.getLastVisitsDetails',
+ 'getPagesFromVisitId');
+
+// All colomns in DB which could be shown
+//'ip', 'idVisit', 'countActions', 'isVisitorReturning', 'country', 'countryFlag', 'continent', 'provider', 'providerUrl', 'idSite',
+//'serverDate', 'visitLength', 'visitLengthPretty', 'firstActionTimestamp', 'lastActionTimestamp', 'refererType', 'refererName',
+//'keywords', 'refererUrl', 'searchEngineUrl', 'searchEngineIcon', 'operatingSystem', 'operatingSystemShortName', 'operatingSystemIcon',
+//'browserFamily', 'browserFamilyDescription', 'browser', 'browserIcon', 'screen', 'resolution', 'screenIcon', 'plugins', 'lastActionDateTime',
+//'serverDatePretty', 'serverTimePretty', 'actionDetails'
+
+ $view->setColumnsToDisplay( array('label', 'idVisit', 'serverDatePretty', 'serverTimePretty', 'ip', 'countActions', 'visitLengthPretty', 'keywords', 'refererUrl',
+ 'operatingSystemShortName', 'browser', 'screen', 'resolution', 'plugins'
+ ) );
+ $view->disableSort();
+ $view->setLimit(10);
+ $view->disableExcludeLowPopulation();
+ $view->setSortedColumn('idVisit', 'ASC');
+
+ return $this->renderView($view, $fetch);
+ }
+
+
+ function getPagesFromVisitId( $fetch = false)
+ {
+ $view = Piwik_ViewDataTable::factory('');
+ $view->init( $this->pluginName,
+ __FUNCTION__,
+ 'Live.getLastVisitsForVisitor',
+ 'getPagesFromVisitId');
+
+ #$view->disableSearchBox();
+ #$view->disableExcludeLowPopulation();
+ #$view->setColumnsToDisplay( array('label','nb_visits') );
+ #$view->setColumnTranslation('label', Piwik_Translate('Referers_ColumnKeyword'));
+
+ return $this->renderView($view, $fetch);
+ }
+
+ public function getLastVisitsStart($fetch = false)
+ {
$view = Piwik_View::factory('lastVisits');
- $visitors = $api->process();
- if($minIdVisit == 0)
- {
- $visitors = array_slice($visitors, 3);
- }
- $view->visitors = $visitors;
+ $view->visitors = $this->getLastVisits(10);
+
$rendered = $view->render($fetch);
if($fetch)
{
return $rendered;
}
- echo $rendered;
+ echo $rendered;
+ }
+
+ public function getLastVisits($limit = 10)
+ {
+ $api = new Piwik_API_Request("method=Live.getLastVisits&idSite=$this->idSite&limit=$limit&minIdVisit=$this->minIdVisit&format=php&serialize=0&disable_generic_filters=1");
+ $visitors = $api->process();
+
+ return $visitors;
}
- function index()
+ public function getUsersInLastXMin($minutes = 30) {
+ $api = new Piwik_API_Request("method=Live.getUsersInLastXMin&idSite=".$this->idSite."&limit=10000&minIdVisit=".$this->minIdVisit."&minutes=".$minutes."&format=php&serialize=0&disable_generic_filters=1");
+ $visitors_halfhour = $api->process();
+
+ return count($visitors_halfhour);
+ }
+
+ public function getUsersInLastXDays($days = 1) {
+ $api = new Piwik_API_Request("method=Live.getUsersInLastXDays&idSite=$this->idSite&limit=50000&minIdVisit=$this->minIdVisit&days=$days&format=php&serialize=0&disable_generic_filters=1");
+ $visitors_today = $api->process();
+
+ return count($visitors_today);
+ }
+
+ public function getPageImpressionsInLastXMin($minutes = 30) {
+ $api = new Piwik_API_Request("method=Live.getPageImpressionsInLastXMin&idSite=$this->idSite&limit=10000&minIdVisit=$this->minIdVisit&minutes=$minutes&format=php&serialize=0&disable_generic_filters=1");
+ $pis_halfhour = $api->process();
+
+ return count($pis_halfhour);
+ }
+
+ public function getPageImpressionsInLastXDays($days = 1) {
+ $api = new Piwik_API_Request("method=Live.getPageImpressionsInLastXDays&idSite=$this->idSite&limit=50000&minIdVisit=$this->minIdVisit&days=$days&format=php&serialize=0&disable_generic_filters=1");
+ $pis_today = $api->process();
+
+ return count($pis_today);
+ }
+
+ public function ajaxTotalVisitors($fetch = false)
{
- $view = Piwik_View::factory('structure');
+ $view = Piwik_View::factory('totalVisits');
$this->setGeneralVariablesView($view);
- $view->visitors = $this->getLastVisits($fetch = true);
- echo $view->render();
- }
+ $view->visitorsCountHalfHour = $this->getUsersInLastXMin(30);
+ $view->visitorsCountToday = $this->getUsersInLastXDays(1);
+ $view->pisHalfhour = $this->getPageImpressionsInLastXMin(30);
+ $view->pisToday = $this->getPageImpressionsInLastXDays(1);
+
+ echo $view->render();
+ }
+
}