/** * A method to link a campaign to a zone * * @param int $zoneId * @param int $campaignId * @return bool */ function linkCampaign($zoneId, $campaignId) { if ($this->checkIdExistence('zones', $zoneId)) { $doZones = OA_Dal::staticGetDO('zones', $zoneId); if (!$this->checkPermissions(null, 'affiliates', $doZones->affiliateid, OA_PERM_ZONE_LINK)) { return false; } if ($this->checkIdExistence('campaigns', $campaignId)) { $aLinkedPlacements = Admin_DA::getPlacementZones(array('zone_id' => $zoneId), false, 'placement_id'); if (!isset($aLinkedPlacements[$campaignId])) { $result = Admin_DA::addPlacementZone(array('zone_id' => $zoneId, 'placement_id' => $campaignId)); if (PEAR::isError($result)) { $this->raiseError($result->getMessage()); return false; } MAX_addLinkedAdsToZone($zoneId, $campaignId); return true; } else { // Already linked return true; } } } return false; }
if ($aZone['type'] == MAX_ZoneEmail) { $view = 'ad'; } // Initialise some parameters $pageName = basename($_SERVER['PHP_SELF']); $tabIndex = 1; $agencyId = OA_Permission::getAgencyId(); $aEntities = array('affiliateid' => $publisherId, 'zoneid' => $zoneId); if (isset($action)) { $result = true; if ($action == 'set' && $view == 'placement' && !empty($placementId)) { $aLinkedPlacements = Admin_DA::getPlacementZones(array('zone_id' => $zoneId), false, 'placement_id'); if (!isset($aLinkedPlacements[$placementId])) { Admin_DA::addPlacementZone(array('zone_id' => $zoneId, 'placement_id' => $placementId)); } MAX_addLinkedAdsToZone($zoneId, $placementId); // Queue confirmation message $translation = new OX_Translation(); $translated_message = $translation->translate($GLOBALS['strZoneLinkedCampaign'], array(MAX::constructURL(MAX_URL_ADMIN, 'zone-edit.php?affiliateid=' . $publisherId . '&zoneid=' . $zoneId), htmlspecialchars($aZone['name']))); OA_Admin_UI::queueMessage($translated_message, 'local', 'confirm', 0); } elseif ($action == 'set' && $view == 'ad' && !empty($adId)) { $aLinkedAds = Admin_DA::getAdZones(array('zone_id' => $zoneId), false, 'ad_id'); if (!isset($aLinkedAds[$adId])) { $result = Admin_DA::addAdZone(array('zone_id' => $zoneId, 'ad_id' => $adId)); } // Queue confirmation message $translation = new OX_Translation(); $translated_message = $translation->translate($GLOBALS['strZoneLinkedBanner'], array(MAX::constructURL(MAX_URL_ADMIN, 'zone-edit.php?affiliateid=' . $publisherId . '&zoneid=' . $zoneId), htmlspecialchars($aZone['name']))); OA_Admin_UI::queueMessage($translated_message, 'local', 'confirm', 0); } elseif ($action == 'remove' && !empty($placementId) && empty($adId)) { Admin_DA::deletePlacementZones(array('zone_id' => $zoneId, 'placement_id' => $placementId));