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; }
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; } }