Skip to content

Commit

Permalink
Refs #4040, converted VisitorInterest plugin to use display propertie…
Browse files Browse the repository at this point in the history
…s instead of ViewDataTable methods.
  • Loading branch information
Benaka Moorthi committed Jul 28, 2013
1 parent 4e3a67a commit 228a6aa
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 59 deletions.
4 changes: 4 additions & 0 deletions core/ViewDataTable/GenerateGraphHTML.php
Expand Up @@ -138,6 +138,10 @@ public function init($currentControllerName,
}
$this->viewProperties['selectable_columns'] = $selectableColumns;
}

if ($this->viewProperties['show_goals']) {
$this->enableShowGoals();
}
}

public function enableShowExportAsImageIcon()
Expand Down
60 changes: 4 additions & 56 deletions plugins/VisitorInterest/Controller.php
Expand Up @@ -26,37 +26,12 @@ public function index()

public function getNumberOfVisitsPerVisitDuration($fetch = false)
{
$view = Piwik_ViewDataTable::factory('cloud');
$view->init($this->pluginName, __FUNCTION__, "VisitorInterest.getNumberOfVisitsPerVisitDuration");

$view->setColumnsToDisplay(array('label', 'nb_visits'));
$view->setSortedColumn('label', 'asc');
$view->setColumnTranslation('label', Piwik_Translate('VisitorInterest_ColumnVisitDuration'));
$view->setGraphLimit(10);
$view->disableSort();
$view->disableExcludeLowPopulation();
$view->disableOffsetInformationAndPaginationControls();
$view->disableSearchBox();
$view->disableShowAllColumns();

return $this->renderView($view, $fetch);
return Piwik_ViewDataTable::render($this->pluginName, __FUNCTION__, $fetch);
}

public function getNumberOfVisitsPerPage($fetch = false)
{
$view = Piwik_ViewDataTable::factory('cloud');
$view->init($this->pluginName, __FUNCTION__, "VisitorInterest.getNumberOfVisitsPerPage");
$view->setColumnsToDisplay(array('label', 'nb_visits'));
$view->setSortedColumn('label', 'asc');
$view->setColumnTranslation('label', Piwik_Translate('VisitorInterest_ColumnPagesPerVisit'));
$view->setGraphLimit(10);
$view->disableExcludeLowPopulation();
$view->disableOffsetInformationAndPaginationControls();
$view->disableSearchBox();
$view->disableSort();
$view->disableShowAllColumns();

return $this->renderView($view, $fetch);
return Piwik_ViewDataTable::render($this->pluginName, __FUNCTION__, $fetch);
}

/**
Expand All @@ -68,21 +43,7 @@ public function getNumberOfVisitsPerPage($fetch = false)
*/
public function getNumberOfVisitsByVisitCount($fetch = false)
{
$view = Piwik_ViewDataTable::factory();
$view->init($this->pluginName, __FUNCTION__, "VisitorInterest.getNumberOfVisitsByVisitCount");
$view->setColumnsToDisplay(array('label', 'nb_visits', 'nb_visits_percentage'));
$view->setSortedColumn('label', 'asc');
$view->setColumnTranslation('label', Piwik_Translate('VisitorInterest_VisitNum'));
$view->setColumnTranslation('nb_visits_percentage', Piwik_Metrics::getPercentVisitColumn());
$view->disableExcludeLowPopulation();
$view->disableOffsetInformationAndPaginationControls();
$view->disableShowAllViewsIcons();
$view->setLimit(15);
$view->disableSearchBox();
$view->disableSort();
$view->disableShowAllColumns();

return $this->renderView($view, $fetch);
return Piwik_ViewDataTable::render($this->pluginName, __FUNCTION__, $fetch);
}

/**
Expand All @@ -94,19 +55,6 @@ public function getNumberOfVisitsByVisitCount($fetch = false)
*/
public function getNumberOfVisitsByDaysSinceLast($fetch = false)
{
$view = Piwik_ViewDataTable::factory();
$view->init($this->pluginName, __FUNCTION__, 'VisitorInterest.getNumberOfVisitsByDaysSinceLast');
$view->setColumnsToDisplay(array('label', 'nb_visits'));
$view->setSortedColumn('label', 'asc');
$view->setColumnTranslation('label', Piwik_Translate('General_DaysSinceLastVisit'));
$view->disableExcludeLowPopulation();
$view->disableOffsetInformationAndPaginationControls();
$view->disableShowAllViewsIcons();
$view->setLimit(15);
$view->disableSearchBox();
$view->disableSort();
$view->disableShowAllColumns();

return $this->renderView($view, $fetch);
return Piwik_ViewDataTable::render($this->pluginName, __FUNCTION__, $fetch);
}
}
89 changes: 86 additions & 3 deletions plugins/VisitorInterest/VisitorInterest.php
Expand Up @@ -26,6 +26,7 @@ public function getListHooksRegistered()
'WidgetsList.add' => 'addWidgets',
'Menu.add' => 'addMenu',
'API.getReportMetadata' => 'getReportMetadata',
'ViewDataTable.getReportDisplayProperties' => 'getReportDisplayProperties',
);
return $hooks;
}
Expand Down Expand Up @@ -91,15 +92,15 @@ public function getReportMetadata(&$reports)
);
}

