add icons for Character groups
This commit is contained in:
commit
2d9a41a5fe
3461 changed files with 594457 additions and 0 deletions
243
www/analytics/plugins/VisitorInterest/VisitorInterest.php
Normal file
243
www/analytics/plugins/VisitorInterest/VisitorInterest.php
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*
|
||||
*/
|
||||
namespace Piwik\Plugins\VisitorInterest;
|
||||
|
||||
use Piwik\ArchiveProcessor;
|
||||
use Piwik\FrontController;
|
||||
use Piwik\Menu\MenuMain;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\Cloud;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\Graph;
|
||||
use Piwik\WidgetsList;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class VisitorInterest extends \Piwik\Plugin
|
||||
{
|
||||
/**
|
||||
* @see Piwik\Plugin::getListHooksRegistered
|
||||
*/
|
||||
public function getListHooksRegistered()
|
||||
{
|
||||
$hooks = array(
|
||||
'WidgetsList.addWidgets' => 'addWidgets',
|
||||
'Menu.Reporting.addItems' => 'addMenu',
|
||||
'API.getReportMetadata' => 'getReportMetadata',
|
||||
'ViewDataTable.configure' => 'configureViewDataTable',
|
||||
'ViewDataTable.getDefaultType' => 'getDefaultTypeViewDataTable'
|
||||
);
|
||||
return $hooks;
|
||||
}
|
||||
|
||||
public function getReportMetadata(&$reports)
|
||||
{
|
||||
$reports[] = array(
|
||||
'category' => Piwik::translate('General_Visitors'),
|
||||
'name' => Piwik::translate('VisitorInterest_WidgetLengths'),
|
||||
'module' => 'VisitorInterest',
|
||||
'action' => 'getNumberOfVisitsPerVisitDuration',
|
||||
'dimension' => Piwik::translate('VisitorInterest_ColumnVisitDuration'),
|
||||
'metrics' => array('nb_visits'),
|
||||
'processedMetrics' => false,
|
||||
'constantRowsCount' => true,
|
||||
'documentation' => Piwik::translate('VisitorInterest_WidgetLengthsDocumentation')
|
||||
. '<br />' . Piwik::translate('General_ChangeTagCloudView'),
|
||||
'order' => 15
|
||||
);
|
||||
|
||||
$reports[] = array(
|
||||
'category' => Piwik::translate('General_Visitors'),
|
||||
'name' => Piwik::translate('VisitorInterest_WidgetPages'),
|
||||
'module' => 'VisitorInterest',
|
||||
'action' => 'getNumberOfVisitsPerPage',
|
||||
'dimension' => Piwik::translate('VisitorInterest_ColumnPagesPerVisit'),
|
||||
'metrics' => array('nb_visits'),
|
||||
'processedMetrics' => false,
|
||||
'constantRowsCount' => true,
|
||||
'documentation' => Piwik::translate('VisitorInterest_WidgetPagesDocumentation')
|
||||
. '<br />' . Piwik::translate('General_ChangeTagCloudView'),
|
||||
'order' => 20
|
||||
);
|
||||
|
||||
$reports[] = array(
|
||||
'category' => Piwik::translate('General_Visitors'),
|
||||
'name' => Piwik::translate('VisitorInterest_visitsByVisitCount'),
|
||||
'module' => 'VisitorInterest',
|
||||
'action' => 'getNumberOfVisitsByVisitCount',
|
||||
'dimension' => Piwik::translate('VisitorInterest_visitsByVisitCount'),
|
||||
'metrics' => array(
|
||||
'nb_visits',
|
||||
'nb_visits_percentage' => Piwik::translate('General_ColumnPercentageVisits'),
|
||||
),
|
||||
'processedMetrics' => false,
|
||||
'constantRowsCount' => true,
|
||||
'documentation' => Piwik::translate('VisitorInterest_WidgetVisitsByNumDocumentation')
|
||||
. '<br />' . Piwik::translate('General_ChangeTagCloudView'),
|
||||
'order' => 25
|
||||
);
|
||||
|
||||
$reports[] = array(
|
||||
'category' => Piwik::translate('General_Visitors'),
|
||||
'name' => Piwik::translate('VisitorInterest_VisitsByDaysSinceLast'),
|
||||
'module' => 'VisitorInterest',
|
||||
'action' => 'getNumberOfVisitsByDaysSinceLast',
|
||||
'dimension' => Piwik::translate('VisitorInterest_VisitsByDaysSinceLast'),
|
||||
'metrics' => array('nb_visits'),
|
||||
'processedMetrics' => false,
|
||||
'constantRowsCount' => true,
|
||||
'documentation' => Piwik::translate('VisitorInterest_WidgetVisitsByDaysSinceLastDocumentation'),
|
||||
'order' => 30
|
||||
);
|
||||
}
|
||||
|
||||
public function addWidgets()
|
||||
{
|
||||
WidgetsList::add('General_Visitors', 'VisitorInterest_WidgetLengths', 'VisitorInterest', 'getNumberOfVisitsPerVisitDuration');
|
||||
WidgetsList::add('General_Visitors', 'VisitorInterest_WidgetPages', 'VisitorInterest', 'getNumberOfVisitsPerPage');
|
||||
WidgetsList::add('General_Visitors', 'VisitorInterest_visitsByVisitCount', 'VisitorInterest', 'getNumberOfVisitsByVisitCount');
|
||||
WidgetsList::add('General_Visitors', 'VisitorInterest_WidgetVisitsByDaysSinceLast', 'VisitorInterest', 'getNumberOfVisitsByDaysSinceLast');
|
||||
}
|
||||
|
||||
public function addMenu()
|
||||
{
|
||||
MenuMain::getInstance()->rename('General_Visitors', 'VisitFrequency_SubmenuFrequency',
|
||||
'General_Visitors', 'VisitorInterest_Engagement');
|
||||
}
|
||||
|
||||
function postLoad()
|
||||
{
|
||||
Piwik::addAction('Template.headerVisitsFrequency', array('Piwik\Plugins\VisitorInterest\VisitorInterest', 'headerVisitsFrequency'));
|
||||
Piwik::addAction('Template.footerVisitsFrequency', array('Piwik\Plugins\VisitorInterest\VisitorInterest', 'footerVisitsFrequency'));
|
||||
}
|
||||
|
||||
static public function headerVisitsFrequency(&$out)
|
||||
{
|
||||
$out = '<div id="leftcolumn">';
|
||||
}
|
||||
|
||||
static public function footerVisitsFrequency(&$out)
|
||||
{
|
||||
$out = '</div>
|
||||
<div id="rightcolumn">
|
||||
';
|
||||
$out .= FrontController::getInstance()->fetchDispatch('VisitorInterest', 'index');
|
||||
$out .= '</div>';
|
||||
}
|
||||
|
||||
public function getDefaultTypeViewDataTable(&$defaultViewTypes)
|
||||
{
|
||||
$defaultViewTypes['VisitorInterest.getNumberOfVisitsPerVisitDuration'] = Cloud::ID;
|
||||
$defaultViewTypes['VisitorInterest.getNumberOfVisitsPerPage'] = Cloud::ID;
|
||||
}
|
||||
|
||||
public function configureViewDataTable(ViewDataTable $view)
|
||||
{
|
||||
switch ($view->requestConfig->apiMethodToRequestDataTable) {
|
||||
case 'VisitorInterest.getNumberOfVisitsPerVisitDuration':
|
||||
$this->configureViewForGetNumberOfVisitsPerVisitDuration($view);
|
||||
break;
|
||||
case 'VisitorInterest.getNumberOfVisitsPerPage':
|
||||
$this->configureViewForGetNumberOfVisitsPerPage($view);
|
||||
break;
|
||||
case 'VisitorInterest.getNumberOfVisitsByVisitCount':
|
||||
$this->configureViewForGetNumberOfVisitsByVisitCount($view);
|
||||
break;
|
||||
case 'VisitorInterest.getNumberOfVisitsByDaysSinceLast':
|
||||
$this->configureViewForGetNumberOfVisitsByDaysSinceLast($view);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private function configureViewForGetNumberOfVisitsPerVisitDuration(ViewDataTable $view)
|
||||
{
|
||||
$view->requestConfig->filter_sort_column = 'label';
|
||||
$view->requestConfig->filter_sort_order = 'asc';
|
||||
|
||||
$view->config->addTranslation('label', Piwik::translate('VisitorInterest_ColumnVisitDuration'));
|
||||
$view->config->enable_sort = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->show_offset_information = false;
|
||||
$view->config->show_pagination_control = false;
|
||||
$view->config->show_limit_control = false;
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_table_all_columns = false;
|
||||
$view->config->columns_to_display = array('label', 'nb_visits');
|
||||
|
||||
if ($view->isViewDataTableId(Graph::ID)) {
|
||||
$view->config->show_series_picker = false;
|
||||
$view->config->selectable_columns = array();
|
||||
$view->config->max_graph_elements = 10;
|
||||
}
|
||||
}
|
||||
|
||||
private function configureViewForGetNumberOfVisitsPerPage(ViewDataTable $view)
|
||||
{
|
||||
$view->requestConfig->filter_sort_column = 'label';
|
||||
$view->requestConfig->filter_sort_order = 'asc';
|
||||
|
||||
$view->config->addTranslation('label', Piwik::translate('VisitorInterest_ColumnVisitDuration'));
|
||||
$view->config->enable_sort = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->show_offset_information = false;
|
||||
$view->config->show_pagination_control = false;
|
||||
$view->config->show_limit_control = false;
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_table_all_columns = false;
|
||||
$view->config->columns_to_display = array('label', 'nb_visits');
|
||||
|
||||
if ($view->isViewDataTableId(Graph::ID)) {
|
||||
$view->config->show_series_picker = false;
|
||||
$view->config->selectable_columns = array();
|
||||
$view->config->max_graph_elements = 10;
|
||||
}
|
||||
}
|
||||
|
||||
private function configureViewForGetNumberOfVisitsByVisitCount(ViewDataTable $view)
|
||||
{
|
||||
$view->requestConfig->filter_sort_column = 'label';
|
||||
$view->requestConfig->filter_sort_order = 'asc';
|
||||
$view->requestConfig->filter_limit = 15;
|
||||
|
||||
$view->config->addTranslations(array(
|
||||
'label' => Piwik::translate('VisitorInterest_VisitNum'),
|
||||
'nb_visits_percentage' => Metrics::getPercentVisitColumn())
|
||||
);
|
||||
|
||||
$view->config->columns_to_display = array('label', 'nb_visits', 'nb_visits_percentage');
|
||||
$view->config->show_exclude_low_population = false;
|
||||
|
||||
$view->config->enable_sort = false;
|
||||
$view->config->show_offset_information = false;
|
||||
$view->config->show_pagination_control = false;
|
||||
$view->config->show_limit_control = false;
|
||||
$view->config->show_search = false;
|
||||
$view->config->show_table_all_columns = false;
|
||||
$view->config->show_all_views_icons = false;
|
||||
}
|
||||
|
||||
private function configureViewForGetNumberOfVisitsByDaysSinceLast(ViewDataTable $view)
|
||||
{
|
||||
$view->requestConfig->filter_sort_column = 'label';
|
||||
$view->requestConfig->filter_sort_order = 'asc';
|
||||
$view->requestConfig->filter_limit = 15;
|
||||
|
||||
$view->config->show_search = false;
|
||||
$view->config->enable_sort = false;
|
||||
$view->config->show_offset_information = false;
|
||||
$view->config->show_pagination_control = false;
|
||||
$view->config->show_limit_control = false;
|
||||
$view->config->show_all_views_icons = false;
|
||||
$view->config->show_table_all_columns = false;
|
||||
$view->config->show_exclude_low_population = false;
|
||||
$view->config->addTranslation('label', Piwik::translate('General_DaysSinceLastVisit'));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue