protected function gapi::accountObjectMapper in Google Analytics Statistics 7.x
Same name and namespace in other branches
- 7.2 includes/gapi.class.php \gapi::accountObjectMapper()
- 7 includes/gapi.class.php \gapi::accountObjectMapper()
Report Account Mapper to convert the XML to array of useful PHP objects
Parameters
String $xml_string:
Return value
Array of gapiAccountEntry objects
1 call to gapi::accountObjectMapper()
- gapi::requestAccountData in inc/
gapi.class.php - Request account data from Google Analytics
File
- inc/
gapi.class.php, line 254
Class
- gapi
- GAPI - Google Analytics PHP Interface
Code
protected function accountObjectMapper($xml_string) {
$xml = simplexml_load_string($xml_string);
$this->results = null;
$results = array();
$account_root_parameters = array();
//Load root parameters
$account_root_parameters['updated'] = strval($xml->updated);
$account_root_parameters['generator'] = strval($xml->generator);
$account_root_parameters['generatorVersion'] = strval($xml->generator
->attributes());
$open_search_results = $xml
->children('http://a9.com/-/spec/opensearchrss/1.0/');
foreach ($open_search_results as $key => $open_search_result) {
$report_root_parameters[$key] = intval($open_search_result);
}
//ADDED: If statement to avoid error messages
if (isset($google_results)) {
$account_root_parameters['startDate'] = strval($google_results->startDate);
$account_root_parameters['endDate'] = strval($google_results->endDate);
}
//Load result entries
foreach ($xml->entry as $entry) {
$properties = array();
foreach ($entry
->children('http://schemas.google.com/analytics/2009')->property as $property) {
$properties[str_replace('ga:', '', $property
->attributes()->name)] = strval($property
->attributes()->value);
}
$properties['title'] = strval($entry->title);
$properties['updated'] = strval($entry->updated);
$results[] = new gapiAccountEntry($properties);
}
$this->account_root_parameters = $account_root_parameters;
$this->results = $results;
return $results;
}