function _duplicateAd($aAd, $checkUniqueNames = false) { require_once MAX_PATH . '/www/admin/lib-storage.inc.php'; // Copy the linked creative $newFile = phpAds_ImageDuplicate($aAd['type'], $aAd['filename']); if ($newFile !== false) { $aAd['filename'] = $newFile; } // Remove the existing advert id $adId = $aAd['ad_id']; unset($aAd['ad_id']); // Check for unique names if ($checkUniqueNames) { $aAds = Admin_DA::getAds(array('placement_id' => $aAd['placement_id'])); Admin_DA::_getUniqueName($aAd, $aAds, $GLOBALS['strCopy']); } // Add the new ad $newAdId = Admin_DA::addAd($aAd); // Copy the limitations $aLimitations = Admin_DA::getDeliveryLimitations(array('ad_id' => $adId)); foreach ($aLimitations as $aLimitation) { $aLimitation['ad_id'] = $newAdId; Admin_DA::addLimitation($aLimitation); } // Copy the zone ad associations $aAdZones = Admin_DA::getAdZones(array('ad_id' => $adId)); foreach ($aAdZones as $aAdZone) { $aAdZone['ad_id'] = $newAdId; Admin_DA::duplicateAdZone($aAdZone); } return $newAdId; }