function _duplicatePlacement($aPlacement, $checkUniqueNames = false) { $placementId = $aPlacement['placement_id']; unset($aPlacement['placement_id']); if ($checkUniqueNames) { $aPlacements = Admin_DA::getPlacements(array('advertiser_id' => $aPlacement['advertiser_id'])); Admin_DA::_getUniqueName($aPlacement, $aPlacements, @$GLOBALS['strCopy']); } // FIXME: get rid of this $aPlacement = MAX_commonSlashArray($aPlacement); // Massage to real field names Admin_DA::_switch($aPlacement, 'advertiser_id', 'clientid'); Admin_DA::_switch($aPlacement, 'name', 'campaignname'); $newPlacementId = Admin_DA::addPlacement($aPlacement); $aPlacementTrackers = Admin_DA::getPlacementTrackers(array('placement_id' => $placementId)); foreach ($aPlacementTrackers as $aPlacementTracker) { $aPlacementTracker['placement_id'] = $newPlacementId; Admin_DA::duplicatePlacementTracker($aPlacementTracker); } $aPlacementZones = Admin_DA::_getEntities('placement_zone_assoc', array('placement_id' => $placementId)); foreach ($aPlacementZones as $aPlacementZone) { $aPlacementZone['placement_id'] = $newPlacementId; Admin_DA::duplicatePlacementZone($aPlacementZone); } $aAds = Admin_DA::getAds(array('placement_id' => $placementId)); foreach ($aAds as $aAd) { $aAd['placement_id'] = $newPlacementId; Admin_DA::duplicateAd($aAd, $aAds); } return $newPlacementId; }