<?php 
/**
 * Appnexus arb tag - play video with branding and block preroll clicks to send to the branded logo
 */
//ini_set("display_errors", 1);
//error_reporting(E_ALL & ~E_NOTICE);
$start_time = microtime(true);
include_once "lib/php/include/db.php";
require_once('lib/php/include/encrypt.php');
include_once 'lib/php/include/preroll_blacklist.php';
include_once 'lib/php/include/appnexus_ips.php';
include_once 'lib/php/include/cedato/platform_check.php';
include_once 'lib/php/include/forensiq.php';

define('HASH_KEY', 'JhYoSkfdqO1hdD3');

// Since this file is included by another files
// check Redis connection

$redis = new Redis();
if(stripos($_SERVER['HTTP_HOST'],'usadserver.com') !== false) {
    $redis->pconnect('/var/run/redis_6383.sock');
} else
    $redis->pconnect("192.168.30.121", 6379);

$admedia_host = "admedia.com";
$usadv_host = "usadserver.com";
if($_SERVER['HTTP_HOST'] == 'internetstoragesolution.com'){
    $usadv_host = 'internetstoragesolution.com';
    $admedia_host = 'advertising.net';
}
else if(strtolower($_GET['host_name']) == "theagency.com"){
    $admedia_host = "theagency.com";
}
else if(strtolower($_GET['host_name']) == "advertising.net"){
    $admedia_host = "advertising.net";
}

$id = $_GET['id'];
$src = $_GET['src'];
$hkey = $_GET['hkey'];

if($_GET['debug'] == "ms123")
    define(DEBUG, TRUE);
else
    define(DEBUG, FALSE);

$skip_clarityad = false;
if(stripos($_SERVER['HTTP_REFERER'], "clarityad-qa.com")!==false){
    $skip_clarityad = true;
    if($_GET['clad'] == 1)  //do not skip for our own scans
        $skip_clarityad = false;
}

$skip_tmt = false;
if(stripos($_GET['apr'], "themediatrust") !== false || stripos($_SERVER['HTTP_REFERER'], "themediatrust") !== false){
    $skip_tmt = true;
    if($_GET['tmt'] == 1)  //do not skip for our own scans
        $skip_tmt = false;
}
//if the call comes from wideorbit, load an empty wideorbit tag without backfill and v.admedia swf
if($skip_tmt || $skip_clarityad){
    $wideorbitTag = "";
    ?>
    document.write("<iframe src='//b.<?=$admedia_host?>/banners/gbanner.php?wotmt=1&aff=936&size=300x250' frameborder='0' marginheight='0' marginwidth='0' target='_blank' scrolling='no' width='300' height='250'></iframe>");
    <?php 
    die;
}
    
class mCachedb extends Memcache {
    static private $instance = null;
    //static private $port = 11211;
    static private $port = 22123;
    static function mGet() {
        if (self::$instance == null) {
            self::$instance = new Memcache;
            self::$instance->addServer('127.0.0.1', self::$port, true);
        }
        return self::$instance;
    }
}

function getLRID($aid){
    $aid = addslashes($aid);
    $aSql = "select lr_id from AffiliateIDs where id = {$aid} limit 1";
    $mkey = 'aff_lrid_'.md5($aid);
    $expire = 60*60;
    if(!$aff_lrid = mCachedb::mGet()->get($mkey)){
        global $cache_hit;
        $cache_hit = "miss";
        $db = connectToReadProxy();
        $aRes = mysql_query($aSql, $db);
        if($aRes){
            $aRow = mysql_fetch_assoc($aRes);
            if($aRow && $aRow['lr_id'] != ''){
                $aff_lrid = $aRow['lr_id'];
                if($aff_lrid > 0)
                    mCachedb::mGet()->set($mkey, $aff_lrid, 0, $expire);
                else
                    mCachedb::mGet()->set($mkey, "NONE000", 0, $expire);
            }
        }
        mysql_close($db);
    }
    if(!is_numeric($aff_lrid)){
        $aff_lrid = 0;
    }
    return intval($aff_lrid);
}

