ReportsGenerator::export()
Prepare the export data
Description
Source
File: bp-integrations/learndash/library/ReportsGenerator.php
public function export()
{
$hash = $this->hasArg('hash')? $this->args['hash'] : md5(microtime());
$exports = get_transient($hash) ?: [];
$columns = apply_filters('bp_ld_sync/export_report_column', $this->columns(), $this, $this->args);
$data = apply_filters('bp_ld_sync/export_report_data', $this->getData(), $this, $this->args);
foreach ($data as $result) {
$data = [];
foreach (array_keys($columns) as $key) {
$data[$key] = $result[$key];
}
$exports[] = $data;
}
set_transient($hash, $exports, HOUR_IN_SECONDS);
set_transient("{$hash}_info", [
'filename' => 'learndash-report-export-group-' . $this->args['group'] . '.csv',
'columns' => $columns
], HOUR_IN_SECONDS);
wp_send_json_success([
'page' => $this->args['start'] / $this->args['length'] + 1,
'total' => $this->pager['total_pages'],
'has_more' => $this->pager['total_pages'] > $this->args['start'] / $this->args['length'] + 1,
'url' => add_query_arg([
'hash' => $hash,
'action' => 'download_bp_ld_reports',
], admin_url('admin-ajax.php')),
'hash' => $hash
]);
}
Changelog
| Version | Description |
|---|---|
| BuddyBoss 1.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.