function addWidgets()
public function addWidgets()
{
Piwik_AddWidget('General_Visitors', 'VisitorInterest_WidgetLengths', 'VisitorInterest', 'getNumberOfVisitsPerVisitDuration');
Piwik_AddWidget('General_Visitors', 'VisitorInterest_WidgetPages', 'VisitorInterest', 'getNumberOfVisitsPerPage');
Piwik_AddWidget('General_Visitors', 'VisitorInterest_visitsByVisitCount', 'VisitorInterest', 'getNumberOfVisitsByVisitCount');
Piwik_AddWidget('General_Visitors', 'VisitorInterest_WidgetVisitsByDaysSinceLast', 'VisitorInterest', 'getNumberOfVisitsByDaysSinceLast');
}

function addMenu()
public function addMenu()
{
Piwik_RenameMenuEntry('General_Visitors', 'VisitFrequency_SubmenuFrequency',
'General_Visitors', 'VisitorInterest_Engagement');
Expand Down Expand Up @@ -140,4 +141,86 @@ static public function footerVisitsFrequency(&$out)
$out .= Piwik_FrontController::getInstance()->fetchDispatch('VisitorInterest', 'index');
$out .= '</div>';
}
}

public function getReportDisplayProperties(&$properties)
{
$properties['VisitorInterest.getNumberOfVisitsPerVisitDuration'] =
$this->getDisplayPropertiesForGetNumberOfVisitsPerVisitDuration();
$properties['VisitorInterest.getNumberOfVisitsPerPage'] =
$this->getDisplayPropertiesForGetNumberOfVisitsPerPage();
$properties['VisitorInterest.getNumberOfVisitsByVisitCount'] =
$this->getDisplayPropertiesForGetNumberOfVisitsByVisitCount();
$properties['VisitorInterest.getNumberOfVisitsByDaysSinceLast'] =
$this->getDisplayPropertiesForGetNumberOfVisitsByDaysSinceLast();
}

private function getDisplayPropertiesForGetNumberOfVisitsPerVisitDuration()
{
return array(
'default_view_type' => 'cloud',
'filter_sort_column' => 'label',
'filter_sort_order' => 'asc',
'translations' => array('label' => Piwik_Translate('VisitorInterest_ColumnVisitDuration')),
'graph_limit' => 10,
'enable_sort' => false,
'show_exclude_low_population' => false,
'show_offset_information' => false,
'show_pagination_control' => false,
'show_search' => false,
'show_table_all_columns' => false,
);
}

private function getDisplayPropertiesForGetNumberOfVisitsPerPage()
{
return array(
'default_view_type' => 'cloud',
'filter_sort_column' => 'label',
'filter_sort_order' => 'asc',
'translations' => array('label' => Piwik_Translate('VisitorInterest_ColumnPagesPerVisit')),
'graph_limit' => 10,
'enable_sort' => false,
'show_exclude_low_population' => false,
'show_offset_information' => false,
'show_pagination_control' => false,
'show_search' => false,
'show_table_all_columns' => false,
);
}

private function getDisplayPropertiesForGetNumberOfVisitsByVisitCount()
{
return array(
'columns_to_display' => array('label', 'nb_visits', 'nb_visits_percentage'),
'filter_sort_column' => 'label',
'filter_sort_order' => 'asc',
'translations' => array('label' => Piwik_Translate('VisitorInterest_VisitNum'),
'nb_visits_percentage' => Piwik_Metrics::getPercentVisitColumn()),
'show_exclude_low_population' => false,
'show_offset_information' => false,
'show_pagination_control' => false,
'filter_limit' => 15,
'show_search' => false,
'enable_sort' => false,
'show_table_all_columns' => false,
'show_all_views_icons' => false,
);
}

private function getDisplayPropertiesForGetNumberOfVisitsByDaysSinceLast()
{
return array(
'filter_sort_column' => 'label',
'filter_sort_order' => 'asc',
'translations' => array('label' => Piwik_Translate('General_DaysSinceLastVisit')),
'show_exclude_low_population' => false,
'show_offset_information' => false,
'show_pagination_control' => false,
'show_all_views_icons' => false,
'filter_limit' => 15,
'show_search' => false,
'enable_sort' => false,
'show_table_all_columns' => false
);
}
}

0 comments on commit 228a6aa

Please sign in to comment.