$javascript_version = false;
if($_GET['mode'] == 'js'){
    $javascript_version = true;
}

if(isset($_GET['size']) && $_GET['size'] != '')
    $size = strtolower($_GET['size']);

$t = explode("x", $size);
$width = $t[0];
$height = $t[1];


$js_page_url = trim($_GET['l']);	//javascript document.location where ad is placed --> tries to get publisher's site - programatically detected. Sometimes it is javascript:window["contents"] when iframes with no src are used to wrap this tag
$page_ref = trim($_GET['r']);	//javascript document.referrer of publisher's page - ref to the page where ads are displayed or actual publisher's page when wrapped with just 1 level of adserver iframe
$sref = $_SERVER['HTTP_REFERER']; //server referrer -- always integral's firewall url if wrapped with firewall. Otherwise should be similar to js_page_url

//parent referrers on appnexus arb creative 11395028
$pr = $_GET['pr'];
$pl = $_GET['pl'];


//for appnexus creative
$apr = $_GET['apr'];
$apinv = $_GET['apinv'];
$appub = $_GET['appub'];
$apliid = $_GET['apliid'];
$aplicd = str_ireplace(array("CPM_", "RON_", "NRTB_"), "", $_GET['aplicd']);
$apcaid = $_GET['apcaid'];
$apcacd = $_GET['apcacd'];
$apseller = $_GET['apseller'];
$appub = $_GET['appub'];
$ssp = $_GET['ssp'];    //rtb partner id - do not load gbanners for pulsepoint
$pub_id = $_GET['pub_id'];
$cat = urldecode($_GET['cat']); //pass it to gbanner to forward to other rtb dsps
$ref = urlencode($_GET['ref']); //pass it to gbanner to forward to other rtb dsps
$tag_pr = trim($_GET['tag_pr']);    //pass vast tag ids to priorotize over others
$user_agent = trim($_GET['ua']);    //user agent from rtb request (may be passed)


//[APP_NAME], [APP_BUNDLE] and [APP_STORE_URL] - APP parameters
$app_name = trim($_GET['app_name']);
$app_bundle = trim($_GET['app_bundle']);
$app_store_url = trim($_GET['app_store_url']);
$app_ver = trim($_GET['app_ver']);
$app_store_id = trim($_GET['app_store_id']);
$app_category = trim($_GET['app_cat']);
$country = trim($_GET['country']);
$loclong = trim($_GET['loclong']);
$loclat = trim($_GET['loclat']);
$ifa = trim($_GET['ifa']);
$didsha1 = trim($_GET['didsha1']);
$didmd5 = trim($_GET['didmd5']);
$dpidsha1 = trim($_GET['dpidsha1']);
$dpidmd5 = trim($_GET['dpidmd5']);
$macsha1 = trim($_GET['macsha1']);
$macmd5 = trim($_GET['macmd5']);


//$site_or_app - app name if app, otherwise page_url(apr)
if($app_bundle){
    $site_or_app = $app_bundle;
    $fq_qstr = "&app=".urlencode($site_or_app);
}
else{
    $site_or_app = str_ireplace("www.", "", parse_url($apr, PHP_URL_HOST));
    if(!$site_or_app){
        if(stripos($apr, ".") !== false && !(stripos($apr, "http://") === 0 || stripos($apr, "https://") === 0)){
            $apr = "http://".$apr;
        }
        $site_or_app = str_ireplace("www.", "", parse_url($apr, PHP_URL_HOST));        
    }
    if(!$site_or_app){
        $site_or_app = str_ireplace("www.", "", parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST));
    }
    $fq_qstr = "&dmn=".urlencode($site_or_app);
}

