public function getCampaignsWithCounters(array $campName)
{
$awqlInsert = 'AND ( ';
$insert = FALSE;
foreach($campName as $cmp)
{
if($insert)
$awqlInsert.=' OR ';
else
$insert = TRUE;
$awqlInsert.= ' Name CONTAINS "'.$cmp.'"';
}
$awqlInsert.= ' )';
$result = [];
$campaignService = $this->_user->GetService('CampaignService');
$query = 'SELECT Id, Name, Status WHERE Status != "REMOVED" '.$awqlInsert.' ORDER BY Id';
// Create paging controls.
$offset = 0;
do {
$pageQuery = sprintf('%s LIMIT %d,%d', $query, $offset,
\AdWordsConstants::RECOMMENDED_PAGE_SIZE);
$page = $campaignService->query($pageQuery);
if (isset($page->entries)) {
foreach ($page->entries as $campaign) {
$result []= [
'name' => $campaign->name,
'cmpID' => $campaign->id
];
}
} else {
$result = [];
}
$offset += \AdWordsConstants::RECOMMENDED_PAGE_SIZE;
} while ($page->totalNumEntries > $offset);
return $result;
}