function getActiveAdGroups() { $soapClients =& APIlityClients::getClients(); $someSoapClient = $soapClients->getAdGroupClient(); $soapParameters = "<getActiveAdGroups>\n <campaignID>" . $this->getId() . "</campaignID>\n </getActiveAdGroups>"; // query the google servers for all adgroups of the campaign $allAdGroups = array(); $allAdGroups = $someSoapClient->call("getActiveAdGroups", $soapParameters); $soapClients->updateSoapRelatedData(extractSoapHeaderInfo($someSoapClient->getHeaders())); if ($someSoapClient->fault) { pushFault($someSoapClient, $_SERVER['PHP_SELF'] . ":getActiveAdGroups()", $soapParameters); return false; } $allAdGroups = makeNumericArray($allAdGroups); // return only paused and active adgroups $allAdGroupObjects = array(); if (!isset($allAdGroups['getActiveAdGroupsReturn'])) { return $allAdGroupObjects; } foreach ($allAdGroups['getActiveAdGroupsReturn'] as $adGroup) { $adGroupObject = receiveAdGroup($adGroup); if (isset($adGroupObject)) { array_push($allAdGroupObjects, $adGroupObject); } } return $allAdGroupObjects; }
function receiveAdGroup($someAdGroup, $overrideStatus = false) { if ($someAdGroup['status'] == "Enabled" || $someAdGroup['status'] == "Paused" || $overrideStatus) { // create local object // danger! think in currency units here if (isset($someAdGroup['keywordMaxCpc'])) { $keywordMaxCpc = (double) $someAdGroup['keywordMaxCpc'] / EXCHANGE_RATE; } else { $keywordMaxCpc = NULL; } if (isset($someAdGroup['siteMaxCpm'])) { $siteMaxCpm = (double) $someAdGroup['siteMaxCpm'] / EXCHANGE_RATE; } else { $siteMaxCpm = NULL; } if (isset($someAdGroup['siteMaxCpc'])) { $siteMaxCpc = (double) $someAdGroup['siteMaxCpc'] / EXCHANGE_RATE; } else { $siteMaxCpc = NULL; } if (isset($someAdGroup['maxCpa'])) { $maxCpa = (double) $someAdGroup['maxCpa'] / EXCHANGE_RATE; } else { $maxCpa = NULL; } if (isset($someAdGroup['keywordContentMaxCpc'])) { $keywordContentMaxCpc = (double) $someAdGroup['keywordContentMaxCpc'] / EXCHANGE_RATE; } else { $keywordContentMaxCpc = NULL; } if (isset($someAdGroup['proxyKeywordMaxCpc'])) { $proxyKeywordMaxCpc = (double) $someAdGroup['proxyKeywordMaxCpc'] / EXCHANGE_RATE; } else { $proxyKeywordMaxCpc = NULL; } $adGroupObject = new APIlityAdGroup($someAdGroup['name'], $someAdGroup['id'], $someAdGroup['campaignId'], $keywordMaxCpc, $siteMaxCpm, $siteMaxCpc, $maxCpa, $keywordContentMaxCpc, $proxyKeywordMaxCpc, $someAdGroup['status']); return $adGroupObject; } else { if (RETURN_DELETED_OBJECTS && $someAdGroup['status'] == 'Deleted') { return receiveAdGroup($someAdGroup, true); } } }