//load 1% of the time
//if(rand()%100 == 0){
//06/18/2018: Forensiq is loaded on rtb for advertiser campaigns. No need to load here
if(false){
    //log domains
    /* if(!$app_bundle){
        $redis = new Redis();
        $redis->pconnect("192.168.30.121", "6379");
        $redis->hIncrBy("fq_domains_".date("Ymd"), $ssp."::".$site_or_app, 1);
    } */
    $forensiq_url = "//c.fqtag.com/tag/implement-r.js?org=bRqgBcf18WBegCSA1Gjr&p=$ssp&a=$pub_id&cmp=$aplicd&fmt=banner$fq_qstr&ctu={CTURL}&ad={ElementID}&rt=display&pfm={Platform}&sl=1&fq=1";
}


if(intval($aplicd)>0){
    $aid = $aplicd;
}
else{
    $aid = 42074;
}

//if(false && $ssp == 1067)

if($aid == 100164 || $aid == 100168)
{?>
	document.write('<a href="http://leisure.com/sweepstakes" target="_blank"><img src="http://leisure.com/images/creative_<?=$size?>.jpg" width="<?=$width?>" height="<?=$height?>" /></a>');
<?
	die;
}


$subid = "vsense_$aid";

$redis_read_host = '192.168.17.177';
$redis_read_port = '6379';
$redis_read = new Redis();
if(stripos($_SERVER['HTTP_HOST'],'usadserver.com') !== false)
    $redis_read->pconnect('/var/run/redis.sock');
else
    $redis_read->pconnect($redis_read_host, $redis_read_port);

try {
    $cedato_id = $redis_read->hGet('aid_cedato_map', $aid);
    if(!$cedato_id){
        $cedato_id = 0;
    }
} catch (RedisException $e) {
    if(DEBUG){
        echo $e->getMessage().'<br>';
    }
    $cedato_id = 0;
}


//check if aid is set up for brainjuice doimain arb
$appnexus_placement_id = 0;
try{
    $data = $redis_read->get("appnexus_brainjuice_domain_placements_$aid");
    if($data){
        
        if (DEBUG) {
            echo "Brainjuice publisher - redis data: $data <br>";
        }
        
        //check if forensiq score is < 20
        $f = new Forensiq($redis_read);
        $score = $f->getScore($ssp, $pub_id, $site_or_app);
        if($score < 20){
            if (DEBUG) {
                echo "Brainjuice publisher - fq score less than 20 ({$score}). Checking for domain placements.<br>";
            }
            $domain_placements = json_decode($data, true);
            foreach ($domain_placements as $domain => $id){
                if($domain == $site_or_app || preg_match("/^.*\.$domain$/i", $site_or_app)){
                    $appnexus_placement_id = $id;
                    break;
                }
            }
        }
        else{
            if (DEBUG) {
                echo "Brainjuice publisher - fq score greater than 20 ({$score}). Skipping appnexus!<br>";
            }
        }
    }
}
catch (RedisException $e) {
    if(DEBUG){
        echo $e->getMessage().'<br>';
    }
    $appnexus_placement_id = 0;
}



//do not load cedato on EU countries (GDPR)
$eu_countries = array('ALB','AND','AUT','BLR','BEL','BIH','BGR','HRV','CYP','CZE','DNK','EST','FRO','FIN','FRA','DEU','GIB','GRC','HUN','ISL','IRL','IMN','ITA','XKX','LVA','LIE','LTU','LUX','MKD','MLT','MDA','MCO','MNE','NLD','NOR','POL','PRT','ROU','RUS','SMR','SRB','SVK','SVN','ESP','SWE','CHE','UKR','GBR','VAT','RSB');
if($cedato_id > 0){
    if(in_array($country, $eu_countries)){
        $cedato_id = 0;
    }
}

