<?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 );
		}
	}
}
