コード例 #1
0
ファイル: IndexController.php プロジェクト: cloudseo/nginad
 private function add_ad_zone_video_request_params($config, &$banner_request, &$PublisherAdZone)
 {
     $PublisherAdZoneVideoFactory = \_factory\PublisherAdZoneVideo::get_instance();
     $params = array();
     $params["PublisherAdZoneID"] = $PublisherAdZone->PublisherAdZoneID;
     $PublisherAdZoneVideo = $PublisherAdZoneVideoFactory->get_row_cached($config, $params);
     if ($PublisherAdZoneVideo == null) {
         return;
     }
     if (!empty($PublisherAdZoneVideo->MimesCommaSeparated)) {
         $banner_request["video_mimes"] = explode(',', $PublisherAdZoneVideo->MimesCommaSeparated);
     }
     if (!empty($PublisherAdZoneVideo->ApisSupportedCommaSeparated)) {
         $banner_request["video_apis_supported"] = explode(',', $PublisherAdZoneVideo->ApisSupportedCommaSeparated);
     }
     if (!empty($PublisherAdZoneVideo->ProtocolsCommaSeparated)) {
         $banner_request["video_protocols"] = explode(',', $PublisherAdZoneVideo->ProtocolsCommaSeparated);
     }
     if (!empty($PublisherAdZoneVideo->DeliveryCommaSeparated)) {
         $banner_request["video_delivery"] = explode(',', $PublisherAdZoneVideo->DeliveryCommaSeparated);
     }
     if (!empty($PublisherAdZoneVideo->PlaybackCommaSeparated)) {
         $banner_request["video_playback"] = explode(',', $PublisherAdZoneVideo->PlaybackCommaSeparated);
     }
     $banner_request["video_min_duration"] = $PublisherAdZoneVideo->MinDuration;
     $banner_request["video_max_duration"] = $PublisherAdZoneVideo->MaxDuration;
     $banner_request["video_start_delay"] = $PublisherAdZoneVideo->StartDelay;
     $banner_request["video_linearity"] = $PublisherAdZoneVideo->Linearity;
     $banner_request["video_foldpos"] = $PublisherAdZoneVideo->FoldPos;
     if ($PublisherAdZone->Height != 0) {
         $banner_request["video_height"] = $PublisherAdZone->Height;
     }
     if ($PublisherAdZone->Width != 0) {
         $banner_request["video_width"] = $PublisherAdZone->Width;
     }
 }
コード例 #2
0
ファイル: ZoneController.php プロジェクト: fundoit/nginad
 public function deleteAction()
 {
     $initialized = $this->initialize();
     if ($initialized !== true) {
         return $initialized;
     }
     $error_message = null;
     $DomainID = intval($this->params()->fromRoute('param1', 0));
     $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance();
     $PublisherAdZoneVideoFactory = \_factory\PublisherAdZoneVideo::get_instance();
     $DomainObj = $this->get_domain_data($DomainID, $this->PublisherInfoID);
     $success = false;
     if ($DomainObj === null) {
         $error_message = "An invalid publishing web domain was specified for the specified user.";
     } else {
         $AdTemplateList = $this->get_ad_templates();
         $request = $this->getRequest();
         // Make sure the value provided is valid.
         $AdSpaceID = intval($this->params()->fromRoute('id', 0));
         if ($AdSpaceID > 0) {
             $AdSpaceParameters = array("PublisherWebsiteID" => $DomainObj->PublisherWebsiteID, "PublisherAdZoneID" => $AdSpaceID);
             $deleteCheckResultObj = $PublisherAdZoneFactory->get_row_object($AdSpaceParameters);
             //if (intval($deleteCheckResultObj->PublisherAdZoneID) == $AdSpaceID && intval($deleteCheckResultObj->PublisherWebsiteID) == $DomainObj->PublisherWebsiteID):
             if ($request->isPost()) {
                 if ($request->getPost('del', 'No') == 'Yes') {
                     // Is this user allowed to delete this entry?
                     if ($this->is_super_admin || $DomainObj->DomainOwnerID == $this->PublisherInfoID) {
                         if (intval($PublisherAdZoneFactory->delete_zone(intval($deleteCheckResultObj->PublisherAdZoneID))) > -1) {
                             $PublisherAdZoneVideoFactory->delete_zone(intval($deleteCheckResultObj->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 {
                 //OK Display edit.
             }
             //else:
             //$error_message = "An invalid Ad Zone ID was provided.";
             //endif;
         } else {
             $error_message = "An invalid Ad Zone ID was provided.";
         }
     }
     $data = array('success' => $success, 'data' => array('error_msg' => $error_message));
     $this->setJsonHeader();
     return $this->getResponse()->setContent(json_encode($data));
 }
コード例 #3
0
ファイル: ZoneController.php プロジェクト: cloudseo/nginad
 /**
  * VAST Ad Tag generation for zone.
  *
  * @return VAST Ad Tag
  */
 public function generateVastTagAction()
 {
     $initialized = $this->initialize();
     if ($initialized !== true) {
         return $initialized;
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $PublisherAdZoneID = $this->getRequest()->getPost('ad_id');
         $PublisherWebsiteID = intval($this->params()->fromRoute('param1', 0));
         $PublisherAdZoneFactory = \_factory\PublisherAdZone::get_instance();
         $PublisherAdZoneVideoFactory = \_factory\PublisherAdZoneVideo::get_instance();
         $PublisherWebsiteFactory = \_factory\PublisherWebsite::get_instance();
         $params = array();
         $params["PublisherAdZoneID"] = $PublisherAdZoneID;
         $AdObject = $PublisherAdZoneFactory->get_row_object($params);
         $delivery_adtag = $this->config_handle['delivery']['url'];
         $effective_tag = $delivery_adtag . "?video=vast&pzoneid=" . $PublisherAdZoneID;
         $data = array('result' => true, 'data' => array('tag' => htmlentities($effective_tag)));
         $this->setJsonHeader();
         return $this->getResponse()->setContent(json_encode($data));
     }
 }