//get Smaato adunit
if($app_store_url){
    try {
        $key = $app_store_url."::".$size;
        $data = $redis_read->hGet('smaato_adunits', $key);
        if(!$data){
            $adspace_id = 0;
        }
        else{
            $data = json_decode($data, true);
            $adspace_id = $data['adSpaceId'];
            $dimension = $data['dimension'];
        }
    } catch (RedisException $e) {
        if(DEBUG){
            echo $e->getMessage().'<br>';
        }
        $adspace_id = 0;
    }
}
if($adspace_id > 0){
    //load smaato adunit
    $params = $ssp."::".$aid."::".$adspace_id."::".$app_name."::".$app_store_url."::".$width."x".$height;
    $params_enc = urlencode($params);
    
    $list = "smaato_wrapper_" . date("Ymd");
    $redis->hIncrBy($list, $params, 1);
    
    $smaato_tag = <<<EOD
<div id="smt-$adspace_id" style="padding: 0px"></div>
<script type="text/javascript" src="https://soma-assets.smaato.net/js/smaatoAdTag.js"></script>
<script>
    function callBackForSmaato(status){
		if(status == "SUCCESS"){
			//console.log("callBack is being called with status : " + status);
			(new Image).src="//b.$admedia_host/banner/mobile/log.php?s=1&d=$params_enc&cb="+Math.random();
		} else if (status == "ERROR"){
			//console.log("callBack is being called with status : " + status);
			(new Image).src="//b.$admedia_host/banner/mobile/log.php?s=0&d=$params_enc&cb="+Math.random();
		}
	};
	SomaJS.loadAd({
		adDivId : "smt-$adspace_id",
		publisherId: 1100030847,
		adSpaceId: $adspace_id,
		format: "all",formatstrict: true,dimension: "$dimension",width: $width,height: $height,
	sync: false,},callBackForSmaato);
</script>
EOD;
    $smaato_tag = "document.write('" . str_replace(array("\r\n", "\r", "\n"), array("\\r\\n", "\\r", "\\n"), addslashes($smaato_tag)) . "');";
    $smaato_tag = preg_replace('#(</{0,1}scr)(ipt)#i', "$1' + '$2", $smaato_tag);
}

//$lr_id = getLRID($aid);
if($lr_id == 0){
    $lr_id = 109659;
}
$lr_id = 0;

if(stripos($apr, ".") !== false && !(stripos($apr, "http://") === 0 || stripos($apr, "https://") === 0)){
    $apr = "http://".$apr;
}

$lr_url = parse_url($apr, PHP_URL_HOST);
if (!$lr_url){
    $apr = $_SERVER['HTTP_REFERER'];    //apr might be invalid url, so set to referrer
    $lr_url = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
}
if(stripos($lr_url, "http://") !== 0 || stripos($lr_url, "https://") !== 0)
    $lr_url = "http://".$lr_url;

//check if appnexus placement exists for this domain
/*
$apnx_dom = str_ireplace(array("http://", "https://", "www."), "", $lr_url);

if($ssp == 1008)
	$sql = "SELECT * FROM `rep_placement_domains` where id=836562 and domain = '$apnx_dom' limit 1";
else if($ssp == 1003)
	$sql = "SELECT * FROM `rep_placement_domains` where id=841050 and domain = '$apnx_dom' limit 1";
else
	$sql = "SELECT * FROM `rep_placement_domains` where id=778519 and domain = '$apnx_dom' limit 1";
if(DEBUG){
    echo " $sql </br>";
}
$mkey = md5($sql);
$expire = 60*60;
if(!$apnx_placement_id = mCachedb::mGet()->get($mkey)){
    if(DEBUG){
        echo __LINE__." : Cache Miss for apnx placement </br> ";
    }
    global $cache_hit;
    $cache_hit = "miss";
    $db = connectToReadProxy();
    $aRes = mysql_query($sql, $db);
    $apnx_placement_id = "NONE000";
    if($aRes){
        $aRow = mysql_fetch_assoc($aRes);
        if($aRow && $aRow['Placement'] != ''){
            $apnx_placement_id = $aRow['Placement'];
            $expire = 60*60*5;
        }
    }
    mCachedb::mGet()->set($mkey, $apnx_placement_id, 0, $expire);
    mysql_close($db);
}

if(!is_numeric($apnx_placement_id))
    $apnx_placement_id = 0;

if($apnx_placement_id > 0){
    //log in redis
    $list = 'appn_domain_placements_'.date("Ymd");
    $redis->hIncrBy($list, $aid.":".$apnx_placement_id, 1);
    $appnexus_tag = "<IFRAME SRC='http://ib.adnxs.com/tt?id=$apnx_placement_id&size=300x250' FRAMEBORDER='0' SCROLLING='no' MARGINHEIGHT='0' MARGINWIDTH='0' TOPMARGIN='0' LEFTMARGIN='0' ALLOWTRANSPARENCY='true' WIDTH='300' HEIGHT='250'></IFRAME>";
}
*/

