コード例 #1
0
ファイル: IndexController.php プロジェクト: vihang/nginad
 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;
 }
コード例 #2
0
ファイル: IndexController.php プロジェクト: cloudseo/nginad
 private function add_mobile_request_params($config, &$banner_request)
 {
     /*
      * Device Type
      *
      * 1	 Mobile/Tablet
      * 2	 Personal	Computer
      */
     $detect = new \mobileutil\MobileDetect(null, $banner_request["user_agent"]);
     if ($detect->isMobile()) {
         $banner_request["devicetype"] = DEVICE_MOBILE;
         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"] = DEVICE_DESKTOP;
     }
 }