Add membership history report

Provides a global report of total membership size for the last
30 days.

Change-Id: I15e6e8dedc2c1decdefa30069b6af3ccf93e5a31
This commit is contained in:
Marton Kiss 2015-02-16 13:11:42 +01:00
parent 870d8a947c
commit 20296deb02
1 changed files with 28 additions and 0 deletions

View File

@ -15,6 +15,13 @@ function groups_reports_menu() {
'access callback' => array('groups_reports_access'),
'weight' => -1,
);
$items['reports/groups-membership-history-report'] = array(
'title' => 'Membership history report',
'description' => 'View membership history.',
'page callback' => 'groups_reports_groups_membership_history_report',
'access callback' => array('groups_reports_access'),
'weight' => -1,
);
return $items;
}
@ -124,6 +131,27 @@ function groups_reports_groups_membership_report() {
return $build;
}
/**
* Implements group membership history report menu callback.
*/
function groups_reports_groups_membership_history_report() {
$report = groups_report_get_members_report(time());
$report = array_reverse($report);
foreach ($report as &$item) {
$item['timestamp'] = format_date($item['timestamp'], 'custom', 'm/d/Y', 'GMT');
}
$header = array(t('Date'), t('Members'));
$build['summary_table'] = array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $report,
'#sticky' => FALSE,
'#attributes' => array('id' => 'group-report-summary'),
'#empty' => t('No membership data available.'),
);
return $build;
}
/**
* Construct the date interval array based on a date
* argument and report period type.