/** * * @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)); }
/** * * @return \Zend\View\Model\ViewModel */ public function editlineitemAction() { $id = $this->getEvent()->getRouteMatch()->getParam('param1'); if ($id == null) { die("Invalid Banner ID"); } $initialized = $this->initialize(); if ($initialized !== true) { return $initialized; } $is_preview = $this->getRequest()->getQuery('ispreview'); // verify if ($is_preview == "true") { $is_preview = \transformation\TransformPreview::doesPreviewBannerExist($id, $this->auth); } $banner_preview_id = ""; if ($is_preview == true) { // ACL PREVIEW PERMISSIONS CHECK transformation\CheckPermissions::checkEditPermissionInsertionOrderLineItemPreview($id, $this->auth, $this->config_handle); $InsertionOrderLineItemVideoRestrictionsPreviewFactory = \_factory\InsertionOrderLineItemVideoRestrictionsPreview::get_instance(); $params = array(); $params["InsertionOrderLineItemPreviewID"] = $id; $InsertionOrderLineItemVideoRestrictions = $InsertionOrderLineItemVideoRestrictionsPreviewFactory->get_row($params); $InsertionOrderLineItemPreviewFactory = \_factory\InsertionOrderLineItemPreview::get_instance(); $params = array(); $params["Active"] = 1; $params["InsertionOrderLineItemPreviewID"] = $id; $banner_preview_id = $id; $InsertionOrderLineItem = $InsertionOrderLineItemPreviewFactory->get_row($params); $PmpDealPublisherWebsiteToInsertionOrderLineItemPreviewFactory = \_factory\PmpDealPublisherWebsiteToInsertionOrderLineItemPreview::get_instance(); $params = array(); $params["InsertionOrderLineItemPreviewID"] = $banner_preview_id; $PmpDealPublisherWebsiteToInsertionOrderLineItemList = $PmpDealPublisherWebsiteToInsertionOrderLineItemPreviewFactory->get($params); $SspRtbChannelToInsertionOrderLineItemPreviewFactory = \_factory\SspRtbChannelToInsertionOrderLineItemPreview::get_instance(); $params = array(); $params["InsertionOrderLineItemPreviewID"] = $banner_preview_id; $SspRtbChannelToInsertionOrderLineItemList = $SspRtbChannelToInsertionOrderLineItemPreviewFactory->get($params); } else { // ACL PERMISSIONS CHECK transformation\CheckPermissions::checkEditPermissionInsertionOrderLineItem($id, $this->auth, $this->config_handle); $InsertionOrderLineItemVideoRestrictionsFactory = \_factory\InsertionOrderLineItemVideoRestrictions::get_instance(); $params = array(); $params["InsertionOrderLineItemID"] = $id; $InsertionOrderLineItemVideoRestrictions = $InsertionOrderLineItemVideoRestrictionsFactory->get_row($params); $InsertionOrderLineItemFactory = \_factory\InsertionOrderLineItem::get_instance(); $params = array(); $params["Active"] = 1; $params["InsertionOrderLineItemID"] = $id; $InsertionOrderLineItem = $InsertionOrderLineItemFactory->get_row($params); $PmpDealPublisherWebsiteToInsertionOrderLineItemFactory = \_factory\PmpDealPublisherWebsiteToInsertionOrderLineItem::get_instance(); $params = array(); $params["InsertionOrderLineItemID"] = $id; $PmpDealPublisherWebsiteToInsertionOrderLineItemList = $PmpDealPublisherWebsiteToInsertionOrderLineItemFactory->get($params); $SspRtbChannelToInsertionOrderLineItemFactory = \_factory\SspRtbChannelToInsertionOrderLineItem::get_instance(); $params = array(); $params["InsertionOrderLineItemID"] = $id; $SspRtbChannelToInsertionOrderLineItemList = $SspRtbChannelToInsertionOrderLineItemFactory->get($params); } if ($InsertionOrderLineItem == null) { die("Invalid {$InsertionOrderLineItem} ID"); } $campaignid = isset($InsertionOrderLineItem->InsertionOrderID) ? $InsertionOrderLineItem->InsertionOrderID : ""; $bannerid = isset($InsertionOrderLineItem->InsertionOrderLineItemID) ? $InsertionOrderLineItem->InsertionOrderLineItemID : ""; $campaignpreviewid = isset($InsertionOrderLineItem->InsertionOrderPreviewID) ? $InsertionOrderLineItem->InsertionOrderPreviewID : ""; $bannerpreviewid = isset($InsertionOrderLineItem->InsertionOrderLineItemPreviewID) ? $InsertionOrderLineItem->InsertionOrderLineItemPreviewID : ""; $bannername = $InsertionOrderLineItem->Name; $startdate = date('m/d/Y', strtotime($InsertionOrderLineItem->StartDate)); $enddate = date('m/d/Y', strtotime($InsertionOrderLineItem->EndDate)); $current_mobile = $InsertionOrderLineItem->IsMobile; if ($InsertionOrderLineItem->IsMobile == 2) { $size_list = \util\BannerOptions::$iab_mobile_tablet_banner_options; } elseif ($InsertionOrderLineItem->IsMobile > 0) { $size_list = \util\BannerOptions::$iab_mobile_phone_banner_options; } else { $size_list = \util\BannerOptions::$iab_banner_options; } $height = $InsertionOrderLineItem->Height; $width = $InsertionOrderLineItem->Width; $weight = $InsertionOrderLineItem->Weight; $bidamount = $InsertionOrderLineItem->BidAmount; $adtag = $InsertionOrderLineItem->AdTag; $landingpagetld = $InsertionOrderLineItem->LandingPageTLD; $current_iabsize = $InsertionOrderLineItem->IABSize; $ImpressionType = $InsertionOrderLineItem->ImpressionType; if ($ImpressionType == 'image') { preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $adtag, $matches); if (!isset($matches[1])) { die("Required Field: <img src= attribute was missing"); } preg_match('/href=[\'"]?([^\\s\\>\'"]*)[\'"\\>]/', $adtag, $matches); if (!isset($matches[1])) { die("Required Field: <a href= attribute was missing"); } } $current_mimes = array(); $current_apis_supported = array(); $current_protocols = array(); $current_delivery_methods = array(); $current_playback_methods = array(); $current_start_delay = ""; $current_linearity = ""; $impression_type = "banner"; if ($InsertionOrderLineItemVideoRestrictions != null) { $current_mimes_raw = $InsertionOrderLineItemVideoRestrictions->MimesCommaSeparated; $current_apis_supported_raw = $InsertionOrderLineItemVideoRestrictions->ApisSupportedCommaSeparated; $current_protocols_raw = $InsertionOrderLineItemVideoRestrictions->ProtocolsCommaSeparated; $current_delivery_methods_raw = $InsertionOrderLineItemVideoRestrictions->DeliveryCommaSeparated; $current_playback_methods_raw = $InsertionOrderLineItemVideoRestrictions->PlaybackCommaSeparated; $current_start_delay = $InsertionOrderLineItemVideoRestrictions->StartDelay; $current_linearity = $InsertionOrderLineItemVideoRestrictions->Linearity; $current_mimes = array(); if ($current_mimes_raw) { $current_mimes = explode(',', $current_mimes_raw); } $current_apis_supported = array(); if ($current_apis_supported_raw) { $current_apis_supported = explode(',', $current_apis_supported_raw); } $current_protocols = array(); if ($current_protocols_raw) { $current_protocols = explode(',', $current_protocols_raw); } $current_delivery_methods = array(); if ($current_delivery_methods_raw) { $current_delivery_methods = explode(',', $current_delivery_methods_raw); } $current_playback_methods = array(); if ($current_playback_methods_raw) { $current_playback_methods = explode(',', $current_playback_methods_raw); } } $is_vast_url = \util\ParseHelper::isVastURL($adtag); $vast_type = $is_vast_url == true ? "url" : "xml"; $imageurl = ""; $landingpageurl = ""; if ($ImpressionType == "image") { preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $adtag, $matches); if (isset($matches[1])) { $imageurl = $matches[1]; } preg_match('/href=[\'"]?([^\\s\\>\'"]*)[\'"\\>]/', $adtag, $matches); if (isset($matches[1])) { $landingpageurl = $matches[1]; } } return new ViewModel(array('imageurl' => $imageurl, 'landingpageurl' => $landingpageurl, 'campaignid' => $campaignid, 'bannerid' => $bannerid, 'pmp_deal_list' => $PmpDealPublisherWebsiteToInsertionOrderLineItemList, 'ssp_channel_list' => $SspRtbChannelToInsertionOrderLineItemList, 'campaignpreviewid' => $campaignpreviewid, 'bannerpreviewid' => $bannerpreviewid, 'ispreview' => $is_preview == true ? '1' : '0', 'bannername' => $bannername, 'startdate' => $startdate, 'enddate' => $enddate, 'current_mobile' => $current_mobile, 'mobile_options' => \util\BannerOptions::$mobile_options, 'size_list' => $size_list, 'height' => $height, 'width' => $width, 'weight' => $weight, 'bidamount' => $bidamount, 'adtag' => $adtag, 'vast_type' => $vast_type, 'landingpagetld' => $landingpagetld, 'current_iabsize' => $current_iabsize, 'bread_crumb_info' => $this->getBreadCrumbInfoFromBanner($bannerid, $bannerpreviewid, $is_preview), 'user_id_list' => $this->user_id_list_demand_customer, 'center_class' => 'centerj', 'user_identity' => $this->identity(), 'true_user_name' => $this->auth->getUserName(), 'header_title' => 'Edit Insertion Order', 'is_super_admin' => $this->is_super_admin, 'effective_id' => $this->auth->getEffectiveIdentityID(), 'impersonate_id' => $this->ImpersonateID, 'ImpressionType' => $ImpressionType, 'linearity' => \util\BannerOptions::$linearity, 'start_delay' => \util\BannerOptions::$start_delay, 'playback_methods' => \util\BannerOptions::$playback_methods, 'delivery_methods' => \util\BannerOptions::$delivery_methods, 'apis_supported' => \util\BannerOptions::$apis_supported, 'protocols' => \util\BannerOptions::$protocols, 'mimes' => \util\BannerOptions::$mimes, 'current_mimes' => $current_mimes, 'current_apis_supported' => $current_apis_supported, 'current_protocols' => $current_protocols, 'current_delivery_methods' => $current_delivery_methods, 'current_playback_methods' => $current_playback_methods, 'current_start_delay' => $current_start_delay, 'current_linearity' => $current_linearity, 'impression_type' => $impression_type)); }