function getZones() { global $list_filters; if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN)) { $aParams = array(); $aPublishers = Admin_DA::getPublishers($aParams); // set publisher id if list is to be filtered by publisher if (isset($list_filters['publisher'])) { $aParams = array('publisher_id' => $list_filters['publisher']); } else { // else use all publishers $aParams = array('publisher_id' => implode(',', array_keys($aPublishers))); } if (isset($this->_filter)) { $aParams['zone_inventory_forecast_type'] = $this->getForecastType(); } $aZones = Admin_DA::getZones($aParams); } elseif (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { $aParams = array('agency_id' => OA_Permission::getEntityId()); $aPublishers = Admin_DA::getPublishers($aParams); // set publisher id if list is to be filtered by publisher if (isset($list_filters['publisher'])) { $aParams = array('publisher_id' => $list_filters['publisher']); } else { // else use all of this agency's publishers $aParams = array('publisher_id' => implode(',', array_keys($aPublishers))); } if (isset($this->_filter)) { $aParams['zone_inventory_forecast_type'] = $this->getForecastType(); } $aZones = Admin_DA::getZones($aParams); } elseif (OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) { $aParams = array('publisher_id' => OA_Permission::getEntityId()); $aPublishers = Admin_DA::getPublishers($aParams); $aParams = array('publisher_id' => implode(',', array_keys($aPublishers))); if (isset($this->_filter)) { $aParams['zone_inventory_forecast_type'] = $this->getForecastType(); } $aZones = Admin_DA::getZones($aParams); } else { $aPublishers = array(); $aZones = array(); } $aZoneArray = array(); foreach ($aPublishers as $publisherId => $aPublisher) { foreach ($aZones as $zoneId => $aZone) { if ($aZone['publisher_id'] == $publisherId) { $aZoneArray[$zoneId] = phpads_buildName($publisherId, MAX_getPublisherName($aPublisher['name'])) . " - " . phpAds_buildName($zoneId, MAX_getZoneName($aZone['name'])); } } } return $aZoneArray; }
function MAX_checkPublisher($publisherId) { $allowed = false; if (MAX_checkGenericId($publisherId)) { if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN)) { $allowed = count(Admin_DA::getPublishers(array('publisher_id' => $publisherId))); } elseif (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { $allowed = count(Admin_DA::getPublishers(array('agency_id' => OA_Permission::getAgencyId(), 'publisher_id' => $publisherId))); } elseif (OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) { $allowed = $publisherId == OA_Permission::getEntityId() && count(Admin_DA::getPublishers(array('publisher_id' => $publisherId))); } } return $allowed; }
function displayPage($aZone, $form) { $pageName = basename($_SERVER['SCRIPT_NAME']); $agencyId = OA_Permission::getAgencyId(); $aEntities = array('affiliateid' => $aZone['affiliateid'], 'zoneid' => $aZone['zoneid']); $aOtherPublishers = Admin_DA::getPublishers(array('agency_id' => $agencyId)); $aOtherZones = Admin_DA::getZones(array('publisher_id' => $aZone['affiliateid'])); MAX_displayNavigationZone($pageName, $aOtherPublishers, $aOtherZones, $aEntities); //get template and display form $oTpl = new OA_Admin_Template('zone-advanced.html'); $oTpl->assign('form', $form->serialize()); $oTpl->display(); _echoDeliveryCappingJs(); //footer phpAds_PageFooter(); }
$aCampaign = array(); if (!empty($advertiserId)) { $campaign = Admin_DA::getCampaigns(array('client_id' => $advertiserId)); $aCampaign[0] = $GLOBALS['strSelectPlacement']; foreach ($campaign as $key => $aValue) { $aCampaign[$aValue['campaign_id']] = $aValue['campaignname']; } } } // Get publishers if we show them if ($showPublishers) { if (OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) { $tempPublisherId = OA_Permission::getEntityId(); $aPublisherList = Admin_DA::getPublishers(array('publisher_id' => $tempPublisherId)); } else { $aPublisherList = Admin_DA::getPublishers(array('agency_id' => $agencyId)); } $aPublisher[0] = $GLOBALS['strSelectPublisher']; foreach ($aPublisherList as $key => $aValue) { $aPublisher[$aValue['publisher_id']] = $aValue['name']; } if (!empty($publisherId)) { $zone = Admin_DA::getZones(array('publisher_id' => $publisherId)); $aZone[0] = $GLOBALS['strSelectZone']; foreach ($zone as $key => $aValue) { $aZone[$aValue['zone_id']] = $aValue['name']; } } } $oTrans = new OX_Translation(); $aParams = array('order' => $orderdirection, 'listorder' => $listorder, 'start_date' => $startDate, 'end_date' => $endDate, 'prevImg' => '<< ' . $oTrans->translate('Back'), 'nextImg' => $oTrans->translate('Next') . ' >>');
function displayPage($zone, $form, $zoneErrors = null) { //header and breadcrumbs $pageName = basename($_SERVER['PHP_SELF']); $agencyId = OA_Permission::getAgencyId(); $aEntities = array('affiliateid' => $zone['affiliateid'], 'zoneid' => $zone['zoneid']); $aOtherPublishers = Admin_DA::getPublishers(array('agency_id' => $agencyId)); $aOtherZones = Admin_DA::getZones(array('publisher_id' => $zone['affiliateid'])); MAX_displayNavigationZone($pageName, $aOtherPublishers, $aOtherZones, $aEntities); //get template and display form $oTpl = new OA_Admin_Template('zone-edit.html'); $oTpl->assign('zoneid', $zone['zoneid']); $oTpl->assign('zoneHeight', $zone["height"]); $oTpl->assign('zoneWidth', $zone["width"]); $oTpl->assign('zoneErrors', $zoneErrors); $oTpl->assign('form', $form->serialize()); $oTpl->display(); //footer phpAds_PageFooter(); }
function getChannels() { global $list_filters; if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN)) { // set publisher id if list is to be filtered by publisher if (isset($list_filters['publisher'])) { $aParams = array('publisher_id' => $list_filters['publisher']); // get channels owned by this publisher's agency $aPublisher = Admin_DA::getPublisher($list_filters['publisher']); $agencyId = $aPublisher['agency_id']; if ($agencyId != 0) { // check that this publisher actually has an agency $aParams2 = array('agency_id' => $agencyId, 'publisher_id' => 0); $aAgencyChannels = Admin_DA::getChannels($aParams2); } } $aChannels = Admin_DA::getChannels($aParams); // add any agency-owned channels if (isset($aAgencyChannels)) { foreach ($aAgencyChannels as $channelId => $aAgencyChannel) { $aChannels[$channelId] = $aAgencyChannel; } } } elseif (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { $aParams = array('agency_id' => OA_Permission::getEntityId()); // set publisher id if list is to be filtered by publisher if (isset($list_filters['publisher'])) { $aParams = array('agency_id' => OA_Permission::getEntityId(), 'publisher_id' => $list_filters['publisher']); } $aChannels = Admin_DA::getChannels($aParams); // add agency-owned channels $aParams = array('agency_id' => OA_Permission::getEntityId(), 'publisher_id' => 0); $aAgencyChannels = Admin_DA::getChannels($aParams); foreach ($aAgencyChannels as $channelId => $aAgencyChannel) { $aChannels[$channelId] = $aAgencyChannel; } } elseif (OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) { $aParams = array('publisher_id' => OA_Permission::getEntityId()); $aPublishers = Admin_DA::getPublishers($aParams); $aParams = array('publisher_id' => implode(',', array_keys($aPublishers))); $aChannels = Admin_DA::getChannels($aParams); // get channels owned by this publisher's agency $aPublisher = Admin_DA::getPublisher(OA_Permission::getEntityId()); $agencyId = $aPublisher['agency_id']; if ($agencyId != 0) { // check that this publisher actually has an agency $aParams2 = array('agency_id' => $agencyId, 'publisher_id' => 0); $aAgencyChannels = Admin_DA::getChannels($aParams2); } // add agency-owned channels if (isset($aAgencyChannels)) { foreach ($aAgencyChannels as $channelId => $aAgencyChannel) { $aChannels[$channelId] = $aAgencyChannel; } } } else { $aPublishers = array(); $aChannels = array(); } // add admin-owned channels if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN) || OA_Permission::isAccount(OA_ACCOUNT_MANAGER) || OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) { // add admin-owned channels $aParams = array('agency_id' => 0, 'publisher_id' => 0); $aAdminChannels = Admin_DA::getChannels($aParams); foreach ($aAdminChannels as $channelId => $aAdminChannel) { $aChannels[$channelId] = $aAdminChannel; } } $aChannelArray = array(); foreach ($aChannels as $channelId => $aChannel) { $aChannelArray[$channelId] = phpAds_buildName($channelId, $aChannel['name']); } return $aChannelArray; }
} else { $addResult = Admin_DA::addAdZone($aVariables); } } } if (!$addResult) { Header("Location: zone-include.php?affiliateid={$publisherId}&zoneid={$zoneId}"); exit; } // Move on to the next page Header("Location: zone-probability.php?affiliateid={$publisherId}&zoneid={$zoneId}"); exit; } // Display initial parameters... $tabIndex = 1; $aOtherPublishers = Admin_DA::getPublishers(array('agency_id' => $agencyId)); $aOtherZones = Admin_DA::getZones(array('publisher_id' => $publisherId)); MAX_displayNavigationZone($pageName, $aOtherPublishers, $aOtherZones, $aEntities); if (!empty($action) && PEAR::isError($result)) { // Message echo "<br>"; echo "<div class='errormessage'><img class='errormessage' src='" . OX::assetPath() . "/images/errormessage.gif' align='absmiddle'>"; echo "<span class='tab-r'>{$GLOBALS['strUnableToLinkBanner']}</span><br><br>{$GLOBALS['strErrorLinkingBanner']} <br />" . $result->message . "</div><br>"; } MAX_displayPlacementAdSelectionViewForm($publisherId, $zoneId, $view, $pageName, $tabIndex, $aOtherZones); $aParams = MAX_getLinkedAdParams($zoneId); if ($view == 'placement') { $aDirectLinkedAds = Admin_DA::getAdZones(array('zone_id' => $zoneId), true, 'ad_id'); $aOtherAdvertisers = Admin_DA::getAdvertisers($aParams + array('agency_id' => $agencyId), false); $aOtherPlacements = !empty($advertiserId) ? Admin_DA::getPlacements($aParams + array('advertiser_id' => $advertiserId), false) : null; $aZonesPlacements = Admin_DA::getPlacementZones(array('zone_id' => $zoneId), true, 'placement_id');
function _getPublishers() { if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN)) { if ($this->_filter == FILTER_TRACKER_PRESENT) { $aParams = array(); $aTrackers = Admin_DA::getTrackers($aParams, false, 'advertiser_id'); $aParams = array('advertiser_id' => implode(',', array_keys($aTrackers))); $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'zone_id'); $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id'); $aParams = array('zone_id' => implode(',', array_keys($aPlacementZones + $aAdZones))); $aPublishers = Admin_DA::getPublishers($aParams); } else { $aParams = array(); $aPublishers = Admin_DA::getPublishers($aParams); } } elseif (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { if ($this->_filter == FILTER_TRACKER_PRESENT) { $aParams = array('agency_id' => OA_Permission::getEntityId()); $aTrackers = Admin_DA::getTrackers($aParams, false, 'advertiser_id'); $aParams = array('advertiser_id' => implode(',', array_keys($aTrackers))); $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'zone_id'); $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id'); $aParams = array('zone_id' => implode(',', array_keys($aPlacementZones + $aAdZones))); $aPublishers = Admin_DA::getPublishers($aParams); } else { $aParams = array('agency_id' => OA_Permission::getEntityId()); $aPublishers = Admin_DA::getPublishers($aParams); } } elseif (OA_Permission::isAccount(OA_ACCOUNT_TRAFFICKER)) { if ($this->_filter == FILTER_TRACKER_PRESENT) { $aParams = array('agency_id' => OA_Permission::getAgencyId()); $aTrackers = Admin_DA::getTrackers($aParams, false, 'advertiser_id'); $aParams = array('advertiser_id' => implode(',', array_keys($aTrackers))); $aPlacementZones = Admin_DA::getAdZones($aParams, false, 'zone_id'); $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id'); $aParams = array('publisher_id' => OA_Permission::getEntityId(), 'zone_id' => implode(',', array_keys($aPlacementZones + $aAdZones))); $aPublishers = Admin_DA::getPublishers($aParams); } else { $aParams = array('publisher_id' => OA_Permission::getEntityId()); $aPublishers = Admin_DA::getPublishers($aParams); } } elseif (OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) { $aPublishers = array(); if ($this->_filter == FILTER_TRACKER_PRESENT) { $aParams = array('advertiser_id' => OA_Permission::getEntityId()); $aTrackers = Admin_DA::getTrackers($aTrackers, 'advertiser_id'); if (!empty($aTrackers)) { $aParams = array('advertiser_id' => OA_Permission::getEntityId(), 'placement_anonymous' => 'f'); $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'zone_id'); $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id'); $aZones = $aPlacementZones + $aAdZones; if (!empty($aZones)) { $aParams = array('zone_id' => implode(',', array_keys($aZones))); $aPublishers = Admin_DA::getPublishers($aParams); } } } else { $aParams = array('advertiser_id' => OA_Permission::getEntityId(), 'placement_anonymous' => 'f'); $aPlacementZones = Admin_DA::getPlacementZones($aParams, false, 'zone_id'); $aAdZones = Admin_DA::getAdZones($aParams, false, 'zone_id'); $aZones = $aPlacementZones + $aAdZones; if (!empty($aZones)) { $aParams = array('zone_id' => implode(',', array_keys($aZones))); $aPublishers = Admin_DA::getPublishers($aParams); } } } // order the array by publisher name foreach ($aPublishers as $key => $row) { $name[$key] = strtolower($row['name']); } array_multisort($name, SORT_ASC, $aPublishers); // rewrite the array to preserve key foreach ($aPublishers as $row) { $aPublishersTmp[$row['publisher_id']] = $row; } $aPublishers = $aPublishersTmp; return $aPublishers; }
/** * A private method that can be inherited and used by children classes to * output the context in the left navigation bar. * * {@uses phpAds_PageContext()} */ function _showContext($type, $current_id = 0) { if ($this->useDailyClass && $type == 'days') { // Use the helper class contect method instead $aArray = array('period_start' => MAX_getStoredValue('period_start', date('Y-m-d')), 'period_end' => MAX_getStoredValue('period_end', date('Y-m-d'))); $aDates = array_reverse($this->oHistory->getDatesArray($aArray, 'day', $this->oStartDate)); $this->oDaily->showContext($aDates, $current_id, $this); } else { $aParams = array(); switch ($type) { case 'advertisers': if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN) || OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { if (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { $aParams['agency_id'] = OA_Permission::getEntityId(); } $params = $this->aPageParams; $advertisers = Admin_DA::getAdvertisers($aParams, false); foreach ($advertisers as $advertiser) { $params['clientid'] = $advertiser['advertiser_id']; phpAds_PageContext(MAX_buildName($advertiser['advertiser_id'], $advertiser['name']), $this->_addPageParamsToURI($this->pageName, $params, true), $current_id == $advertiser['advertiser_id']); } } break; case 'campaigns': $aParams['advertiser_id'] = $this->aPageParams['clientid']; $params = $this->aPageParams; $campaigns = Admin_DA::getPlacements($aParams, false); foreach ($campaigns as $campaign) { $params['campaignid'] = $campaign['placement_id']; // mask campaign name if anonymous campaign $campaign['name'] = MAX_getPlacementName($campaign); phpAds_PageContext(MAX_buildName($campaign['placement_id'], $campaign['name']), $this->_addPageParamsToURI($this->pageName, $params, true), $current_id == $campaign['placement_id']); } break; case 'banners': $aParams['placement_id'] = $this->aPageParams['campaignid']; $params = $this->aPageParams; $banners = Admin_DA::getAds($aParams, false); foreach ($banners as $banner) { $params['bannerid'] = $banner['ad_id']; // mask banner name if anonymous campaign $campaign = Admin_DA::getPlacement($banner['placement_id']); $campaignAnonymous = $campaign['anonymous'] == 't' ? true : false; $banner['name'] = MAX_getAdName($banner['name'], null, null, $campaignAnonymous, $banner['ad_id']); phpAds_PageContext(MAX_buildName($banner['ad_id'], $banner['name']), $this->_addPageParamsToURI($this->pageName, $params, true), $current_id == $banner['ad_id']); } break; case 'publishers': if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN) || OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { if (OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { $aParams['agency_id'] = OA_Permission::getEntityId(); } $params = $this->aPageParams; $campaigns = Admin_DA::getPublishers($aParams, false); foreach ($campaigns as $publisher) { $params['affiliateid'] = $publisher['publisher_id']; phpAds_PageContext(MAX_buildName($publisher['publisher_id'], $publisher['name']), $this->_addPageParamsToURI($this->pageName, $params, true), $current_id == $publisher['publisher_id']); } } break; case 'publisher-campaigns': if (OA_Permission::isAccount(OA_ACCOUNT_ADMIN) || OA_Permission::isAccount(OA_ACCOUNT_MANAGER)) { $aParams = array('publisher_id' => $publisherId, 'placement_id' => $placementId, 'include' => array('placement_id'), 'exclude' => array('zone_id')); $aPlacements = array(); foreach (Admin_DA::fromCache('getEntitiesStats', $aParams + $this->aDates) as $v) { $aPlacements[$v['placement_id']] = true; } $params = $this->aPageParams; $campaigns = Admin_DA::getPlacements(array(), false); foreach ($campaigns as $campaign) { if (isset($aPlacements[$campaign['placement_id']])) { $params['campaignid'] = $campaign['placement_id']; phpAds_PageContext(MAX_buildName($campaign['placement_id'], $campaign['name']), $this->_addPageParamsToURI($this->pageName, $params, true), $current_id == $campaign['placement_id']); } } } break; case 'zones': $aParams['publisher_id'] = $this->aPageParams['affiliateid']; $params = $this->aPageParams; $zones = Admin_DA::getZones($aParams, false); foreach ($zones as $zone) { $params['zoneid'] = $zone['zone_id']; phpAds_PageContext(MAX_buildName($zone['zone_id'], $zone['name']), $this->_addPageParamsToURI($this->pageName, $params, true), $current_id == $zone['zone_id']); } break; } } }
} } // Display navigation $aOtherCampaigns = Admin_DA::getPlacements(array('agency_id' => $agencyId)); $aOtherBanners = Admin_DA::getAds(array('placement_id' => $campaignId), false); MAX_displayNavigationBanner($pageName, $aOtherCampaigns, $aOtherBanners, $aEntities); // Main code $aAd = Admin_DA::getAd($bannerId); $aParams = array('agency_id' => $agencyId); if ($aAd['type'] == 'txt') { $aParams['zone_type'] = phpAds_ZoneText; } else { $aParams['zone_width'] = $aAd['width'] . ',-1'; $aParams['zone_height'] = $aAd['height'] . ',-1'; } $aPublishers = Admin_DA::getPublishers($aParams, true); $aLinkedZones = Admin_DA::getAdZones(array('ad_id' => $bannerId), false, 'zone_id'); echo "\n<table border='0' width='100%' cellpadding='0' cellspacing='0'>\n<form name='zones' action='{$pageName}' method='post'>\n<input type='hidden' name='clientid' value='{$advertiserId}'>\n<input type='hidden' name='campaignid' value='{$campaignId}'>\n<input type='hidden' name='bannerid' value='{$bannerId}'>"; MAX_displayZoneHeader($pageName, $listorder, $orderdirection, $aEntities); if ($error) { // Message echo "<br>"; echo "<div class='errormessage'><img class='errormessage' src='" . OX::assetPath() . "/images/errormessage.gif' align='absmiddle'>"; echo "<span class='tab-r'>{$GLOBALS['strUnableToLinkBanner']}</span>"; echo "</div>"; } else { echo "<br /><br />"; } $zoneToSelect = false; if (!empty($aPublishers)) { MAX_sortArray($aPublishers, $listorder == 'id' ? 'publisher_id' : $listorder, $orderdirection == 'up');