//check if aol display is approved for this domain
/*
$sql = "SELECT * FROM `rep_aol_display_whitelistlist` where url = '$apnx_dom' limit 1";
if(DEBUG){
    echo " $sql </br>";
}
$mkey = md5($sql);
if(!$aol_display_approved = mCachedb::mGet()->get($mkey)){
    if(DEBUG){
        echo __LINE__." : Cache Miss for aol whitelist </br> ";
    }
    global $cache_hit;
    $cache_hit = "miss";
    $db = connectToReadProxy();
    $aRes = mysql_query($sql, $db);
    $aol_display_approved = "FALSE";
    if($aRes){
        if(mysql_num_rows($aRes) > 0){
            $aol_display_approved = "TRUE";
        }
    }
    $expire = 60*60*5;
    mCachedb::mGet()->set($mkey, $aol_display_approved, 0, $expire);
    mysql_close($db);
}
*/
//disable AOL
if(false && $aol_display_approved == "TRUE"){
    //this is always 300x250. Select the GEO
    include_once 'lib/php/include/lib.php';
    $db = ConnectToRead();
    $location_arr = EnvoyIp2location($_SERVER['HTTP_X_FORWARDED_FOR'], $db);
    mysql_close($db);
    if($location_arr['country'] == "US" || $location_arr['country'] == "CA"){
        $aol_display_tag_id = 928;  //from gbanner ids
        //$aol_display_tag = "http://adserver.adtechus.com/addyn|3.0|10454.1|4115661|0|170|ADTECH;loc=100;target=_blank;misc=[TIMESTAMP];rdclick=";
    }
    else{   //EU tag
        $aol_display_tag_id = 931;
        //$aol_display_tag = "http://adserver.adtechus.com/addyn|3.0|10454.1|4117583|0|170|ADTECH;loc=100;target=_blank;misc=[TIMESTAMP];rdclick=";
    }
    
    $list = 'aol_domain_placements_'.date("Ymd");
    $redis->hIncrBy($list, $aid.":".$aol_display_tag_id, 1);
}

$vids[] = array("id"=>"052", "title"=>"Humming Bird at Feeder", "description"=>"Humming bird feeding a flying around a bird feeder");
$vids[] = array("id"=>"031", "title"=>"Flowers", "description"=>"Flowers flowing in the wind.");
$vids[] = array("id"=>"070", "title"=>"Traffic in Town", "description"=>"Traffic in Town");
$vids[] = array("id"=>"242", "title"=>"Guitar", "description"=>"Just someone strumming their guitar");
$vids[] = array("id"=>"631", "title"=>"Due Date", "description"=>"Zammcam on Due Date");
$rand_key = array_rand($vids);
$video = $vids[$rand_key];

$video_id = $video['id'];
$video_url = "http://s.videosense.com/$video_id.mp4";
$video_title = $video['title'];
$video_desc = $video['description'];

$loop_count = 5;

//get the branding info
if($_SERVER['HTTP_HOST'] == "192.168.30.184"){
    include_once 'brand_info.php';
}
else{
    include_once 'lib/php/include/arb_creatives/brand_info.php';
}

