Exemple #1
0
 /**
  * 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;
 }
Exemple #2
0
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));