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