//for wrapped instances - use nrtb implementation
// DISABLED
if(false || stripos($_GET['aplicd'], "NRTB_") !== false){
    $load_nrtb = 1;
    $expiry = urlencode(getExpiryKey());
    $mkey = md5("NativeRTB_$aid");
    if(!$nativertb_arr = mCachedb::mGet()->get($mkey))
    {
        $sql = "SELECT * from AffiliateIDs where id=$aid";
        $db = ConnectToRead();
        $res = mysql_query($sql, $db);
        while ($row = mysql_fetch_array($res)){
            $aid = $row['id'];
            $lr_id = $row['lr_id'];
            $name = $row['Affiliate'];
        }
    
        $nativertb_arr = array("aid"=>$aid, "lr_id"=>$lr_id, "name"=>$name);
        mCachedb::mGet()->set($mkey, $nativertb_arr, 0, 60*60*5);
    }
    
    $name = $nativertb_arr['name'];
    if($name){
        $id = trim(encrypt_str($aid));
        $t = explode("_", $name);
        $domain = "video.".strtolower($t[1]).".com";
    }
    else{
        $id = "PT0rNyY";
        $aid = 75285;
        $domain = "video.clubmother.com";
    }
    
    if(stripos($domain, "humormill") !== false){
        $domain = "video.humormill.tv";
    }
    else if(stripos($domain, "sandglass") !== false){
        $domain = "video.sandglass.tv";
    }
    
    if(stripos($domain, "top10reci")!==false){
        $domain = "video.accoona.com";
    }
}

//log counts
$list = 'msac_arb_cr_'.date("Ymd");
$redis->hIncrBy($list, $aid, 1);

$containter_id = "admvcr_{$size}_".microtime(true)."_".rand(0,9999);

if($ssp == 1013){
    //temporarily disable preroll for engagebdr
    $tag_id = 3;
}

//force to test with a specific vpaid tag id
if(isset($_GET['test_tag_id'])){
    $test_tag_id = $_GET['test_tag_id'];
}

if(isset($_GET['demo']) && $_GET['demo'] == 'ms123'){
    $demo = 1;
    $cedato_id = 33418725; //test id mapped to test demand
}

//update - load gbanner for pulsepoint as well.
if(1 || $ssp == "1002"){
    //load gbanner only for pubmatic
	//if (rand(1, 10) > 2){
	if(1){
        $banner_tag = "<iframe src='//b.{$admedia_host}/banners/gbanner.php?d=1&aff=$aid&size=300x250&subid=&pageUrl=".urlencode($site_or_app)."&pageReferer=&app=0&ssp=$ssp&ssp_pub=$pub_id&cat=$cat&ref=$ref' frameborder='0' marginheight='0' marginwidth='0' target='_blank' scrolling='no' width='300' height='250'></iframe>";
        $banner_tag = ""; //2017/07/10 use banner url for passing dynamic uid
        
        $banner_tag_url = "//b.{$admedia_host}/banners/gbanner.php?d=1&aff=$aid&size=300x250&subid=&pageUrl=".urlencode($site_or_app)."&pageReferer=&app=0&ssp=$ssp&ssp_pub=$pub_id&cat=$cat&ref=$ref";
    }
    else{
        $banner_tag = "<iframe src='//rtbg.{$admedia_host}/display/?d=1&aff=$aid&size=300x250&subid=&pageUrl=".urlencode($lr_url)."&pageReferer=&app=0&ssp=$ssp&cat=$cat&ref=$ref' frameborder='0' marginheight='0' marginwidth='0' target='_blank' scrolling='no' width='300' height='250'></iframe>";
    }
    
}

$base_video_url = "http://s.videosense.com/s/962.mp4";

$load_ibv = 1;
if ($ssp == 1200){
    //do not load banner tags for openx
    $banner_tag = '';
    $base_video_url = 'http://rtbe.theagency.com/assets/s/962.mp4';
    $loop_count = 1;
}
else if($ssp == 1214 || $ssp == 1233 || $ssp == 1122){
    //do not load video
    $load_ibv = 0;
}
else if($ssp == 1219){
    if($size == "160x600" || $size == "728x90"){
        $load_ibv = 0;
    }
}

if($_GET['no_ibv'] == "noibv"){
    $load_ibv = 0;
}

