<?php
namespace DgoraWcas\Analytics;
use WC_CSV_Exporter;
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class CSVExporter extends WC_CSV_Exporter {
private $context = '';
private $lang = '';
public function set_context( $context = '' ) {
$this->context = $context;
}
public function set_lang( $lang = '' ) {
$this->lang = $lang;
}
public function prepare_data_to_export() {
$data = new Data();
if ( ! empty( $this->lang ) ) {
$data->setLang( $this->lang );
}
$dateSuffix = date( 'Ymd-His', time() );
if ( in_array( $this->context, array( 'autocomplete', 'search-results-page' ) ) ) {
$data->setContext( $this->context );
$this->set_filename( 'fibosearch-analytics_' . $this->context . '_' . ( empty( $this->lang ) ? '' : $this->lang . '_' ) . $dateSuffix );
} else {
$this->set_filename( 'fibosearch-analytics_critical' . '_' . ( empty( $this->lang ) ? '' : $this->lang . '_' ) . $dateSuffix );
}
$this->set_column_names(
[
"phrase" => "Phrase",
"qty" => "Repetitions",
]
);
if ( empty( $this->context ) ) {
$this->row_data = $data->getCriticalSearches( PHP_INT_MAX );
} else {
$this->row_data = $data->getPhrasesWithResults( PHP_INT_MAX );
}
}
}