コード例 #1
0
 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;
 }
コード例 #2
0
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);
        }
    }
}