public static function AcquiaLiftReportFactory::create in Acquia Lift Connector 7.2
Same name and namespace in other branches
- 7 plugins/agent_types/AcquiaLiftAgent.inc \AcquiaLiftReportFactory::create()
Creates a Report object.
Parameters
$agent_instance: The Acquia Lift agent that the reporting is for.
$api_instance: The Acquia Lift API classes in use.
Return value
The AcquiaLiftReport class to use.
1 call to AcquiaLiftReportFactory::create()
- acquia_lift_report_audience in ./
acquia_lift.admin.inc - Builds the audience-specific report.
File
- includes/
AcquiaLiftReportFactory.inc, line 18
Class
- AcquiaLiftReportFactory
- Factory class to create a report object for Acquia Lift.
Code
public static function create(AcquiaLiftLearningAgentInterface $agent_instance, $api_instance, $options) {
// Load all reporting-related classes.
$report_class_files = array(
'AcquiaLiftReportDataFromFileBase',
'AcquiaLiftLearnReport',
'AcquiaLiftLearnReportFromFile',
'AcquiaLiftReportCacheInterface',
'AcquiaLiftReportCache',
);
foreach ($report_class_files as $file) {
module_load_include('inc', 'acquia_lift', 'includes/' . $file);
}
if (!isset($options['confidence_measure'])) {
$options['confidence_measure'] = variable_get('acquia_lift_confidence_measure', 95);
}
$agent_name = $agent_instance
->getMachineName();
// Check if this agent is set up to read reports from a file instead of
// calling the API.
$report_file = variable_get("acquia_lift_report_source_{$agent_name}", '');
if (!empty($report_file)) {
$report_source = new AcquiaLiftLearnReportFromFile($report_file, new AcquiaLiftReportCache());
}
else {
$report_source = $api_instance;
}
$report = new AcquiaLiftLearnReport($agent_instance, $options, $report_source);
return $report;
}