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);
     }
 }
Exemple #3
0
 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;
 }
Exemple #4
0
 /**
  *
  * @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));
 }
Exemple #5
0
 /**
  *
  * @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));
 }
Exemple #6
0
 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));
 }
Exemple #7
0
 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;
 }
Exemple #8
0
 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));
 }
Exemple #10
0
 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);
         }
     }
 }
Exemple #11
0
 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));
 }