update Piwik to version 2.16 (fixes #91)
This commit is contained in:
parent
296343bf3b
commit
d885a4baa9
5833 changed files with 418860 additions and 226988 deletions
112
www/analytics/plugins/Actions/Reports/Base.php
Normal file
112
www/analytics/plugins/Actions/Reports/Base.php
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Metrics\Formatter;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Actions;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
use Piwik\API\Request;
|
||||
|
||||
abstract class Base extends \Piwik\Plugin\Report
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
$this->category = 'General_Actions';
|
||||
$this->processedMetrics = false;
|
||||
$this->recursiveLabelSeparator = '/';
|
||||
}
|
||||
|
||||
protected function addBaseDisplayProperties(ViewDataTable $view)
|
||||
{
|
||||
$view->config->datatable_js_type = 'ActionsDataTable';
|
||||
$view->config->search_recursive = true;
|
||||
$view->config->show_table_all_columns = false;
|
||||
$view->requestConfig->filter_limit = Actions::ACTIONS_REPORT_ROWS_DISPLAY;
|
||||
$view->config->show_all_views_icons = false;
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->show_embedded_subtable = true;
|
||||
}
|
||||
|
||||
if (Request::shouldLoadExpanded()) {
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->show_expanded = true;
|
||||
}
|
||||
|
||||
$view->config->filters[] = function ($dataTable) {
|
||||
Actions::setDataTableRowLevels($dataTable);
|
||||
};
|
||||
}
|
||||
|
||||
$view->config->filters[] = function ($dataTable) use ($view) {
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->datatable_css_class = 'dataTableActions';
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
protected function addPageDisplayProperties(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslations(array(
|
||||
'nb_hits' => Piwik::translate('General_ColumnPageviews'),
|
||||
'nb_visits' => Piwik::translate('General_ColumnUniquePageviews')
|
||||
));
|
||||
|
||||
$formatter = new Formatter();
|
||||
|
||||
// add avg_generation_time tooltip
|
||||
$tooltipCallback = function ($hits, $min, $max) use ($formatter) {
|
||||
if (!$hits) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Piwik::translate("Actions_AvgGenerationTimeTooltip", array(
|
||||
$hits,
|
||||
"<br />",
|
||||
$formatter->getPrettyTimeFromSeconds($min, true),
|
||||
$formatter->getPrettyTimeFromSeconds($max, true)
|
||||
));
|
||||
};
|
||||
$view->config->filters[] = array('ColumnCallbackAddMetadata',
|
||||
array(
|
||||
array('nb_hits_with_time_generation', 'min_time_generation', 'max_time_generation'),
|
||||
'avg_time_generation_tooltip',
|
||||
$tooltipCallback
|
||||
)
|
||||
);
|
||||
|
||||
$this->addExcludeLowPopDisplayProperties($view);
|
||||
}
|
||||
|
||||
protected function addExcludeLowPopDisplayProperties(ViewDataTable $view)
|
||||
{
|
||||
if (Common::getRequestVar('enable_filter_excludelowpop', '0', 'string') != '0') {
|
||||
if (Common::getRequestVar('flat', 0, 'int') === 1) {
|
||||
$view->requestConfig->filter_excludelowpop = 'nb_hits';
|
||||
} else {
|
||||
$view->requestConfig->filter_excludelowpop = Metrics::INDEX_PAGE_NB_HITS;
|
||||
}
|
||||
$view->requestConfig->filter_excludelowpop_value = function () {
|
||||
// computing minimum value to exclude (2 percent of the total number of actions)
|
||||
$visitsInfo = \Piwik\Plugins\VisitsSummary\Controller::getVisitsSummary()->getFirstRow();
|
||||
$nbActions = $visitsInfo->getColumn('nb_actions');
|
||||
$nbActionsLowPopulationThreshold = floor(0.02 * $nbActions);
|
||||
|
||||
// we remove 1 to make sure some actions/downloads are displayed in the case we have a very few of them
|
||||
// and each of them has 1 or 2 hits...
|
||||
return min($visitsInfo->getColumn('max_actions') - 1, $nbActionsLowPopulationThreshold - 1);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
37
www/analytics/plugins/Actions/Reports/Get.php
Normal file
37
www/analytics/plugins/Actions/Reports/Get.php
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
|
||||
class Get extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->name = Piwik::translate('General_Actions') . ' - ' . Piwik::translate('General_MainMetrics');
|
||||
$this->documentation = ''; // TODO
|
||||
$this->order = 1;
|
||||
$this->processedMetrics = array(
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
$this->metrics = array(
|
||||
'nb_pageviews',
|
||||
'nb_uniq_pageviews',
|
||||
'nb_downloads',
|
||||
'nb_uniq_downloads',
|
||||
'nb_outlinks',
|
||||
'nb_uniq_outlinks',
|
||||
'nb_searches',
|
||||
'nb_keywords'
|
||||
);
|
||||
}
|
||||
}
|
||||
58
www/analytics/plugins/Actions/Reports/GetDownloads.php
Normal file
58
www/analytics/plugins/Actions/Reports/GetDownloads.php
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\DownloadUrl;
|
||||
|
||||
class GetDownloads extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new DownloadUrl();
|
||||
$this->name = Piwik::translate('General_Downloads');
|
||||
$this->documentation = Piwik::translate('Actions_DownloadsReportDocumentation', '<br />');
|
||||
$this->metrics = array('nb_visits', 'nb_hits');
|
||||
|
||||
$this->actionToLoadSubTables = $this->action;
|
||||
$this->order = 9;
|
||||
|
||||
$this->menuTitle = 'General_Downloads';
|
||||
$this->widgetTitle = 'General_Downloads';
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnUniqueDownloads'),
|
||||
'nb_hits' => Piwik::translate('General_Downloads')
|
||||
);
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnUniqueClicksDocumentation'),
|
||||
'nb_hits' => Piwik::translate('Actions_ColumnClicksDocumentation')
|
||||
);
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
|
||||
$view->config->columns_to_display = array('label', 'nb_visits', 'nb_hits');
|
||||
$view->config->show_exclude_low_population = false;
|
||||
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
}
|
||||
86
www/analytics/plugins/Actions/Reports/GetEntryPageTitles.php
Normal file
86
www/analytics/plugins/Actions/Reports/GetEntryPageTitles.php
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\EntryPageTitle;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
|
||||
class GetEntryPageTitles extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new EntryPageTitle();
|
||||
$this->name = Piwik::translate('Actions_EntryPageTitles');
|
||||
$this->documentation = Piwik::translate('Actions_EntryPageTitlesReportDocumentation', '<br />')
|
||||
. ' ' . Piwik::translate('General_UsePlusMinusIconsDocumentation');
|
||||
$this->metrics = array('entry_nb_visits', 'entry_bounce_count');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
$this->order = 6;
|
||||
$this->actionToLoadSubTables = $this->action;
|
||||
|
||||
$this->widgetTitle = 'Actions_WidgetEntryPageTitles';
|
||||
}
|
||||
|
||||
public function getProcessedMetrics()
|
||||
{
|
||||
$result = parent::getProcessedMetrics();
|
||||
|
||||
// these metrics are not displayed in the API.getProcessedReport version of this report,
|
||||
// so they are removed here.
|
||||
unset($result['avg_time_on_page']);
|
||||
unset($result['exit_rate']);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
$metrics = parent::getMetricsDocumentation();
|
||||
$metrics['bounce_rate'] = Piwik::translate('General_ColumnPageBounceRateDocumentation');
|
||||
|
||||
// remove these metrics from API.getProcessedReport version of this report
|
||||
unset($metrics['avg_time_on_page']);
|
||||
unset($metrics['exit_rate']);
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
|
||||
$view->config->columns_to_display = array('label', 'entry_nb_visits', 'entry_bounce_count', 'bounce_rate');
|
||||
$view->config->title = $this->name;
|
||||
|
||||
$view->requestConfig->filter_sort_column = 'entry_nb_visits';
|
||||
|
||||
$this->addPageDisplayProperties($view);
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
|
||||
public function getRelatedReports()
|
||||
{
|
||||
return array(
|
||||
self::factory('Actions', 'getPageTitles'),
|
||||
self::factory('Actions', 'getEntryPageUrls')
|
||||
);
|
||||
}
|
||||
}
|
||||
87
www/analytics/plugins/Actions/Reports/GetEntryPageUrls.php
Normal file
87
www/analytics/plugins/Actions/Reports/GetEntryPageUrls.php
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\EntryPageUrl;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
|
||||
class GetEntryPageUrls extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new EntryPageUrl();
|
||||
$this->name = Piwik::translate('Actions_SubmenuPagesEntry');
|
||||
$this->documentation = Piwik::translate('Actions_EntryPagesReportDocumentation', '<br />')
|
||||
. '<br />' . Piwik::translate('General_UsePlusMinusIconsDocumentation');
|
||||
|
||||
$this->metrics = array('entry_nb_visits', 'entry_bounce_count');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
$this->order = 3;
|
||||
|
||||
$this->actionToLoadSubTables = $this->action;
|
||||
|
||||
$this->menuTitle = 'Actions_SubmenuPagesEntry';
|
||||
$this->widgetTitle = 'Actions_WidgetPagesEntry';
|
||||
}
|
||||
|
||||
public function getProcessedMetrics()
|
||||
{
|
||||
$result = parent::getProcessedMetrics();
|
||||
|
||||
// these metrics are not displayed in the API.getProcessedReport version of this report,
|
||||
// so they are removed here.
|
||||
unset($result['avg_time_on_page']);
|
||||
unset($result['exit_rate']);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
$metrics = parent::getMetricsDocumentation();
|
||||
$metrics['bounce_rate'] = Piwik::translate('General_ColumnPageBounceRateDocumentation');
|
||||
|
||||
unset($metrics['bounce_rate']);
|
||||
unset($metrics['exit_rate']);
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
|
||||
$view->config->title = $this->name;
|
||||
$view->config->columns_to_display = array('label', 'entry_nb_visits', 'entry_bounce_count', 'bounce_rate');
|
||||
$view->requestConfig->filter_sort_column = 'entry_nb_visits';
|
||||
$view->requestConfig->filter_sort_order = 'desc';
|
||||
|
||||
$this->addPageDisplayProperties($view);
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
|
||||
public function getRelatedReports()
|
||||
{
|
||||
return array(
|
||||
self::factory('Actions', 'getEntryPageTitles'),
|
||||
);
|
||||
}
|
||||
}
|
||||
93
www/analytics/plugins/Actions/Reports/GetExitPageTitles.php
Normal file
93
www/analytics/plugins/Actions/Reports/GetExitPageTitles.php
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\ExitPageTitle;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
|
||||
class GetExitPageTitles extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new ExitPageTitle();
|
||||
$this->name = Piwik::translate('Actions_ExitPageTitles');
|
||||
$this->documentation = Piwik::translate('Actions_ExitPageTitlesReportDocumentation', '<br />')
|
||||
. ' ' . Piwik::translate('General_UsePlusMinusIconsDocumentation');
|
||||
|
||||
$this->metrics = array('exit_nb_visits', 'nb_visits');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
$this->order = 7;
|
||||
|
||||
$this->actionToLoadSubTables = $this->action;
|
||||
|
||||
$this->widgetTitle = 'Actions_WidgetExitPageTitles';
|
||||
}
|
||||
|
||||
public function getProcessedMetrics()
|
||||
{
|
||||
$result = parent::getProcessedMetrics();
|
||||
|
||||
// these metrics are not displayed in the API.getProcessedReport version of this report,
|
||||
// so they are removed here.
|
||||
unset($result['bounce_rate']);
|
||||
unset($result['avg_time_on_page']);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
$metrics = parent::getMetrics();
|
||||
$metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviews');
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
$metrics = parent::getMetricsDocumentation();
|
||||
$metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviewsDocumentation');
|
||||
|
||||
unset($metrics['bounce_rate']);
|
||||
unset($metrics['avg_time_on_page']);
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
|
||||
$view->config->title = $this->name;
|
||||
$view->config->columns_to_display = array('label', 'exit_nb_visits', 'nb_visits', 'exit_rate');
|
||||
|
||||
$this->addPageDisplayProperties($view);
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
|
||||
public function getRelatedReports()
|
||||
{
|
||||
return array(
|
||||
self::factory('Actions', 'getPageTitles'),
|
||||
self::factory('Actions', 'getExitPageUrls'),
|
||||
);
|
||||
}
|
||||
}
|
||||
103
www/analytics/plugins/Actions/Reports/GetExitPageUrls.php
Normal file
103
www/analytics/plugins/Actions/Reports/GetExitPageUrls.php
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Plugins\Actions\Columns\ExitPageUrl;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
|
||||
class GetExitPageUrls extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new ExitPageUrl();
|
||||
$this->name = Piwik::translate('Actions_SubmenuPagesExit');
|
||||
$this->documentation = Piwik::translate('Actions_ExitPagesReportDocumentation', '<br />')
|
||||
. '<br />' . Piwik::translate('General_UsePlusMinusIconsDocumentation');
|
||||
|
||||
$this->metrics = array('exit_nb_visits', 'nb_visits');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
$this->actionToLoadSubTables = $this->action;
|
||||
|
||||
$this->order = 4;
|
||||
|
||||
$this->menuTitle = 'Actions_SubmenuPagesExit';
|
||||
$this->widgetTitle = 'Actions_WidgetPagesExit';
|
||||
}
|
||||
|
||||
public function getProcessedMetrics()
|
||||
{
|
||||
$result = parent::getProcessedMetrics();
|
||||
|
||||
// these metrics are not displayed in the API.getProcessedReport version of this report,
|
||||
// so they are removed here.
|
||||
unset($result['bounce_rate']);
|
||||
unset($result['avg_time_on_page']);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
$metrics = parent::getMetrics();
|
||||
$metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviews');
|
||||
|
||||
unset($metrics['bounce_rate']);
|
||||
unset($metrics['avg_time_on_page']);
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
$metrics = parent::getMetricsDocumentation();
|
||||
$metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviewsDocumentation');
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->self_url = Request::getCurrentUrlWithoutGenericFilters(array(
|
||||
'module' => 'Actions',
|
||||
'action' => 'getExitPageUrls',
|
||||
));
|
||||
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
|
||||
$view->config->title = $this->name;
|
||||
|
||||
$view->config->columns_to_display = array('label', 'exit_nb_visits', 'nb_visits', 'exit_rate');
|
||||
$view->requestConfig->filter_sort_column = 'exit_nb_visits';
|
||||
$view->requestConfig->filter_sort_order = 'desc';
|
||||
|
||||
$this->addPageDisplayProperties($view);
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
|
||||
public function getRelatedReports()
|
||||
{
|
||||
return array(
|
||||
self::factory('Actions', 'getExitPageTitles'),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
61
www/analytics/plugins/Actions/Reports/GetOutlinks.php
Normal file
61
www/analytics/plugins/Actions/Reports/GetOutlinks.php
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\ClickedUrl;
|
||||
|
||||
class GetOutlinks extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new ClickedUrl();
|
||||
$this->name = Piwik::translate('General_Outlinks');
|
||||
$this->documentation = Piwik::translate('Actions_OutlinksReportDocumentation') . ' '
|
||||
. Piwik::translate('Actions_OutlinkDocumentation') . '<br />'
|
||||
. Piwik::translate('General_UsePlusMinusIconsDocumentation');
|
||||
|
||||
$this->metrics = array('nb_visits', 'nb_hits');
|
||||
$this->order = 8;
|
||||
|
||||
$this->actionToLoadSubTables = $this->action;
|
||||
|
||||
$this->menuTitle = 'General_Outlinks';
|
||||
$this->widgetTitle = 'General_Outlinks';
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnUniqueClicks'),
|
||||
'nb_hits' => Piwik::translate('Actions_ColumnClicks')
|
||||
);
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnUniqueClicksDocumentation'),
|
||||
'nb_hits' => Piwik::translate('Actions_ColumnClicksDocumentation')
|
||||
);
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
|
||||
$view->config->columns_to_display = array('label', 'nb_visits', 'nb_hits');
|
||||
$view->config->show_exclude_low_population = false;
|
||||
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
}
|
||||
87
www/analytics/plugins/Actions/Reports/GetPageTitles.php
Normal file
87
www/analytics/plugins/Actions/Reports/GetPageTitles.php
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\API\Request;
|
||||
use Piwik\Plugins\Actions\Columns\PageTitle;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
|
||||
class GetPageTitles extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new PageTitle();
|
||||
$this->name = Piwik::translate('Actions_SubmenuPageTitles');
|
||||
$this->documentation = Piwik::translate('Actions_PageTitlesReportDocumentation',
|
||||
array('<br />', htmlentities('<title>')));
|
||||
|
||||
$this->order = 5;
|
||||
$this->metrics = array('nb_hits', 'nb_visits');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
|
||||
$this->actionToLoadSubTables = $this->action;
|
||||
|
||||
$this->menuTitle = 'Actions_SubmenuPageTitles';
|
||||
$this->widgetTitle = 'Actions_WidgetPageTitles';
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
$metrics = parent::getMetrics();
|
||||
$metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviews');
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
$metrics = parent::getMetricsDocumentation();
|
||||
$metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviewsDocumentation');
|
||||
$metrics['bounce_rate'] = Piwik::translate('General_ColumnPageBounceRateDocumentation');
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->self_url = Request::getCurrentUrlWithoutGenericFilters(array(
|
||||
'module' => $this->module,
|
||||
'action' => 'getPageTitles',
|
||||
));
|
||||
|
||||
$view->config->title = $this->name;
|
||||
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
$view->config->columns_to_display = array('label', 'nb_hits', 'nb_visits', 'bounce_rate',
|
||||
'avg_time_on_page', 'exit_rate', 'avg_time_generation');
|
||||
|
||||
$this->addPageDisplayProperties($view);
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
|
||||
public function getRelatedReports()
|
||||
{
|
||||
return array(
|
||||
self::factory('Actions', 'getEntryPageTitles'),
|
||||
self::factory('Actions', 'getExitPageTitles'),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\DestinationPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
|
||||
class GetPageTitlesFollowingSiteSearch extends SiteSearchBase
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new DestinationPage();
|
||||
$this->name = Piwik::translate('Actions_WidgetPageTitlesFollowingSearch');
|
||||
$this->documentation = Piwik::translate('Actions_SiteSearchFollowingPagesDoc') . '<br/>' . Piwik::translate('General_UsePlusMinusIconsDocumentation');
|
||||
$this->metrics = array('nb_hits_following_search', 'nb_hits');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
$this->order = 19;
|
||||
$this->widgetTitle = 'Actions_WidgetPageTitlesFollowingSearch';
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$title = Piwik::translate('Actions_WidgetPageUrlsFollowingSearch');
|
||||
|
||||
$this->configureViewForUrlAndTitle($view, $title);
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
return array(
|
||||
'nb_hits_following_search' => Piwik::translate('General_ColumnViewedAfterSearch'),
|
||||
'nb_hits' => Piwik::translate('General_ColumnTotalPageviews'),
|
||||
);
|
||||
}
|
||||
|
||||
public function getProcessedMetrics()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
return array(
|
||||
'nb_hits_following_search' => Piwik::translate('General_ColumnViewedAfterSearchDocumentation'),
|
||||
'nb_hits' => Piwik::translate('General_ColumnPageviewsDocumentation'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function configureViewForUrlAndTitle(ViewDataTable $view, $title)
|
||||
{
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
|
||||
$view->config->title = $title;
|
||||
$view->config->columns_to_display = array('label', 'nb_hits_following_search', 'nb_hits');
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->requestConfig->filter_sort_column = 'nb_hits_following_search';
|
||||
$view->requestConfig->filter_sort_order = 'desc';
|
||||
|
||||
$this->addExcludeLowPopDisplayProperties($view);
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
|
||||
public function getRelatedReports()
|
||||
{
|
||||
return array(
|
||||
self::factory('Actions', 'getPageUrlsFollowingSiteSearch'),
|
||||
);
|
||||
}
|
||||
}
|
||||
70
www/analytics/plugins/Actions/Reports/GetPageUrls.php
Normal file
70
www/analytics/plugins/Actions/Reports/GetPageUrls.php
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\PageUrl;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
|
||||
class GetPageUrls extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new PageUrl();
|
||||
$this->name = Piwik::translate('Actions_PageUrls');
|
||||
$this->documentation = Piwik::translate('Actions_PagesReportDocumentation', '<br />')
|
||||
. '<br />' . Piwik::translate('General_UsePlusMinusIconsDocumentation');
|
||||
|
||||
$this->actionToLoadSubTables = $this->action;
|
||||
$this->order = 2;
|
||||
$this->metrics = array('nb_hits', 'nb_visits');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
|
||||
$this->menuTitle = 'General_Pages';
|
||||
$this->widgetTitle = 'General_Pages';
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
$metrics = parent::getMetrics();
|
||||
$metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviews');
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
$metrics = parent::getMetricsDocumentation();
|
||||
$metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviewsDocumentation');
|
||||
$metrics['bounce_rate'] = Piwik::translate('General_ColumnPageBounceRateDocumentation');
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
$view->config->columns_to_display = array('label', 'nb_hits', 'nb_visits', 'bounce_rate',
|
||||
'avg_time_on_page', 'exit_rate', 'avg_time_generation');
|
||||
|
||||
$this->addPageDisplayProperties($view);
|
||||
$this->addBaseDisplayProperties($view);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\DestinationPage;
|
||||
|
||||
class GetPageUrlsFollowingSiteSearch extends GetPageTitlesFollowingSiteSearch
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new DestinationPage();
|
||||
$this->name = Piwik::translate('Actions_WidgetPageUrlsFollowingSearch');
|
||||
$this->documentation = Piwik::translate('Actions_SiteSearchFollowingPagesDoc') . '<br/>' . Piwik::translate('General_UsePlusMinusIconsDocumentation');
|
||||
$this->order = 18;
|
||||
$this->widgetTitle = 'Actions_WidgetPageUrlsFollowingSearch';
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$title = Piwik::translate('Actions_WidgetPageTitlesFollowingSearch');
|
||||
|
||||
$this->configureViewForUrlAndTitle($view, $title);
|
||||
}
|
||||
|
||||
public function getRelatedReports()
|
||||
{
|
||||
return array(
|
||||
self::factory('Actions', 'getPageTitlesFollowingSiteSearch'),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Actions;
|
||||
use Piwik\Plugins\Actions\Columns\SearchCategory;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
|
||||
|
||||
class GetSiteSearchCategories extends SiteSearchBase
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new SearchCategory();
|
||||
$this->name = Piwik::translate('Actions_WidgetSearchCategories');
|
||||
$this->documentation = Piwik::translate('Actions_SiteSearchCategories1') . '<br/>' . Piwik::translate('Actions_SiteSearchCategories2');
|
||||
$this->metrics = array('nb_visits', 'nb_pages_per_search', 'exit_rate');
|
||||
$this->order = 17;
|
||||
$this->widgetTitle = 'Actions_WidgetSearchCategories';
|
||||
}
|
||||
|
||||
protected function isEnabledForIdSites($idSites, $idSite)
|
||||
{
|
||||
return parent::isEnabledForIdSites($idSites, $idSite) && Actions::isCustomVariablesPluginsEnabled();
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnSearches'),
|
||||
'nb_pages_per_search' => Piwik::translate('Actions_ColumnPagesPerSearch'),
|
||||
'exit_rate' => Piwik::translate('Actions_ColumnSearchExits'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnSearchesDocumentation'),
|
||||
'nb_pages_per_search' => Piwik::translate('Actions_ColumnPagesPerSearchDocumentation'),
|
||||
'exit_rate' => Piwik::translate('Actions_ColumnSearchExitsDocumentation'),
|
||||
);
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslations(array('label' => $this->dimension->getName()));
|
||||
|
||||
$view->config->columns_to_display = array('label', 'nb_visits', 'nb_pages_per_search');
|
||||
$view->config->show_table_all_columns = false;
|
||||
$view->config->show_bar_chart = false;
|
||||
|
||||
if ($view->isViewDataTableId(HtmlTable::ID)) {
|
||||
$view->config->disable_row_evolution = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\Keyword;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
|
||||
class GetSiteSearchKeywords extends SiteSearchBase
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new Keyword();
|
||||
$this->name = Piwik::translate('Actions_WidgetSearchKeywords');
|
||||
$this->documentation = Piwik::translate('Actions_SiteSearchKeywordsDocumentation') . '<br/><br/>' . Piwik::translate('Actions_SiteSearchIntro') . '<br/><br/>'
|
||||
. '<a href="http://piwik.org/docs/site-search/" rel="noreferrer" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>';
|
||||
$this->metrics = array('nb_visits', 'nb_pages_per_search');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
$this->order = 15;
|
||||
$this->widgetTitle = 'Actions_WidgetSearchKeywords';
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnSearches'),
|
||||
'nb_pages_per_search' => Piwik::translate('Actions_ColumnPagesPerSearch'),
|
||||
);
|
||||
}
|
||||
|
||||
public function getProcessedMetrics()
|
||||
{
|
||||
return array(
|
||||
'exit_rate' => Piwik::translate('Actions_ColumnSearchExits'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnSearchesDocumentation'),
|
||||
'nb_pages_per_search' => Piwik::translate('Actions_ColumnPagesPerSearchDocumentation'),
|
||||
'exit_rate' => Piwik::translate('Actions_ColumnSearchExitsDocumentation'),
|
||||
);
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
$view->config->columns_to_display = array('label', 'nb_visits', 'nb_pages_per_search', 'exit_rate');
|
||||
|
||||
$this->addSiteSearchDisplayProperties($view);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Columns\KeywordwithNoSearchResult;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\BounceRate;
|
||||
use Piwik\Plugins\Actions\Columns\Metrics\ExitRate;
|
||||
|
||||
class GetSiteSearchNoResultKeywords extends SiteSearchBase
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new KeywordwithNoSearchResult();
|
||||
$this->name = Piwik::translate('Actions_WidgetSearchNoResultKeywords');
|
||||
$this->documentation = Piwik::translate('Actions_SiteSearchIntro') . '<br /><br />' . Piwik::translate('Actions_SiteSearchKeywordsNoResultDocumentation');
|
||||
$this->metrics = array('nb_visits');
|
||||
$this->processedMetrics = array(
|
||||
new AverageTimeOnPage(),
|
||||
new BounceRate(),
|
||||
new ExitRate(),
|
||||
new AveragePageGenerationTime()
|
||||
);
|
||||
$this->order = 16;
|
||||
$this->widgetTitle = 'Actions_WidgetSearchNoResultKeywords';
|
||||
}
|
||||
|
||||
public function getMetrics()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnSearches')
|
||||
);
|
||||
}
|
||||
|
||||
public function getProcessedMetrics()
|
||||
{
|
||||
return array(
|
||||
'exit_rate' => Piwik::translate('Actions_ColumnSearchExits')
|
||||
);
|
||||
}
|
||||
|
||||
protected function getMetricsDocumentation()
|
||||
{
|
||||
return array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnSearchesDocumentation'),
|
||||
'exit_rate' => Piwik::translate('Actions_ColumnSearchExitsDocumentation'),
|
||||
);
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslation('label', $this->dimension->getName());
|
||||
$view->config->columns_to_display = array('label', 'nb_visits', 'exit_rate');
|
||||
|
||||
$this->addSiteSearchDisplayProperties($view);
|
||||
}
|
||||
}
|
||||
64
www/analytics/plugins/Actions/Reports/SiteSearchBase.php
Normal file
64
www/analytics/plugins/Actions/Reports/SiteSearchBase.php
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\Actions\Reports;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Actions\Actions;
|
||||
|
||||
abstract class SiteSearchBase extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->category = 'Actions_SubmenuSitesearch';
|
||||
}
|
||||
|
||||
public function isEnabled()
|
||||
{
|
||||
$idSites = Common::getRequestVar('idSites', '', 'string');
|
||||
$idSite = Common::getRequestVar('idSite', 0, 'int');
|
||||
|
||||
return $this->isEnabledForIdSites($idSites, $idSite);
|
||||
}
|
||||
|
||||
protected function isEnabledForIdSites($idSites, $idSite)
|
||||
{
|
||||
$actions = new Actions();
|
||||
return $actions->isSiteSearchEnabled($idSites, $idSite);
|
||||
}
|
||||
|
||||
public function configureReportMetadata(&$availableReports, $infos)
|
||||
{
|
||||
$idSites = !empty($infos['idSites']) ? $infos['idSites'] : array();
|
||||
|
||||
if (!$this->isEnabledForIdSites($idSites, Common::getRequestVar('idSite', 0, 'int'))) {
|
||||
return;
|
||||
}
|
||||
|
||||
$report = $this->buildReportMetadata();
|
||||
|
||||
if (!empty($report)) {
|
||||
$availableReports[] = $report;
|
||||
}
|
||||
}
|
||||
|
||||
protected function addSiteSearchDisplayProperties(ViewDataTable $view)
|
||||
{
|
||||
$view->config->addTranslations(array(
|
||||
'nb_visits' => Piwik::translate('Actions_ColumnSearches'),
|
||||
'exit_rate' => str_replace("% ", "% ", Piwik::translate('Actions_ColumnSearchExits')),
|
||||
'nb_pages_per_search' => Piwik::translate('Actions_ColumnPagesPerSearch')
|
||||
));
|
||||
|
||||
$view->config->show_bar_chart = false;
|
||||
$view->config->show_table_all_columns = false;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue