You are here

protected function AcquiaLiftReportBase::generateReportConfiguration in Acquia Lift Connector 7

Generates the general report configuration that is used to load any report.

Parameters

$options: An array of options for the report.

  • decision: (Optional) decision point name to limit results.
  • start: (Optional) start date for report, defaults to agent start.
  • end: (Optional) end date for report, defaults to current date.
  • goal: (Optional) goal to show in report, defaults to all.
  • conversion_metric: (Optional) metric to show in report, defaults to 'rate'.

Return value

array The basic reporting configuration.

4 calls to AcquiaLiftReportBase::generateReportConfiguration()
AcquiaLiftABReport::buildCampaignReports in plugins/agent_types/AcquiaLiftAgent.inc
Implements PersonalizeAgentReportInterface::buildCampaignReports().
AcquiaLiftReport::loadReportData in plugins/agent_types/AcquiaLiftAgent.inc
Loads all of the data necessary to generate the reports for the agent.
AcquiaLiftReport::renderStatsForOptionSet in plugins/agent_types/AcquiaLiftAgent.inc
Implements PersonalizeAgentReportInterface::renderStatsForOptionSet().
AcquiaLiftReportBase::buildConversionReport in plugins/agent_types/AcquiaLiftAgent.inc
Implements AcquiaLiftReportInterface()::buildConversionReport().

File

plugins/agent_types/AcquiaLiftAgent.inc, line 1339
Provides an agent type for Acquia Lift

Class

AcquiaLiftReportBase
Base class providing report data loading functionality common to all Acquia Lift Reports.

Code

protected function generateReportConfiguration($options) {
  $decision_name = empty($options['decision']) ? NULL : $options['decision'];
  $date_from = empty($options['start']) ? NULL : $options['start'];
  $date_to = empty($options['end']) ? NULL : $options['end'];
  $machine_name = $this->agent
    ->getMachineName();
  $today_only = $date_from === date('Y-m-d') && empty($date_to);
  $date_from = empty($date_from) ? date('Y-m-d', $this->agent
    ->getStartTime()) : $date_from;
  $date_to = empty($date_to) ? date('Y-m-d') : $date_to;
  $key = 'S' . $date_from . 'E' . $date_to;
  if (!isset($this->report_data[$key])) {
    $confidence_measure = $this
      ->getConfidenceMeasure();

    // Convert the confidence measure from a percentage to a value between
    // 0 and 1 as expected by the Lift API.
    $confidence_measure /= 100;

    // Save basic report generation information with the data.
    $this->report_data[$key]['today_only'] = $today_only;
    $this->report_data[$key]['date_from'] = $date_from;
    $this->report_data[$key]['date_to'] = $date_to;
    $this->report_data[$key]['decision_name'] = $decision_name;
    $this->report_data[$key]['machine_name'] = $machine_name;
    $this->report_data[$key]['confidence_measure'] = $confidence_measure;
    $this->report_data[$key]['features'] = array(
      AcquiaLiftReportBase::NO_FEATURES,
    );
    $this->report_data[$key]['goal'] = empty($options['goal']) ? NULL : $options['goal'];
    $this->report_data[$key]['conversion_metric'] = empty($options['conversion_metric']) ? 'rate' : $options['conversion_metric'];
  }
  return $this->report_data[$key];
}