//do not load cedato on android<=4.0 or chrome andorid<=53
if($cedato_id>0){
    if(Platform_check::is_platform_blocked($_SERVER['HTTP_USER_AGENT'])){
        echo "/*Old platform for cdt*/";
        $cedato_id = 0;
    }
    else if($user_agent){
        if(Platform_check::is_platform_blocked($user_agent)){
            echo "/*Old platform for cdt*/";
            $cedato_id = 0;
        }
    }
}

//check for fillrate. Allow 2% of the time if key exists
//06/18/2018 send all traffic to cedato
/* if($cedato_id>0){
    if($app_bundle){
        $key = "cdto_supDomFr_{$cedato_id}_{$app_bundle}";
    }
    else{
        $key = "cdto_supDomFr_{$cedato_id}_".str_ireplace("www.", "", parse_url($apr, PHP_URL_HOST));
    }
    if($redis_read->exists($key)){
        if(rand()%50 != 0){
            //block 98% of the time
            $cedato_id = 0;
        }
    }
}
 */
//load cedato player 50% of the time if this is passed.

$load_cedato_50 = 0;
//load cedato for all creatives 50% of the time
/* if(1 || $_GET['cd50'] == 1){
    if(1 || rand()%2 == 0){
        $load_cedato_50 = 1;
    }
} */
if($appnexus_placement_id){
    //only load appnexus tag
    $appnexus_tag = <<<EOD
    <!-- BEGIN JS TAG  < - DO NOT MODIFY -->
<SCRIPT SRC="http://ads.neutrinomediagroup.com/ttj?id=$appnexus_placement_id&size={$width}x{$height}" TYPE="text/javascript"></SCRIPT>
<!-- END TAG -->
EOD;
    $appnexus_tag = "document.write('" . str_replace(array("\r\n", "\r", "\n"), array("\\r\\n", "\\r", "\\n"), addslashes($appnexus_tag)) . "');";
    $appnexus_tag = preg_replace('#(</{0,1}scr)(ipt)#i', "$1' + '$2", $appnexus_tag);
    echo $appnexus_tag;
}
else if(1 || $javascript_version){
     //$google_ref_str = "";	//using js version - no need to hard code refs
     ?>
    
    if(document.getElementById("ssvcr250")){
    	if(document.getElementById("ssvcr250").parentNode){
    		document.getElementById("ssvcr250").parentNode.removeChild(document.getElementById("ssvcr250"));
    	}
    }
    
    <?php if($load_nrtb){?>
	var ifr = '<iframe src="//<?=$domain?>/?nrtb=1&id=<?=$id?>&aid=<?=$aid?>&lr_id=<?=$lr_id?>&size=<?=$size?>&ssp=<?=$ssp?>&pub_id=<?=$pub_id?>&ex=<?=$expiry?>&cb=<?=$cachebuster?>" height="250" width="300" frameborder="0" scrolling="no"></iframe>';	
	document.write(ifr);
	<?php die; }?>
	
    document.write("<div id='<?=$containter_id?>' style='width:<?=$width?>px; height:<?=$height?>px; overflow:hidden'></div>");
    
    <?php if($aol_display_tag){ //load aol display tag?>
	document.write ("<scr"+"ipt language='javascript1.1' src='<?=$aol_display_tag?>");
	document.write ("'></scr"+"ipt>");
	<?php }?>
	
	<?php 
    //advertise.com creative targeted to a sitelist
    if($aid == "86447"){
        $key = $aid.'_45';
        $redis->hincrby('gbanner_tags:'.date('Ymd'), $key, 1);
        ?>
    document.write('<div data-glade data-ad-unit-path="/99660178/admedia_ron_300x250" height="250" width="300"></div>');
    document.write("<scr"+"ipt type='text/javascript' src='https://securepubads.g.doubleclick.net/static/glade.js");
    document.write("'></scr"+"ipt>");
    <?php }?>
	
	var mcpjsNmspc = {};	
	mcpjsNmspc.width = '<?=$width?>';
	mcpjsNmspc.height = '<?=$height?>';
	mcpjsNmspc.lr_url = "<?=$lr_url?>";
	mcpjsNmspc.apr = "<?=$apr?>";
	if(mcpjsNmspc.lr_url == "")
		mcpjsNmspc.lr_url = document.location.href;
	mcpjsNmspc.subid = "<?=$subid?>";
	mcpjsNmspc.aid = "<?=$aid?>";
	mcpjsNmspc.videoid = "<?=urlencode($video_id)?>";
	mcpjsNmspc.videourl = "<?=urlencode($video_url)?>"
	mcpjsNmspc.title = "<?=urlencode($video_title)?>";
	mcpjsNmspc.desc = "<?=urlencode($video_desc)?>";
	mcpjsNmspc.ll = "<?=$loop_count?>";
	mcpjsNmspc.lr_id = "<?=$lr_id?>";
	mcpjsNmspc.click_url = "<?=$click_url?>";
	mcpjsNmspc.logo = "<?=$logo?>";
	mcpjsNmspc.base_vid = "<?=$base_video_url?>";
	mcpjsNmspc.ctid = "<?=$containter_id?>";
	mcpjsNmspc.banner = "<?=$banner_tag?>";
	mcpjsNmspc.banner_url = "<?=$banner_tag_url?>";
	mcpjsNmspc.ssp = "<?=$ssp?>";
	mcpjsNmspc.pub_id = "<?=$pub_id?>";
	mcpjsNmspc.hkey = "<?=$hkey?>";
	mcpjsNmspc.admhost = "<?=$admedia_host?>";
	mcpjsNmspc.usadvhost = "<?=$usadv_host?>";
	<?php if($tag_id>0){?>
	mcpjsNmspc.ll = "1";
	mcpjsNmspc.tagId = "<?=$tag_id?>";
	<?php }?>
	mcpjsNmspc.ttid = "<?=$test_tag_id?>";
	mcpjsNmspc.tad = "<?=$demo?>";
	mcpjsNmspc.appn = "<?=$appnexus_tag?>";
	mcpjsNmspc.libv = "<?=$load_ibv?>";
	mcpjsNmspc.tag_pr = "<?=$tag_pr?>";
	mcpjsNmspc.rtb_cat = "<?=$cat?>";
	mcpjsNmspc.rtb_ref = "<?=$_GET['ref']?>";
	mcpjsNmspc.cd50 = "<?=$load_cedato_50?>";
	mcpjsNmspc.cdid = "<?=$cedato_id?>";
	mcpjsNmspc.app_name = "<?=$app_name?>";
	mcpjsNmspc.app_bundle = "<?=$app_bundle?>";
	mcpjsNmspc.app_store_url = "<?=$app_store_url?>";
	mcpjsNmspc.app_ver = "<?=$app_ver?>";
	mcpjsNmspc.app_store_id = "<?=$app_store_id?>";
	mcpjsNmspc.app_category = "<?=$app_category?>";
	mcpjsNmspc.country = "<?=$country?>";
	mcpjsNmspc.loclong = "<?=$loclong?>";
	mcpjsNmspc.loclat = "<?=$loclat?>";
	mcpjsNmspc.ifa = "<?=$ifa?>";
	mcpjsNmspc.didsha1 = "<?=$didsha1?>";
	mcpjsNmspc.didmd5 = "<?=$didmd5?>";
	mcpjsNmspc.dpidsha1 = "<?=$dpidsha1?>";
	mcpjsNmspc.dpidmd5 = "<?=$dpidmd5?>";
	mcpjsNmspc.macsha1 = "<?=$macsha1?>";
	mcpjsNmspc.macmd5 = "<?=$macmd5?>";
	
<?php
    if($_SERVER['HTTP_HOST'] == "192.168.30.184"){
       include 'min-js.php';
    }
    else{
	   include 'lib/php/include/arb_creatives/min-js.php';
    }
}
if($forensiq_url){
?>
document.write ("<scr"+"ipt src='<?=$forensiq_url?>");
document.write ("'></scr"+"ipt>");
<?php } ?>
<?php 
/**
 * Load smaato tag if exists
 */
if($smaato_tag){
    echo "/*Smaato tag*/";
    echo $smaato_tag;
}
?>