public static function getNetworkLossCorrectionRateFromPublisherAdZone($config, $publisher_ad_zone_id, &$network_loss_rate_list) { $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $params = array(); $params['PublisherAdZoneID'] = $publisher_ad_zone_id; $PublisherAdZone = $PublisherAdZoneFactory->get_row($params); if ($PublisherAdZone === null) { return 0; } $publisher_info_id = $PublisherAdZone->AdOwnerID; $publisher_website_id = $PublisherAdZone->PublisherWebsiteID; $hash_key = $publisher_info_id . '-' . $publisher_website_id; if (isset($network_loss_rate_list[$hash_key])) { $publisher_impressions_network_loss_rate = $network_loss_rate_list[$hash_key]; } else { $publisher_impressions_network_loss_rate = \util\NetworkLossCorrection::getPublisherNetworkLossCorrectionRate($publisher_website_id, $publisher_info_id, $config, false); $network_loss_rate_list[$hash_key] = $publisher_impressions_network_loss_rate; } return $publisher_impressions_network_loss_rate; }
private function updatePublisherZoneTotals() { /* * update all compiled stats into the PublisherAdZone table */ $PublisherImpressionsAndSpendHourlyTotals = \_factory\PublisherImpressionsAndSpendHourlyTotals::get_instance($this->config); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $params = array(); $PublisherAdZoneList = $PublisherAdZoneFactory->get($params); foreach ($PublisherAdZoneList as $PublisherAdZone) { $ad_zone_id = $PublisherAdZone->PublisherAdZoneID; $params = array(); $params["PublisherAdZoneID"] = $ad_zone_id; $PublisherTotalsRollup = $PublisherImpressionsAndSpendHourlyTotals->get_row($params); if ($PublisherTotalsRollup == null) { continue; } $PublisherAdZoneNew = new \model\PublisherAdZone(); $PublisherAdZoneNew->PublisherAdZoneID = $PublisherAdZone->PublisherAdZoneID; $PublisherAdZoneNew->PublisherWebsiteID = $PublisherAdZone->PublisherWebsiteID; $PublisherAdZoneNew->PublisherAdZoneTypeID = $PublisherAdZone->PublisherAdZoneTypeID; $PublisherAdZoneNew->ImpressionType = $PublisherAdZone->ImpressionType; $PublisherAdZoneNew->AdOwnerID = $PublisherAdZone->AdOwnerID; $PublisherAdZoneNew->AdName = $PublisherAdZone->AdName; $PublisherAdZoneNew->Description = $PublisherAdZone->Description; $PublisherAdZoneNew->PassbackAdTag = $PublisherAdZone->PassbackAdTag; $PublisherAdZoneNew->AdStatus = $PublisherAdZone->AdStatus; $PublisherAdZoneNew->AutoApprove = $PublisherAdZone->AutoApprove; $PublisherAdZoneNew->AdTemplateID = $PublisherAdZone->AdTemplateID; $PublisherAdZoneNew->IsMobileFlag = $PublisherAdZone->IsMobileFlag; $PublisherAdZoneNew->Width = $PublisherAdZone->Width; $PublisherAdZoneNew->Height = $PublisherAdZone->Height; $PublisherAdZoneNew->FloorPrice = $PublisherAdZone->FloorPrice; $PublisherAdZoneNew->TotalRequests = $PublisherTotalsRollup->TotalRequests; $PublisherAdZoneNew->TotalImpressionsFilled = $PublisherTotalsRollup->TotalImpressions; $PublisherAdZoneNew->TotalAmount = $PublisherTotalsRollup->TotalRevenue; $PublisherAdZoneNew->DateCreated = $PublisherAdZone->DateCreated; $PublisherAdZoneNew->DateUpdated = $PublisherAdZone->DateUpdated; $PublisherAdZoneFactory->save_ads($PublisherAdZoneNew); } }
private function build_banner_request($config, $banner_request) { $banner_request_id = intval($banner_request["publisher_banner_id"]); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $params = array(); $params["PublisherAdZoneID"] = $banner_request_id; $params["AdStatus"] = 1; $PublisherAdZone = $PublisherAdZoneFactory->get_row_cached($params); $PublisherWebsite = null; if ($PublisherAdZone == null) { return null; } $PublisherWebsiteFactory = \_factory\PublisherWebsite::get_instance(); $params = array(); $params["PublisherWebsiteID"] = $PublisherAdZone->PublisherWebsiteID; $PublisherWebsite = $PublisherWebsiteFactory->get_row_cached($params); if ($PublisherWebsite == null) { return null; } /* * Produce the RTB request to our demand partners */ $banner_request["PublisherAdZoneID"] = $PublisherAdZone->PublisherAdZoneID; $banner_request["AdName"] = $PublisherAdZone->AdName; $banner_request["WebDomain"] = $PublisherWebsite->WebDomain; if (!isset($banner_request["org_tld"]) || $banner_request["org_tld"] == null) { $banner_request["org_tld"] = $PublisherWebsite->WebDomain; } $banner_request["height"] = $PublisherAdZone->Height; $banner_request["width"] = $PublisherAdZone->Width; $banner_request["bidfloor"] = sprintf("%1.4f", $PublisherAdZone->FloorPrice); $banner_request["iab_category"] = $PublisherWebsite->IABCategory; $banner_request["iab_sub_category"] = $PublisherWebsite->IABSubCategory; $banner_request["website_id"] = $PublisherAdZone->PublisherWebsiteID; $banner_request["publisher_info_website"] = "example.com"; // will be populated from the initial publisher signup. $banner_request["publisher_id"] = 1; // will be populated from the initial publisher signup. $banner_request["publisher_name"] = "Demo Publisher"; // will be populated from the initial publisher signup. $banner_request["publisher_iab_category"] = null; $ip_address = isset($_SERVER['HTTP_X_REAL_IP']) && !empty($_SERVER['HTTP_X_REAL_IP']) ? $_SERVER['HTTP_X_REAL_IP'] : $_SERVER["REMOTE_ADDR"]; $banner_request["ip_address"] = $ip_address; $banner_request["user_id"] = md5($banner_request["ip_address"]); $user_agent = isset($_SERVER["HTTP_USER_AGENT"]) ? $_SERVER["HTTP_USER_AGENT"] : ""; $banner_request["user_agent"] = $user_agent; $banner_request["language"] = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) : null; /* * Device Type * * 1 Mobile/Tablet * 2 Personal Computer */ $detect = new \mobileutil\MobileDetect(null, $banner_request["user_agent"]); if ($detect->isMobile()) { $banner_request["devicetype"] = 1; if ($detect->is('iOS')) { $banner_request["mobile_os"] = "iOS"; $banner_request["mobile_make"] = "Apple"; if ($detect->isTablet()) { $banner_request["mobile_model"] = "iPad"; } else { $banner_request["mobile_model"] = "iPhone"; } } elseif ($detect->is('AndroidOS') || $detect->is('Chrome')) { $banner_request["mobile_os"] = "Android"; } } else { $banner_request["devicetype"] = 2; } return $banner_request; }
/** * * @return JSON encoded data for AJAX call */ public function editlinkedbannerAction() { $id = intval($this->params()->fromRoute('id', 0)); $height = $this->getRequest()->getQuery('height'); $width = $this->getRequest()->getQuery('width'); if ($height == null || $width == null) { $data = array('success' => false, 'linked_ad_zones' => "", 'complete_zone_list' => array()); return $this->getResponse()->setContent(json_encode($data)); } $initialized = $this->initialize(); if ($initialized !== true) { return $initialized; } if (!$this->is_admin) { $data = array('success' => false, 'linked_ad_zones' => "", 'complete_zone_list' => array()); return $this->getResponse()->setContent(json_encode($data)); } // verify $linked_ad_banners = array(); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); if ($id) { $params = array("PublisherAdZoneID" => $id); $PublisherAdZone = $PublisherAdZoneFactory->get_row_object($params); if ($PublisherAdZone == null || $PublisherAdZone->AdOwnerID != $this->PublisherInfoID) { $error_message = "An invalid Ad Zone ID was provided."; $data = array('success' => false, 'error' => $error_message, 'linked_ad_zones' => "", 'complete_zone_list' => array()); return $this->getResponse()->setContent(json_encode($data)); } $LinkedBannerToAdZoneFactory = \_factory\LinkedBannerToAdZone::get_instance(); $params = array(); $params["PublisherAdZoneID"] = $id; $linked_ad_banners = $LinkedBannerToAdZoneFactory->get($params); } $params = array(); $params["Height"] = $height; $params["Width"] = $width; $params["Active"] = 1; // $params["UserID"] = $this->EffectiveID; $AdCampaignBannerFactory = \_factory\AdCampaignBanner::get_instance(); $AdCampaignBannerList = $AdCampaignBannerFactory->get($params); if ($AdCampaignBannerList === null) { $AdCampaignBannerList = array(); } $complete_banner_list = array(); foreach ($AdCampaignBannerList as $AdCampaignBanner) { $complete_banner_list[] = array("banner_id" => $AdCampaignBanner->AdCampaignBannerID, "ad_name" => $AdCampaignBanner->Name); } $linked_banner_list = array(); foreach ($linked_ad_banners as $linked_ad_banner) { $linked_banner_list[] = $linked_ad_banner->AdCampaignBannerID; } $data = array('success' => count($AdCampaignBannerList) > 0, 'linked_ad_banners' => implode(',', $linked_banner_list), 'complete_banner_list' => $complete_banner_list); return $this->getResponse()->setContent(json_encode($data)); }
/** * * @return JSON encoded data for AJAX call */ public function editlinkedzoneAction() { $id = $this->getEvent()->getRouteMatch()->getParam('param1'); $height = $this->getRequest()->getQuery('height'); $width = $this->getRequest()->getQuery('width'); $is_preview = $this->getRequest()->getQuery('is_preview'); if ($height == null || $width == null) { $data = array('success' => false, 'linked_ad_zones' => "", 'complete_zone_list' => array()); return $this->getResponse()->setContent(json_encode($data)); } $initialized = $this->initialize(); if ($initialized !== true) { return $initialized; } if (!$this->is_admin) { $data = array('success' => false, 'linked_ad_zones' => "", 'complete_zone_list' => array()); return $this->getResponse()->setContent(json_encode($data)); } // verify if ($is_preview == "true") { $is_preview = \transformation\TransformPreview::doesPreviewBannerExist($id, $this->auth); } $banner_preview_id = ""; $linked_ad_zones = array(); if ($id != null) { if ($is_preview === true) { // ACL PREVIEW PERMISSIONS CHECK transformation\CheckPermissions::checkEditPermissionAdCampaignBannerPreview($id, $this->auth, $this->config_handle); $AdCampaignBannerPreviewFactory = \_factory\AdCampaignBannerPreview::get_instance(); $params = array(); $params["Active"] = 1; $params["AdCampaignBannerPreviewID"] = $id; $banner_preview_id = $id; $AdCampaignBanner = $AdCampaignBannerPreviewFactory->get_row($params); $LinkedBannerToAdZonePreviewFactory = \_factory\LinkedBannerToAdZonePreview::get_instance(); $params = array(); $params["AdCampaignBannerPreviewID"] = $id; $linked_ad_zones = $LinkedBannerToAdZonePreviewFactory->get($params); } else { // ACL PERMISSIONS CHECK transformation\CheckPermissions::checkEditPermissionAdCampaignBanner($id, $this->auth, $this->config_handle); $AdCampaignBannerFactory = \_factory\AdCampaignBanner::get_instance(); $params = array(); $params["Active"] = 1; $params["AdCampaignBannerID"] = $id; $AdCampaignBanner = $AdCampaignBannerFactory->get_row($params); $LinkedBannerToAdZoneFactory = \_factory\LinkedBannerToAdZone::get_instance(); $params = array(); $params["AdCampaignBannerID"] = $id; $linked_ad_zones = $LinkedBannerToAdZoneFactory->get($params); } } $params = array(); $params["Height"] = $height; $params["Width"] = $width; // $params["AdOwnerID"] = \transformation\UserToPublisher::user_id_to_publisher_info_id($this->auth->getEffectiveUserID()); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $PublisherAdZoneList = $PublisherAdZoneFactory->get($params); if ($PublisherAdZoneList === null) { $PublisherAdZoneList = array(); } $complete_zone_list = array(); foreach ($PublisherAdZoneList as $PublisherAdZone) { $complete_zone_list[] = array("zone_id" => $PublisherAdZone->PublisherAdZoneID, "ad_name" => $PublisherAdZone->AdName); } $linked_zone_list = array(); foreach ($linked_ad_zones as $linked_ad_zone) { $linked_zone_list[] = $linked_ad_zone->PublisherAdZoneID; } $data = array('success' => count($PublisherAdZoneList) > 0, 'linked_ad_zones' => implode(',', $linked_zone_list), 'complete_zone_list' => $complete_zone_list); return $this->getResponse()->setContent(json_encode($data)); }
public function deletewebsiteAction() { $initialized = $this->initialize(); if ($initialized !== true) { return $initialized; } $auth = $this->getServiceLocator()->get('AuthService'); if (!$auth->hasIdentity()) { return $this->redirect()->toRoute('login'); } $success = false; $msg = null; $PublisherWebsiteFactory = \_factory\PublisherWebsite::get_instance(); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $publisher_website_data = null; $request = $this->getRequest(); if ($request->isPost()) { $website_id = intval($request->getPost('website_id')); if ($this->auth->isDomainAdmin($this->config_handle)) { $authorized = \util\AuthHelper::domain_user_authorized_publisher_website($this->auth->getUserID(), $website_id); if ($authorized === true) { $params = array(); $params["PublisherWebsiteID"] = $website_id; $publisher_website_data = $PublisherWebsiteFactory->get_row($params); } } else { $params = array(); $params["PublisherWebsiteID"] = $website_id; $params["DomainOwnerID"] = $this->auth->getPublisherInfoID(); $publisher_website_data = $PublisherWebsiteFactory->get_row($params); } if ($publisher_website_data == null) { $msg = 'Authorization Error.'; } else { $success = true; $PublisherWebsiteFactory->delete_domain($website_id); $params = array(); $params['PublisherWebsiteID'] = $website_id; $PublisherAdZoneList = $PublisherAdZoneFactory->get($params); foreach ($PublisherAdZoneList as $PublisherAdZone) { $PublisherAdZoneFactory->delete_zone(intval($PublisherAdZone->PublisherAdZoneID)); } $msg = '"' . $publisher_website_data->WebDomain . '" removed successfully.'; } } $data = array('success' => $success, 'data' => array('msg' => $msg)); $this->setJsonHeader(); return $this->getResponse()->setContent(json_encode($data)); }
public static function cloneInsertionOrderPreviewIntoInsertionOrder($ad_campaign_preview_id, $auth, $config) { if ($ad_campaign_preview_id === null) { return; } $InsertionOrderPreviewFactory = \_factory\InsertionOrderPreview::get_instance(); $params = array(); $params["InsertionOrderPreviewID"] = $ad_campaign_preview_id; if (!$auth->isSuperAdmin($config) && !$auth->isDomainAdmin($config)) { die("You do not have permission to access this page"); } if (!$auth->isSuperAdmin($config)) { $params["UserID"] = $auth->getUserID(); } $params["Active"] = 1; $InsertionOrderPreview = $InsertionOrderPreviewFactory->get_row($params); if ($InsertionOrderPreview == null) { die("Invalid InsertionOrderPreviewID"); } /* * Clone InsertionOrderPreview into InsertionOrder */ $InsertionOrderFactory = \_factory\InsertionOrder::get_instance(); $InsertionOrder = new \model\InsertionOrder(); if ($InsertionOrderPreview->InsertionOrderID != null) { $InsertionOrder->InsertionOrderID = $InsertionOrderPreview->InsertionOrderID; } $campaign_active = isset($InsertionOrderPreview->Deleted) && $InsertionOrderPreview->Deleted == 1 ? 0 : 1; $InsertionOrder->UserID = $InsertionOrderPreview->UserID; $InsertionOrder->Name = $InsertionOrderPreview->Name; $InsertionOrder->StartDate = $InsertionOrderPreview->StartDate; $InsertionOrder->EndDate = $InsertionOrderPreview->EndDate; $InsertionOrder->Customer = $InsertionOrderPreview->Customer; $InsertionOrder->CustomerID = $InsertionOrderPreview->CustomerID; $InsertionOrder->ImpressionsCounter = 0; $InsertionOrder->MaxImpressions = $InsertionOrderPreview->MaxImpressions; $InsertionOrder->CurrentSpend = 0; $InsertionOrder->MaxSpend = $InsertionOrderPreview->MaxSpend; $InsertionOrder->Active = $campaign_active; $InsertionOrder->DateUpdated = date("Y-m-d H:i:s"); $ad_campaign_id = $InsertionOrderFactory->saveInsertionOrder($InsertionOrder); $PmpDealPublisherWebsiteToInsertionOrderPreviewFactory = \_factory\PmpDealPublisherWebsiteToInsertionOrderPreview::get_instance(); $SspRtbChannelToInsertionOrderPreviewFactory = \_factory\SspRtbChannelToInsertionOrderPreview::get_instance(); $PmpDealPublisherWebsiteToInsertionOrderFactory = \_factory\PmpDealPublisherWebsiteToInsertionOrder::get_instance(); $SspRtbChannelToInsertionOrderFactory = \_factory\SspRtbChannelToInsertionOrder::get_instance(); /* * PMP DEALS */ // first delete the existing ones, then re-insert $PmpDealPublisherWebsiteToInsertionOrderFactory->deletePmpDealPublisherWebsiteToInsertionOrderByInsertionOrderID($ad_campaign_id); $params = array(); $params["InsertionOrderPreviewID"] = $ad_campaign_preview_id; $PmpDealPublisherWebsiteToInsertionOrderPreviewList = $PmpDealPublisherWebsiteToInsertionOrderPreviewFactory->get($params); foreach ($PmpDealPublisherWebsiteToInsertionOrderPreviewList as $PmpDealPublisherWebsiteToInsertionOrderPreview) { $PmpDealPublisherWebsiteToInsertionOrder = new \model\PmpDealPublisherWebsiteToInsertionOrder(); $PmpDealPublisherWebsiteToInsertionOrder->PublisherWebsiteID = $PmpDealPublisherWebsiteToInsertionOrderPreview->PublisherWebsiteID; $PmpDealPublisherWebsiteToInsertionOrder->PublisherWebsiteLocal = $PmpDealPublisherWebsiteToInsertionOrderPreview->PublisherWebsiteLocal; $PmpDealPublisherWebsiteToInsertionOrder->PublisherWebsiteDescription = $PmpDealPublisherWebsiteToInsertionOrderPreview->PublisherWebsiteDescription; $PmpDealPublisherWebsiteToInsertionOrder->InsertionOrderID = $ad_campaign_id; $PmpDealPublisherWebsiteToInsertionOrder->Enabled = $PmpDealPublisherWebsiteToInsertionOrderPreview->Enabled; $PmpDealPublisherWebsiteToInsertionOrderFactory->savePmpDealPublisherWebsiteToInsertionOrder($PmpDealPublisherWebsiteToInsertionOrder); } /* * SSP RTB CHANNELS */ // first delete the existing ones, then re-insert $SspRtbChannelToInsertionOrderFactory->deleteSspRtbChannelToInsertionOrderByInsertionOrderID($ad_campaign_id); $params = array(); $params["InsertionOrderPreviewID"] = $ad_campaign_preview_id; $SspRtbChannelToInsertionOrderPreviewList = $SspRtbChannelToInsertionOrderPreviewFactory->get($params); foreach ($SspRtbChannelToInsertionOrderPreviewList as $SspRtbChannelToInsertionOrderPreview) { $SspRtbChannelToInsertionOrder = new \model\SspRtbChannelToInsertionOrder(); $SspRtbChannelToInsertionOrder->SspPublisherChannelID = $SspRtbChannelToInsertionOrderPreview->SspPublisherChannelID; $SspRtbChannelToInsertionOrder->SspPublisherChannelDescription = $SspRtbChannelToInsertionOrderPreview->SspPublisherChannelDescription; $SspRtbChannelToInsertionOrder->SspExchange = $SspRtbChannelToInsertionOrderPreview->SspExchange; $SspRtbChannelToInsertionOrder->InsertionOrderID = $ad_campaign_id; $SspRtbChannelToInsertionOrder->Enabled = $SspRtbChannelToInsertionOrderPreview->Enabled; $SspRtbChannelToInsertionOrderFactory->saveSspRtbChannelToInsertionOrder($SspRtbChannelToInsertionOrder); } $InsertionOrderLineItemPreviewFactory = \_factory\InsertionOrderLineItemPreview::get_instance(); $params = array(); $params["InsertionOrderPreviewID"] = $ad_campaign_preview_id; /* * get all banners, not just active ones, we want to set deleted banners to inactive on production also * if they were flagged that way in preview mode * $params["Active"] = 1; */ $InsertionOrderLineItemPreviewList = $InsertionOrderLineItemPreviewFactory->get($params); $InsertionOrderLineItemFactory = \_factory\InsertionOrderLineItem::get_instance(); $InsertionOrderLineItemPreviewFactory = \_factory\InsertionOrderLineItemPreview::get_instance(); $InsertionOrderLineItemRestrictionsFactory = \_factory\InsertionOrderLineItemRestrictions::get_instance(); $InsertionOrderLineItemRestrictionsPreviewFactory = \_factory\InsertionOrderLineItemRestrictionsPreview::get_instance(); $InsertionOrderLineItemVideoRestrictionsFactory = \_factory\InsertionOrderLineItemVideoRestrictions::get_instance(); $InsertionOrderLineItemVideoRestrictionsPreviewFactory = \_factory\InsertionOrderLineItemVideoRestrictionsPreview::get_instance(); $PmpDealPublisherWebsiteToInsertionOrderLineItemPreviewFactory = \_factory\PmpDealPublisherWebsiteToInsertionOrderLineItemPreview::get_instance(); $SspRtbChannelToInsertionOrderLineItemPreviewFactory = \_factory\SspRtbChannelToInsertionOrderLineItemPreview::get_instance(); $PmpDealPublisherWebsiteToInsertionOrderLineItemFactory = \_factory\PmpDealPublisherWebsiteToInsertionOrderLineItem::get_instance(); $SspRtbChannelToInsertionOrderLineItemFactory = \_factory\SspRtbChannelToInsertionOrderLineItem::get_instance(); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $InsertionOrderLineItemDomainExclusionFactory = \_factory\InsertionOrderLineItemDomainExclusion::get_instance(); $InsertionOrderLineItemDomainExclusionPreviewFactory = \_factory\InsertionOrderLineItemDomainExclusionPreview::get_instance(); $InsertionOrderLineItemDomainExclusiveInclusionFactory = \_factory\InsertionOrderLineItemDomainExclusiveInclusion::get_instance(); $InsertionOrderLineItemDomainExclusiveInclusionPreviewFactory = \_factory\InsertionOrderLineItemDomainExclusiveInclusionPreview::get_instance(); foreach ($InsertionOrderLineItemPreviewList as $InsertionOrderLineItemPreview) { $banner_preview_id = $InsertionOrderLineItemPreview->InsertionOrderLineItemPreviewID; $Banner = new \model\InsertionOrderLineItem(); $Banner->InsertionOrderID = $ad_campaign_id; if ($InsertionOrderLineItemPreview->InsertionOrderLineItemID != null) { $Banner->InsertionOrderLineItemID = $InsertionOrderLineItemPreview->InsertionOrderLineItemID; } if ($campaign_active == 0) { $banner_active = 0; } else { $banner_active = $InsertionOrderLineItemPreview->Active; } $Banner->UserID = $InsertionOrderLineItemPreview->UserID; $Banner->Name = $InsertionOrderLineItemPreview->Name; $Banner->ImpressionType = $InsertionOrderLineItemPreview->ImpressionType; $Banner->StartDate = $InsertionOrderLineItemPreview->StartDate; $Banner->EndDate = $InsertionOrderLineItemPreview->EndDate; $Banner->IsMobile = $InsertionOrderLineItemPreview->IsMobile; $Banner->IABSize = $InsertionOrderLineItemPreview->IABSize; $Banner->Height = $InsertionOrderLineItemPreview->Height; $Banner->Width = $InsertionOrderLineItemPreview->Width; $Banner->Weight = $InsertionOrderLineItemPreview->Weight; $Banner->BidAmount = $InsertionOrderLineItemPreview->BidAmount; $Banner->AdTag = $InsertionOrderLineItemPreview->AdTag; $Banner->DeliveryType = $InsertionOrderLineItemPreview->DeliveryType; $Banner->LandingPageTLD = $InsertionOrderLineItemPreview->LandingPageTLD; $Banner->ImpressionsCounter = $InsertionOrderLineItemPreview->ImpressionsCounter; $Banner->BidsCounter = $InsertionOrderLineItemPreview->BidsCounter; $Banner->CurrentSpend = $InsertionOrderLineItemPreview->CurrentSpend; $Banner->Active = $banner_active; $Banner->DateCreated = date("Y-m-d H:i:s"); // if the banner was deleted and there is no corresponding production banner, don't save it if ($banner_active == 0 && $InsertionOrderLineItemPreview->InsertionOrderLineItemID == null) { continue; } $banner_id = $InsertionOrderLineItemFactory->saveInsertionOrderLineItem($Banner); // if the banner was deleted there's no reason to continue to copy it's properties here if ($banner_active == 0) { continue; } if ($Banner->ImpressionType == 'video') { /* * VIDEO RESTRICTIONS */ $params = array(); $params["InsertionOrderLineItemPreviewID"] = $banner_preview_id; $InsertionOrderLineItemVideoRestrictionsPreview = $InsertionOrderLineItemVideoRestrictionsPreviewFactory->get_row($params); if ($InsertionOrderLineItemVideoRestrictionsPreview != null) { $VideoRestrictions = new \model\InsertionOrderLineItemVideoRestrictions(); $VideoRestrictions->InsertionOrderLineItemID = $banner_id; $VideoRestrictions->GeoCountry = $InsertionOrderLineItemVideoRestrictionsPreview->GeoCountry; $VideoRestrictions->GeoState = $InsertionOrderLineItemVideoRestrictionsPreview->GeoState; $VideoRestrictions->GeoCity = $InsertionOrderLineItemVideoRestrictionsPreview->GeoCity; $VideoRestrictions->MimesCommaSeparated = $InsertionOrderLineItemVideoRestrictionsPreview->MimesCommaSeparated; $VideoRestrictions->MinDuration = $InsertionOrderLineItemVideoRestrictionsPreview->MinDuration; $VideoRestrictions->MaxDuration = $InsertionOrderLineItemVideoRestrictionsPreview->MaxDuration; $VideoRestrictions->ApisSupportedCommaSeparated = $InsertionOrderLineItemVideoRestrictionsPreview->ApisSupportedCommaSeparated; $VideoRestrictions->ProtocolsCommaSeparated = $InsertionOrderLineItemVideoRestrictionsPreview->ProtocolsCommaSeparated; $VideoRestrictions->DeliveryCommaSeparated = $InsertionOrderLineItemVideoRestrictionsPreview->DeliveryCommaSeparated; $VideoRestrictions->PlaybackCommaSeparated = $InsertionOrderLineItemVideoRestrictionsPreview->PlaybackCommaSeparated; $VideoRestrictions->StartDelay = $InsertionOrderLineItemVideoRestrictionsPreview->StartDelay; $VideoRestrictions->Linearity = $InsertionOrderLineItemVideoRestrictionsPreview->Linearity; $VideoRestrictions->FoldPos = $InsertionOrderLineItemVideoRestrictionsPreview->FoldPos; $VideoRestrictions->MinHeight = $InsertionOrderLineItemVideoRestrictionsPreview->MinHeight; $VideoRestrictions->MinWidth = $InsertionOrderLineItemVideoRestrictionsPreview->MinWidth; $VideoRestrictions->Secure = $InsertionOrderLineItemVideoRestrictionsPreview->Secure; $VideoRestrictions->Optout = $InsertionOrderLineItemVideoRestrictionsPreview->Optout; $VideoRestrictions->Vertical = $InsertionOrderLineItemVideoRestrictionsPreview->Vertical; $VideoRestrictions->DateCreated = date("Y-m-d H:i:s"); $VideoRestrictions->DateUpdated = date("Y-m-d H:i:s"); $InsertionOrderLineItemVideoRestrictionsFactory->saveInsertionOrderLineItemVideoRestrictions($VideoRestrictions); } } else { /* * BANNER RESTRICTIONS */ $params = array(); $params["InsertionOrderLineItemPreviewID"] = $banner_preview_id; $InsertionOrderLineItemRestrictionsPreview = $InsertionOrderLineItemRestrictionsPreviewFactory->get_row($params); if ($InsertionOrderLineItemRestrictionsPreview != null) { $BannerRestrictions = new \model\InsertionOrderLineItemRestrictions(); $BannerRestrictions->InsertionOrderLineItemID = $banner_id; $BannerRestrictions->GeoCountry = $InsertionOrderLineItemRestrictionsPreview->GeoCountry; $BannerRestrictions->GeoState = $InsertionOrderLineItemRestrictionsPreview->GeoState; $BannerRestrictions->GeoCity = $InsertionOrderLineItemRestrictionsPreview->GeoCity; $BannerRestrictions->AdTagType = $InsertionOrderLineItemRestrictionsPreview->AdTagType; $BannerRestrictions->AdPositionMinLeft = $InsertionOrderLineItemRestrictionsPreview->AdPositionMinLeft; $BannerRestrictions->AdPositionMaxLeft = $InsertionOrderLineItemRestrictionsPreview->AdPositionMaxLeft; $BannerRestrictions->AdPositionMinTop = $InsertionOrderLineItemRestrictionsPreview->AdPositionMinTop; $BannerRestrictions->AdPositionMaxTop = $InsertionOrderLineItemRestrictionsPreview->AdPositionMaxTop; $BannerRestrictions->FoldPos = $InsertionOrderLineItemRestrictionsPreview->FoldPos; $BannerRestrictions->Freq = $InsertionOrderLineItemRestrictionsPreview->Freq; $BannerRestrictions->Timezone = $InsertionOrderLineItemRestrictionsPreview->Timezone; $BannerRestrictions->InIframe = $InsertionOrderLineItemRestrictionsPreview->InIframe; $BannerRestrictions->MinScreenResolutionWidth = $InsertionOrderLineItemRestrictionsPreview->MinScreenResolutionWidth; $BannerRestrictions->MaxScreenResolutionWidth = $InsertionOrderLineItemRestrictionsPreview->MaxScreenResolutionWidth; $BannerRestrictions->MinScreenResolutionHeight = $InsertionOrderLineItemRestrictionsPreview->MinScreenResolutionHeight; $BannerRestrictions->MaxScreenResolutionHeight = $InsertionOrderLineItemRestrictionsPreview->MaxScreenResolutionHeight; $BannerRestrictions->HttpLanguage = $InsertionOrderLineItemRestrictionsPreview->HttpLanguage; $BannerRestrictions->BrowserUserAgentGrep = $InsertionOrderLineItemRestrictionsPreview->BrowserUserAgentGrep; $BannerRestrictions->Secure = $InsertionOrderLineItemRestrictionsPreview->Secure; $BannerRestrictions->Optout = $InsertionOrderLineItemRestrictionsPreview->Optout; $BannerRestrictions->Vertical = $InsertionOrderLineItemRestrictionsPreview->Vertical; $BannerRestrictions->DateCreated = date("Y-m-d H:i:s"); $BannerRestrictions->DateUpdated = date("Y-m-d H:i:s"); $InsertionOrderLineItemRestrictionsFactory->saveInsertionOrderLineItemRestrictions($BannerRestrictions); } } /* * PMP DEALS */ // first delete the existing ones, then re-insert $PmpDealPublisherWebsiteToInsertionOrderLineItemFactory->deletePmpDealPublisherWebsiteToInsertionOrderLineItemByInsertionOrderLineItemID($banner_id); $params = array(); $params["InsertionOrderLineItemPreviewID"] = $banner_preview_id; $PmpDealPublisherWebsiteToInsertionOrderLineItemPreviewList = $PmpDealPublisherWebsiteToInsertionOrderLineItemPreviewFactory->get($params); foreach ($PmpDealPublisherWebsiteToInsertionOrderLineItemPreviewList as $PmpDealPublisherWebsiteToInsertionOrderLineItemPreview) { $PmpDealPublisherWebsiteToInsertionOrderLineItem = new \model\PmpDealPublisherWebsiteToInsertionOrderLineItem(); $PmpDealPublisherWebsiteToInsertionOrderLineItem->PublisherWebsiteID = $PmpDealPublisherWebsiteToInsertionOrderLineItemPreview->PublisherWebsiteID; $PmpDealPublisherWebsiteToInsertionOrderLineItem->PublisherWebsiteLocal = $PmpDealPublisherWebsiteToInsertionOrderLineItemPreview->PublisherWebsiteLocal; $PmpDealPublisherWebsiteToInsertionOrderLineItem->PublisherWebsiteDescription = $PmpDealPublisherWebsiteToInsertionOrderLineItemPreview->PublisherWebsiteDescription; $PmpDealPublisherWebsiteToInsertionOrderLineItem->InsertionOrderLineItemID = $banner_id; $PmpDealPublisherWebsiteToInsertionOrderLineItem->Enabled = $PmpDealPublisherWebsiteToInsertionOrderLineItemPreview->Enabled; $PmpDealPublisherWebsiteToInsertionOrderLineItemFactory->savePmpDealPublisherWebsiteToInsertionOrderLineItem($PmpDealPublisherWebsiteToInsertionOrderLineItem); } /* * SSP RTB CHANNELS */ // first delete the existing ones, then re-insert $SspRtbChannelToInsertionOrderLineItemFactory->deleteSspRtbChannelToInsertionOrderLineItemByInsertionOrderLineItemID($banner_id); $params = array(); $params["InsertionOrderLineItemPreviewID"] = $banner_preview_id; $SspRtbChannelToInsertionOrderLineItemPreviewList = $SspRtbChannelToInsertionOrderLineItemPreviewFactory->get($params); foreach ($SspRtbChannelToInsertionOrderLineItemPreviewList as $SspRtbChannelToInsertionOrderLineItemPreview) { $SspRtbChannelToInsertionOrderLineItem = new \model\SspRtbChannelToInsertionOrderLineItem(); $SspRtbChannelToInsertionOrderLineItem->SspPublisherChannelID = $SspRtbChannelToInsertionOrderLineItemPreview->SspPublisherChannelID; $SspRtbChannelToInsertionOrderLineItem->SspPublisherChannelDescription = $SspRtbChannelToInsertionOrderLineItemPreview->SspPublisherChannelDescription; $SspRtbChannelToInsertionOrderLineItem->SspExchange = $SspRtbChannelToInsertionOrderLineItemPreview->SspExchange; $SspRtbChannelToInsertionOrderLineItem->InsertionOrderLineItemID = $banner_id; $SspRtbChannelToInsertionOrderLineItem->Enabled = $SspRtbChannelToInsertionOrderLineItemPreview->Enabled; $SspRtbChannelToInsertionOrderLineItemFactory->saveSspRtbChannelToInsertionOrderLineItem($SspRtbChannelToInsertionOrderLineItem); } /* * DOMAIN EXCLUSIONS */ // first delete the existing ones, then re-insert $InsertionOrderLineItemDomainExclusionFactory->deleteInsertionOrderLineItemDomainExclusionByBannerID($banner_id); $params = array(); $params["InsertionOrderLineItemPreviewID"] = $banner_preview_id; $InsertionOrderLineItemDomainExclusionPreviewList = $InsertionOrderLineItemDomainExclusionPreviewFactory->get($params); foreach ($InsertionOrderLineItemDomainExclusionPreviewList as $InsertionOrderLineItemDomainExclusionPreview) { $BannerDomainExclusion = new \model\InsertionOrderLineItemDomainExclusion(); $BannerDomainExclusion->InsertionOrderLineItemID = $banner_id; $BannerDomainExclusion->ExclusionType = $InsertionOrderLineItemDomainExclusionPreview->ExclusionType; $BannerDomainExclusion->DomainName = $InsertionOrderLineItemDomainExclusionPreview->DomainName; $BannerDomainExclusion->DateCreated = date("Y-m-d H:i:s"); $BannerDomainExclusion->DateUpdated = date("Y-m-d H:i:s"); $InsertionOrderLineItemDomainExclusionFactory->saveInsertionOrderLineItemDomainExclusion($BannerDomainExclusion); } /* * DOMAIN EXCLUSIVE INCLUSIONS */ // first delete the existing ones, then re-insert $InsertionOrderLineItemDomainExclusiveInclusionFactory->deleteInsertionOrderLineItemDomainExclusiveInclusionByBannerID($banner_id); $params = array(); $params["InsertionOrderLineItemPreviewID"] = $banner_preview_id; $InsertionOrderLineItemDomainExclusiveInclusionPreviewList = $InsertionOrderLineItemDomainExclusiveInclusionPreviewFactory->get($params); foreach ($InsertionOrderLineItemDomainExclusiveInclusionPreviewList as $InsertionOrderLineItemDomainExclusiveInclusionPreview) { $BannerDomainExclusiveInclusion = new \model\InsertionOrderLineItemDomainExclusiveInclusion(); $BannerDomainExclusiveInclusion->InsertionOrderLineItemID = $banner_id; $BannerDomainExclusiveInclusion->InclusionType = $InsertionOrderLineItemDomainExclusiveInclusionPreview->InclusionType; $BannerDomainExclusiveInclusion->DomainName = $InsertionOrderLineItemDomainExclusiveInclusionPreview->DomainName; $BannerDomainExclusiveInclusion->DateCreated = date("Y-m-d H:i:s"); $BannerDomainExclusiveInclusion->DateUpdated = date("Y-m-d H:i:s"); $InsertionOrderLineItemDomainExclusiveInclusionFactory->saveInsertionOrderLineItemDomainExclusiveInclusion($BannerDomainExclusiveInclusion); } } return $ad_campaign_id; }
private function add_ad_zone_request_params($config, &$banner_request, $banner_request_id) { $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $params = array(); $params["PublisherAdZoneID"] = $banner_request_id; $params["AdStatus"] = 1; $PublisherAdZone = $PublisherAdZoneFactory->get_row_cached($config, $params); $banner_request["PublisherAdZoneID"] = $PublisherAdZone->PublisherAdZoneID; $banner_request["AdName"] = $PublisherAdZone->AdName; $banner_request["bidfloor"] = sprintf("%1.4f", $PublisherAdZone->FloorPrice); $banner_request["website_id"] = $PublisherAdZone->PublisherWebsiteID; return $PublisherAdZone; }
/** * Show confirmation and process the deleting of domains. * @return Ambigous <\Zend\Http\Response, \Zend\Stdlib\ResponseInterface>|multitype:Ambigous <NULL, string> \DashboardManager\model\PublisherWebsite */ public function deletedomainAction() { // Initialize things. $error_message = null; $initialized = $this->initialize(); if ($initialized !== true) { return $initialized; } $request = $this->getRequest(); $PublisherWebsiteFactory = \_factory\PublisherWebsite::get_instance(); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $deleteCheckResultObj = new \model\PublisherWebsite(); $success = false; // Check to make sure the value is valid to begin with. $PublisherWebsiteID = intval($this->params()->fromRoute('param1', 0)); if ($PublisherWebsiteID > 0) { $parameters = array("PublisherWebsiteID" => $PublisherWebsiteID); $deleteCheckResultObj = $PublisherWebsiteFactory->get_row_object($parameters); //if (intval($deleteCheckResultObj->PublisherWebsiteID) == $PublisherWebsiteID): if ($request->isPost()) { if ($request->getPost('del', 'No') == 'Yes') { // Is this user allowed to delete this entry? if ($this->is_admin || $deleteCheckResultObj->DomainOwnerID == $this->PublisherInfoID) { if (intval($PublisherWebsiteFactory->delete_domain($PublisherWebsiteID)) > -1) { $params = array(); $params['PublisherWebsiteID'] = intval($PublisherWebsiteID); $PublisherAdZoneList = $PublisherAdZoneFactory->get($params); foreach ($PublisherAdZoneList as $PublisherAdZone) { $PublisherAdZoneFactory->delete_zone(intval($PublisherAdZone->PublisherAdZoneID)); } // Delete success! Return to publisher. $success = true; } else { // Something blew up. $error_message = "Unable to delete the entry. Please contact customer service."; } } else { // User is either not the owner of the entry, or is not an admin. $error_message = "You do not have permission to delete this entry."; } } else { // Cancel. } } else { // Valid entry, show confirmation. } //else: //$error_message = "The specified domain entry ID was not found."; //return $this->redirect()->toRoute('publisher'); //endif; } else { $error_message = "An invalid domain entry ID was provided."; } $data = array('success' => $success, 'data' => array('error_msg' => $error_message)); return $this->getResponse()->setContent(json_encode($data)); }
public static function cloneAdCampaignPreviewIntoAdCampaign($ad_campaign_preview_id, $auth, $config) { if ($ad_campaign_preview_id === null) { return; } $AdCampaignPreviewFactory = \_factory\AdCampaignPreview::get_instance(); $params = array(); $params["AdCampaignPreviewID"] = $ad_campaign_preview_id; if (strpos($auth->getPrimaryRole(), $config['roles']['admin']) === false) { die("You do not have permission to access this page"); } $params["Active"] = 1; $AdCampaignPreview = $AdCampaignPreviewFactory->get_row($params); if ($AdCampaignPreview == null) { die("Invalid AdCampaignPreview ID"); } /* * Clone AdCampaignPreview into AdCampaign */ $AdCampaignFactory = \_factory\AdCampaign::get_instance(); $AdCampaign = new \model\AdCampaign(); if ($AdCampaignPreview->AdCampaignID != null) { $AdCampaign->AdCampaignID = $AdCampaignPreview->AdCampaignID; } $campaign_active = isset($AdCampaignPreview->Deleted) && $AdCampaignPreview->Deleted == 1 ? 0 : 1; $AdCampaign->UserID = $AdCampaignPreview->UserID; $AdCampaign->Name = $AdCampaignPreview->Name; $AdCampaign->StartDate = $AdCampaignPreview->StartDate; $AdCampaign->EndDate = $AdCampaignPreview->EndDate; $AdCampaign->Customer = $AdCampaignPreview->Customer; $AdCampaign->CustomerID = $AdCampaignPreview->CustomerID; $AdCampaign->ImpressionsCounter = 0; $AdCampaign->MaxImpressions = $AdCampaignPreview->MaxImpressions; $AdCampaign->CurrentSpend = 0; $AdCampaign->MaxSpend = $AdCampaignPreview->MaxSpend; $AdCampaign->Active = $campaign_active; $AdCampaign->DateUpdated = date("Y-m-d H:i:s"); $ad_campaign_id = $AdCampaignFactory->saveAdCampaign($AdCampaign); $AdCampaignBannerPreviewFactory = \_factory\AdCampaignBannerPreview::get_instance(); $params = array(); $params["AdCampaignPreviewID"] = $ad_campaign_preview_id; /* * get all banners, not just active ones, we want to set deleted banners to inactive on production also * if they were flagged that way in preview mode * $params["Active"] = 1; */ $AdCampaignBannerPreviewList = $AdCampaignBannerPreviewFactory->get($params); $AdCampaignBannerFactory = \_factory\AdCampaignBanner::get_instance(); $AdCampaignBannerPreviewFactory = \_factory\AdCampaignBannerPreview::get_instance(); $AdCampaignBannerRestrictionsFactory = \_factory\AdCampaignBannerRestrictions::get_instance(); $AdCampaignBannerRestrictionsPreviewFactory = \_factory\AdCampaignBannerRestrictionsPreview::get_instance(); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $LinkedBannerToAdZoneFactory = \_factory\LinkedBannerToAdZone::get_instance(); $LinkedBannerToAdZonePreviewFactory = \_factory\LinkedBannerToAdZonePreview::get_instance(); $AdCampaignBannerDomainExclusionFactory = \_factory\AdCampaignBannerDomainExclusion::get_instance(); $AdCampaignBannerDomainExclusionPreviewFactory = \_factory\AdCampaignBannerDomainExclusionPreview::get_instance(); $AdCampaignBannerDomainExclusiveInclusionFactory = \_factory\AdCampaignBannerDomainExclusiveInclusion::get_instance(); $AdCampaignBannerDomainExclusiveInclusionPreviewFactory = \_factory\AdCampaignBannerDomainExclusiveInclusionPreview::get_instance(); foreach ($AdCampaignBannerPreviewList as $AdCampaignBannerPreview) { $banner_preview_id = $AdCampaignBannerPreview->AdCampaignBannerPreviewID; $Banner = new \model\AdCampaignBanner(); $Banner->AdCampaignID = $ad_campaign_id; if ($AdCampaignBannerPreview->AdCampaignBannerID != null) { $Banner->AdCampaignBannerID = $AdCampaignBannerPreview->AdCampaignBannerID; } if ($campaign_active == 0) { $banner_active = 0; } else { $banner_active = $AdCampaignBannerPreview->Active; } $Banner->UserID = $AdCampaignBannerPreview->UserID; $Banner->Name = $AdCampaignBannerPreview->Name; $Banner->StartDate = $AdCampaignBannerPreview->StartDate; $Banner->EndDate = $AdCampaignBannerPreview->EndDate; $Banner->AdCampaignTypeID = $AdCampaignBannerPreview->AdCampaignTypeID; $Banner->IsMobile = $AdCampaignBannerPreview->IsMobile; $Banner->IABSize = $AdCampaignBannerPreview->IABSize; $Banner->Height = $AdCampaignBannerPreview->Height; $Banner->Width = $AdCampaignBannerPreview->Width; $Banner->Weight = $AdCampaignBannerPreview->Weight; $Banner->BidAmount = $AdCampaignBannerPreview->BidAmount; $Banner->AdTag = $AdCampaignBannerPreview->AdTag; $Banner->DeliveryType = $AdCampaignBannerPreview->DeliveryType; $Banner->LandingPageTLD = $AdCampaignBannerPreview->LandingPageTLD; $Banner->ImpressionsCounter = $AdCampaignBannerPreview->ImpressionsCounter; $Banner->BidsCounter = $AdCampaignBannerPreview->BidsCounter; $Banner->CurrentSpend = $AdCampaignBannerPreview->CurrentSpend; $Banner->Active = $banner_active; $Banner->DateCreated = date("Y-m-d H:i:s"); // if the banner was deleted and there is no corresponding production banner, don't save it if ($banner_active == 0 && $AdCampaignBannerPreview->AdCampaignBannerID == null) { continue; } $banner_id = $AdCampaignBannerFactory->saveAdCampaignBanner($Banner); // if the banner was deleted there's no reason to continue to copy it's properties here if ($banner_active == 0) { continue; } /* * BANNER RESTRICTIONS */ $params = array(); $params["AdCampaignBannerPreviewID"] = $banner_preview_id; $AdCampaignBannerRestrictionsPreview = $AdCampaignBannerRestrictionsPreviewFactory->get_row($params); if ($AdCampaignBannerRestrictionsPreview != null) { $BannerRestrictions = new \model\AdCampaignBannerRestrictions(); $BannerRestrictions->AdCampaignBannerID = $banner_id; $BannerRestrictions->GeoCountry = $AdCampaignBannerRestrictionsPreview->GeoCountry; $BannerRestrictions->GeoState = $AdCampaignBannerRestrictionsPreview->GeoState; $BannerRestrictions->GeoCity = $AdCampaignBannerRestrictionsPreview->GeoCity; $BannerRestrictions->AdTagType = $AdCampaignBannerRestrictionsPreview->AdTagType; $BannerRestrictions->AdPositionMinLeft = $AdCampaignBannerRestrictionsPreview->AdPositionMinLeft; $BannerRestrictions->AdPositionMaxLeft = $AdCampaignBannerRestrictionsPreview->AdPositionMaxLeft; $BannerRestrictions->AdPositionMinTop = $AdCampaignBannerRestrictionsPreview->AdPositionMinTop; $BannerRestrictions->AdPositionMaxTop = $AdCampaignBannerRestrictionsPreview->AdPositionMaxTop; $BannerRestrictions->FoldPos = $AdCampaignBannerRestrictionsPreview->FoldPos; $BannerRestrictions->Freq = $AdCampaignBannerRestrictionsPreview->Freq; $BannerRestrictions->Timezone = $AdCampaignBannerRestrictionsPreview->Timezone; $BannerRestrictions->InIframe = $AdCampaignBannerRestrictionsPreview->InIframe; $BannerRestrictions->InMultipleNestedIframes = $AdCampaignBannerRestrictionsPreview->InMultipleNestedIframes; $BannerRestrictions->MinScreenResolutionWidth = $AdCampaignBannerRestrictionsPreview->MinScreenResolutionWidth; $BannerRestrictions->MaxScreenResolutionWidth = $AdCampaignBannerRestrictionsPreview->MaxScreenResolutionWidth; $BannerRestrictions->MinScreenResolutionHeight = $AdCampaignBannerRestrictionsPreview->MinScreenResolutionHeight; $BannerRestrictions->MaxScreenResolutionHeight = $AdCampaignBannerRestrictionsPreview->MaxScreenResolutionHeight; $BannerRestrictions->HttpLanguage = $AdCampaignBannerRestrictionsPreview->HttpLanguage; $BannerRestrictions->BrowserUserAgentGrep = $AdCampaignBannerRestrictionsPreview->BrowserUserAgentGrep; $BannerRestrictions->CookieGrep = $AdCampaignBannerRestrictionsPreview->CookieGrep; $BannerRestrictions->PmpEnable = $AdCampaignBannerRestrictionsPreview->PmpEnable; $BannerRestrictions->Secure = $AdCampaignBannerRestrictionsPreview->Secure; $BannerRestrictions->Optout = $AdCampaignBannerRestrictionsPreview->Optout; $BannerRestrictions->Vertical = $AdCampaignBannerRestrictionsPreview->Vertical; $BannerRestrictions->DateCreated = date("Y-m-d H:i:s"); $BannerRestrictions->DateUpdated = date("Y-m-d H:i:s"); $AdCampaignBannerRestrictionsFactory->saveAdCampaignBannerRestrictions($BannerRestrictions); } /* * LINKED BANNER TO AD ZONE */ // first delete the existing ones, then re-insert $LinkedBannerToAdZoneFactory->deleteLinkedBannerToAdZone($banner_id); $params = array(); $params["AdCampaignBannerPreviewID"] = $banner_preview_id; $LinkedBannerToAdZonePreviewList = $LinkedBannerToAdZonePreviewFactory->get($params); foreach ($LinkedBannerToAdZonePreviewList as $LinkedBannerToAdZonePreview) { $LinkedBannerToAdZone = new \model\LinkedBannerToAdZone(); $LinkedBannerToAdZone->AdCampaignBannerID = $banner_id; $LinkedBannerToAdZone->PublisherAdZoneID = $LinkedBannerToAdZonePreview->PublisherAdZoneID; $LinkedBannerToAdZone->Weight = $LinkedBannerToAdZonePreview->Weight; $LinkedBannerToAdZone->DateCreated = date("Y-m-d H:i:s"); $LinkedBannerToAdZone->DateUpdated = date("Y-m-d H:i:s"); $LinkedBannerToAdZoneFactory->saveLinkedBannerToAdZone($LinkedBannerToAdZone); $PublisherAdZoneFactory->updatePublisherAdZonePublisherAdZoneType($LinkedBannerToAdZone->PublisherAdZoneID, AD_TYPE_CONTRACT); } /* * DOMAIN EXCLUSIONS */ // first delete the existing ones, then re-insert $AdCampaignBannerDomainExclusionFactory->deleteAdCampaignBannerDomainExclusionByBannerID($banner_id); $params = array(); $params["AdCampaignBannerPreviewID"] = $banner_preview_id; $AdCampaignBannerDomainExclusionPreviewList = $AdCampaignBannerDomainExclusionPreviewFactory->get($params); foreach ($AdCampaignBannerDomainExclusionPreviewList as $AdCampaignBannerDomainExclusionPreview) { $BannerDomainExclusion = new \model\AdCampaignBannerDomainExclusion(); $BannerDomainExclusion->AdCampaignBannerID = $banner_id; $BannerDomainExclusion->ExclusionType = $AdCampaignBannerDomainExclusionPreview->ExclusionType; $BannerDomainExclusion->DomainName = $AdCampaignBannerDomainExclusionPreview->DomainName; $BannerDomainExclusion->DateCreated = date("Y-m-d H:i:s"); $BannerDomainExclusion->DateUpdated = date("Y-m-d H:i:s"); $AdCampaignBannerDomainExclusionFactory->saveAdCampaignBannerDomainExclusion($BannerDomainExclusion); } /* * DOMAIN EXCLUSIVE INCLUSIONS */ // first delete the existing ones, then re-insert $AdCampaignBannerDomainExclusiveInclusionFactory->deleteAdCampaignBannerDomainExclusiveInclusionByBannerID($banner_id); $params = array(); $params["AdCampaignBannerPreviewID"] = $banner_preview_id; $AdCampaignBannerDomainExclusiveInclusionPreviewList = $AdCampaignBannerDomainExclusiveInclusionPreviewFactory->get($params); foreach ($AdCampaignBannerDomainExclusiveInclusionPreviewList as $AdCampaignBannerDomainExclusiveInclusionPreview) { $BannerDomainExclusiveInclusion = new \model\AdCampaignBannerDomainExclusiveInclusion(); $BannerDomainExclusiveInclusion->AdCampaignBannerID = $banner_id; $BannerDomainExclusiveInclusion->InclusionType = $AdCampaignBannerDomainExclusiveInclusionPreview->InclusionType; $BannerDomainExclusiveInclusion->DomainName = $AdCampaignBannerDomainExclusiveInclusionPreview->DomainName; $BannerDomainExclusiveInclusion->DateCreated = date("Y-m-d H:i:s"); $BannerDomainExclusiveInclusion->DateUpdated = date("Y-m-d H:i:s"); $AdCampaignBannerDomainExclusiveInclusionFactory->saveAdCampaignBannerDomainExclusiveInclusion($BannerDomainExclusiveInclusion); } } }
public function approvedeniedAction() { $initialized = $this->initialize(); if ($initialized !== true) { return $initialized; } if (!$this->auth->hasIdentity()) { return $this->redirect()->toRoute('login'); } elseif (!$this->is_super_admin && !$this->is_domain_admin) { return $this->redirect()->toRoute('publisher'); } $success = false; $msg = ""; $PublisherWebsite = new \model\PublisherWebsite(); $PublisherWebsiteFactory = \_factory\PublisherWebsite::get_instance(); $PublisherInfoFactory = \_factory\PublisherInfo::get_instance(); $request = $this->getRequest(); if ($request->isPost()) { $q = $request->getPost('q'); $website_ids = $request->getPost('website_ids'); $denied_desciption = $request->getPost('description'); $website_arry = explode(",", $website_ids); foreach ($website_arry as $website_id) { if ($website_id == "d") { continue; } $website_id = intval($website_id); $params = array(); $params["PublisherWebsiteID"] = $website_id; $PublisherWebsite = $PublisherWebsiteFactory->get_row_object($params); $params = array(); $params["PublisherInfoID"] = $PublisherWebsite->DomainOwnerID; if ($this->is_domain_admin == true) { if (!\util\AuthHelper::domain_user_authorized_publisher($this->auth->getUserID(), $PublisherWebsite->DomainOwnerID)) { continue; } } $publisher_obj = $PublisherInfoFactory->get_row_object($params); $PublisherWebsite->DateUpdated = date("Y-m-d H:i:s"); if ($q == 0) { $PublisherWebsite->AutoApprove = 0; $PublisherWebsite->ApprovalFlag = 2; $PublisherWebsite->Description = $denied_desciption; $PublisherWebsiteFactory->save_domain($PublisherWebsite); $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $params = array(); $params["PublisherWebsiteID"] = $website_id; $PublisherAdZoneList = $PublisherAdZoneFactory->get($params); foreach ($PublisherAdZoneList as $PublisherAdZone) { $PublisherAdZoneFactory->updatePublisherAdZonePublisherAdZoneStatus($PublisherAdZone->PublisherAdZoneID, 2); } $subject = "Website Denied " . $PublisherWebsite->WebDomain; $message = '<b>Website Denied</b> : '; $message = $message . " " . $PublisherWebsite->WebDomain; $message = $message . "<p>" . $denied_desciption . "</p>"; $this->batchmailAction($publisher_obj->Email, $subject, $message); $msg = "Websites denied successfully. And batch mails goes to publisher."; } elseif ($q == 1) { $PublisherWebsite->ApprovalFlag = 1; $PublisherWebsiteFactory->save_domain($PublisherWebsite); $subject = "Website Approved " . $PublisherWebsite->WebDomain; $message = '<b>Website Approved</b> : '; $message = $message . " " . $PublisherWebsite->WebDomain; $this->batchmailAction($publisher_obj->Email, $subject, $message); $msg = "Websites approved successfully. And batch mails goes to publisher."; } } $success = true; } $data = array('success' => $success, 'data' => array('msg' => $msg)); $this->setJsonHeader(); return $this->getResponse()->setContent(json_encode($data)); }
public function deleteLinkedBannerToAdZone($banner_id) { /* * First go through each publisherzone and make sure that * each one no longer is selected for contract */ $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance(); $LinkedBannerToAdZoneFactory = \_factory\LinkedBannerToAdZone::get_instance(); $params = array(); $params["AdCampaignBannerID"] = $banner_id; $LinkedBannerToAdZoneList = $LinkedBannerToAdZoneFactory->get($params); if ($LinkedBannerToAdZoneList != null) { foreach ($LinkedBannerToAdZoneList as $LinkedBannerToAdZone) { $params = array(); $params["PublisherAdZoneID"] = $LinkedBannerToAdZone->PublisherAdZoneID; $LinkedBannerToAdZoneByPublisherAdZoneList = $LinkedBannerToAdZoneFactory->get($params); if (count($LinkedBannerToAdZoneByPublisherAdZoneList) <= 1) { $PublisherAdZoneFactory->updatePublisherAdZonePublisherAdZoneType($LinkedBannerToAdZone->PublisherAdZoneID, AD_TYPE_ANY_REMNANT); } } } $this->delete(array('AdCampaignBannerID' => $banner_id)); }