STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228073
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/71388393?noj=FRM71388393-29DC" width="1" height="1"></div>

adviewas3.swf

This is the info page for
Flash #120366

(Click the ID number above for more basic data on this flash file.)


ActionScript [AS3]
Section 1
//AdView (cpmstar.AdView) package cpmstar { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; import flash.text.*; import flash.external.*; import flash.utils.*; import flash.filters.*; import flash.media.*; public class AdView extends Sprite { const serverUrl:String = "http://server.cpmstar.com/"; const progressBarOutlineColor:Number = 0xFFFFFF; const progressBarBackgroundColor:Number = 0x400040; const progressBarForegroundColor:Number = 9474303; const progressBarDurationColor:Number = 12632319; const HEADER_HEIGHT:Number = 25; const FOOTER_HEIGHT:Number = 35; var urlLoader:URLLoader; var ad_mc_parent:Sprite; var leaveBehindFlashUrl:String; var swfLoader:Loader; var pixelLoader:Loader; var completed:Boolean; var added:Boolean; var cpmstarGameDesiredFrameRate:int; var cpmstarGameDesiredQuality:String; var cpmstarStage:Stage; var muteLeaveBehind:Boolean; var skipSeconds:Number;// = 100 var skipFraction:Number;// = 0.25 var lcName:String; var lc:LocalConnection; var overlay:Sprite; var progressBar:Sprite; var progressBarForeground:Sprite; var overlay_ad_mc_parent:Sprite; var overlayLoader:Loader; var overlayRemoved:Boolean;// = false var skipButton:Sprite; var overlayShown:Boolean; var blockChildAds:Boolean;// = true var childAdUrl:String;// = "http://cdn3.cpmstar.com/cached/swf/watermark10.swf" var childAd:Sprite; var childAdLoader:Loader; var startVolume:Number; var adDuration:int;// = 0 var coverStartTime:int; var progressBarStartTime:int; var progressBarEnterFrameHandler:Function; var overlayStartTime:int; var skipButtonStartTime:int; var layout:String; var companionHtml:String; var containerWidth:Number; var containerHeight:Number; var srcUrl:String;// = "undefined" var cpmstar_url:String; var campaignID:int;// = 0 var AdEvent:Class; var skipped:Boolean; var hasLeaveBehind:Boolean; var interstitial:int;// = 0 var clickAction:String; var macros:Object; var top:DisplayObject; var parameters:Object; private var scaleFactor:Number; private var videoWidth:Number; private var videoHeight:Number; private var totalWidth:Number; private var totalHeight:Number; public function AdView():void{ urlLoader = new URLLoader(); pixelLoader = new Loader(); super(); Security.allowDomain("cdn.cpmstar.com"); if (stage){ addEventListener(Event.ENTER_FRAME, init); } else { addEventListener(Event.ADDED_TO_STAGE, preinit); }; } private function preinit(_arg1:Event=null):void{ removeEventListener(Event.ADDED_TO_STAGE, preinit); addEventListener(Event.ENTER_FRAME, init); } private function init(_arg1:Event=null):void{ var scaleMode:String; var testVar:int; var allowOverlay:Boolean; var overlayTime:int; var allowBuggyAs3Ads:Boolean; var spaceIndex:int; var versionParts:Array; var e = _arg1; removeEventListener(Event.ENTER_FRAME, init); try { AdEvent = (parent.loaderInfo.applicationDomain.getDefinition("cpmstar.AdEvent") as Class); } catch(e:Error) { }; if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.INIT, hasEventListener)); }; top = this; try { while (top.parent != null) { if (((!((top.root == null))) && ((top.root is Stage)))){ break; }; if ((top.parent is Stage)){ break; }; if (top.parent.root == top){ break; }; top = top.parent; }; } catch(e:Error) { }; try { scaleMode = stage.scaleMode; } catch(e:Error) { }; if (scaleMode == StageScaleMode.NO_SCALE){ try { containerWidth = int(stage.stageWidth); containerHeight = int(stage.stageHeight); } catch(e:Error) { }; } else { try { containerWidth = top.loaderInfo.width; containerHeight = top.loaderInfo.height; } catch(e:Error) { try { containerWidth = int(Math.min(stage.width, stage.stageWidth)); containerHeight = int(Math.min(stage.height, stage.stageHeight)); } catch(e:Error) { try { containerWidth = int(stage.stageWidth); containerHeight = int(stage.stageHeight); } catch(e:Error) { containerWidth = 0; containerHeight = 0; }; }; }; }; if (containerWidth <= 0){ containerWidth = 550; }; if (containerHeight <= 0){ containerHeight = 440; }; startVolume = SoundMixer.soundTransform.volume; urlLoader.addEventListener(Event.COMPLETE, completeHandler); urlLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); parameters = loaderInfo.parameters; if (((clickAction) && ((macros is Object)))){ loadAd(); } else { if (((((parameters.contentspotid) || (parameters.poolid))) || (parameters["amp;poolid"]))){ allowOverlay = true; overlayTime = 0; try { testVar = stage.width; srcUrl = stage.loaderInfo.url; } catch(e:Error) { allowOverlay = false; blockChildAds = true; }; if (parameters.contentspotid != null){ cpmstar_url = ((((((((serverUrl + "viewcontent.aspx?xml=1&contentspotid=") + parameters.contentspotid) + "&maxwidth=") + int(containerWidth)) + "&maxheight=") + ((int(containerHeight) - HEADER_HEIGHT) - FOOTER_HEIGHT)) + "&srcurl=") + encodeURIComponent(srcUrl)); } else { if (parameters["amp;poolid"] != null){ parameters.poolid = parameters["amp;poolid"]; }; if (parameters["amp;subpoolid"] != null){ parameters.subpoolid = parameters["amp;subpoolid"]; }; if ((((parameters.poolid == null)) || ((parameters.subpoolid == null)))){ return; }; cpmstar_url = ((((((((((serverUrl + "view.aspx?xml=1&poolid=") + parameters.poolid) + "&subpoolid=") + parameters.subpoolid) + "&maxwidth=") + int(containerWidth)) + "&maxheight=") + ((int(containerHeight) - HEADER_HEIGHT) - FOOTER_HEIGHT)) + "&srcurl=") + encodeURIComponent(srcUrl)); if (parameters["amp;blockoverlays"] != null){ parameters.blockoverlays = parameters["amp;blockoverlays"]; }; if (parameters.blockoverlays == "1"){ cpmstar_url = (cpmstar_url + "&blockoverlays=1"); }; if (parameters["amp;blockchildads"] != null){ parameters.blockchildads = parameters["amp;blockchildads"]; }; if (parameters.blockchildads == "1"){ cpmstar_url = (cpmstar_url + "&blockchildads=1"); }; }; try { if (top["_cpmstar_lastshown"] != null){ interstitial = (1 + int(((new Date().time / 1000) - top["_cpmstar_lastshown"]))); }; } catch(e:Error) { }; try { if (top["_cpmstar_lastoverlay"] != null){ overlayTime = (1 + int(((new Date().time / 1000) - top["_cpmstar_lastoverlay"]))); }; } catch(e:Error) { }; if (!allowOverlay){ cpmstar_url = (cpmstar_url + "&adtypeid=14"); }; cpmstar_url = (cpmstar_url + "&noadtypeid=24"); if (interstitial != 0){ overlayTime = 1; }; cpmstar_url = (cpmstar_url + ((("&interstitial=" + interstitial) + "&overlaytime=") + overlayTime)); allowBuggyAs3Ads = false; try { if (!Capabilities.isDebugger){ allowBuggyAs3Ads = true; } else { spaceIndex = Capabilities.version.indexOf(" "); if (spaceIndex != -1){ versionParts = Capabilities.version.substr(spaceIndex).split(","); if ((((versionParts.length >= 2)) && ((((Number(versionParts[0]) > 10)) || ((((Number(versionParts[0]) == 10)) && ((Number(versionParts[1]) >= 1)))))))){ if (top.loaderInfo.swfVersion >= 10){ allowBuggyAs3Ads = true; if (loaderInfo.hasOwnProperty("uncaughtErrorEvents")){ loaderInfo["uncaughtErrorEvents"].addEventListener("uncaughtError", function (_arg1:Event):void{ _arg1.preventDefault(); }); }; }; }; }; }; } catch(e:Error) { }; if (allowBuggyAs3Ads){ cpmstar_url = (cpmstar_url + "&trapserrors=1"); }; urlLoader.load(new URLRequest(cpmstar_url)); } else { if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.NO_AD, hasLeaveBehind)); }; }; }; addEventListener(Event.REMOVED_FROM_STAGE, swfRemovedHandler); try { top["_cpmstar_lastshown"] = (new Date().time / 1000); } catch(e:Error) { }; log("init completed"); } public function configure(_arg1:String, _arg2:Object):void{ this.clickAction = _arg1; this.macros = _arg2; } public function configureXml(_arg1:XML):void{ var _local2:XML; clickAction = null; macros = null; if ((((_arg1 == null)) || ((_arg1.creative[0] == null)))){ if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.NO_AD, hasLeaveBehind)); }; return; }; clickAction = _arg1.creative[0].click[0]; macros = {}; for each (_local2 in _arg1.creative[0].macros[0].macro) { macros[String(_local2.@name[0]).toLowerCase()] = _local2.@value[0]; }; } private function completeHandler(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); configureXml(new XML(_local2.data)); loadAd(); } private function loadAd():void{ var flashUrl:String; var videoUrl:String; var flashVars:String; var referrer:String; var as3FlashUrl:String; var overlayUrl:String; var overlayVars:String; var i:String; var campaignIDIdentifier:String; var campaignIDIndex:Number; var campaignIDEndIndex:Number; var pixelUrl:String; var loader:Loader; var lcClient:Object; if (((!(clickAction)) || (!(macros)))){ if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.NO_AD, hasLeaveBehind)); }; return; }; var pixelUrls:Array = new Array(); if (clickAction != null){ campaignIDIdentifier = "campaignid="; campaignIDIndex = clickAction.indexOf(campaignIDIdentifier); if (campaignIDIndex >= 0){ campaignIDEndIndex = clickAction.indexOf("&", campaignIDIndex); if (campaignIDEndIndex < 0){ campaignIDEndIndex = clickAction.length; }; campaignID = Number(clickAction.substring((campaignIDIndex + campaignIDIdentifier.length), campaignIDEndIndex)); }; }; var tmpBlockChildAdsMacroVisted:Boolean; for (i in macros) { switch (i){ case "flashurl": flashUrl = macros[i]; break; case "videourl": videoUrl = macros[i]; break; case "flashvars": flashVars = macros[i]; break; case "referrer": referrer = macros[i]; break; case "as3flashurl": as3FlashUrl = macros[i]; break; case "blockchildads": blockChildAds = Boolean(macros[i]); tmpBlockChildAdsMacroVisted = true; break; case "overlayurl": overlayUrl = macros[i]; break; case "layout": layout = macros[i]; break; case "muteleavebehind": muteLeaveBehind = (macros[i] == "true"); break; case "ov_skipseconds": skipSeconds = Number(macros[i]); break; case "ov_skipfraction": skipFraction = Number(macros[i]); break; default: if (i.indexOf("pixelurl") == 0){ pixelUrls.push(macros[i]); }; if (i.indexOf("ov_") == 0){ if (overlayVars == null){ overlayVars = ((i + "=") + encodeURIComponent(macros[i])); } else { overlayVars = (overlayVars + ((("&" + i) + "=") + encodeURIComponent(macros[i]))); }; }; break; }; }; log("done setting up macros"); if (!tmpBlockChildAdsMacroVisted){ blockChildAds = false; log("set block child ads to false"); }; if (ad_mc_parent == null){ ad_mc_parent = new Sprite(); addChild(ad_mc_parent); }; leaveBehindFlashUrl = flashUrl; if (as3FlashUrl != null){ leaveBehindFlashUrl = as3FlashUrl; }; if (leaveBehindFlashUrl != null){ if (clickAction != null){ leaveBehindFlashUrl = (leaveBehindFlashUrl + ((leaveBehindFlashUrl.indexOf("?"))==-1) ? "?" : "&"); leaveBehindFlashUrl = (leaveBehindFlashUrl + ("clickTAG=" + encodeURIComponent(clickAction))); }; if (videoUrl != null){ leaveBehindFlashUrl = (leaveBehindFlashUrl + ((leaveBehindFlashUrl.indexOf("?"))==-1) ? "?" : "&"); leaveBehindFlashUrl = (leaveBehindFlashUrl + ("videourl=" + encodeURIComponent(videoUrl))); }; if (flashVars != null){ leaveBehindFlashUrl = (leaveBehindFlashUrl + ((leaveBehindFlashUrl.indexOf("?"))==-1) ? "?" : "&"); leaveBehindFlashUrl = (leaveBehindFlashUrl + flashVars); }; if (referrer != null){ leaveBehindFlashUrl = (leaveBehindFlashUrl + ((leaveBehindFlashUrl.indexOf("?"))==-1) ? "?" : "&"); leaveBehindFlashUrl = (leaveBehindFlashUrl + ((referrer + "=") + getReferrer())); }; hasLeaveBehind = true; if (overlayUrl == null){ showLeaveBehindFlashUrl(); }; }; var pixelNumber:int; while (pixelNumber < pixelUrls.length) { pixelUrl = pixelUrls[pixelNumber]; loader = new Loader(); loader.load(new URLRequest(((serverUrl + "redirect.aspx?url=") + encodeURIComponent(pixelUrl)))); pixelNumber = (pixelNumber + 1); }; if (overlayUrl != null){ if (clickAction != null){ overlayUrl = (overlayUrl + ((overlayUrl.indexOf("?"))==-1) ? "?" : "&"); overlayUrl = (overlayUrl + ("clickTAG=" + encodeURIComponent(clickAction))); }; if (overlayVars != null){ overlayUrl = (overlayUrl + ((overlayUrl.indexOf("?"))==-1) ? "?" : "&"); overlayUrl = (overlayUrl + overlayVars); }; if (referrer != null){ overlayUrl = (overlayUrl + ((overlayUrl.indexOf("?"))==-1) ? "?" : "&"); overlayUrl = (overlayUrl + ((referrer + "=") + getReferrer())); }; lcName = ("_cpmstar_" + int((Math.random() * 100000))); overlayUrl = (overlayUrl + ((overlayUrl.indexOf("?"))==-1) ? "?" : "&"); overlayUrl = (overlayUrl + ((((("lcname=" + lcName) + "&width=") + int(containerWidth)) + "&height=") + ((int(containerHeight) - HEADER_HEIGHT) - FOOTER_HEIGHT))); lc = new LocalConnection(); lc.allowDomain("*"); lc.allowInsecureDomain("*"); lc.connect(lcName); lc.addEventListener(StatusEvent.STATUS, function (_arg1:StatusEvent):void{ }); lcClient = new Object(); lcClient.removeOverlay = removeOverlay; lcClient.showOverlayAd = showOverlayAd; lc.client = lcClient; addOverlay(); overlay_ad_mc_parent = new Sprite(); overlay.addChild(overlay_ad_mc_parent); overlay_ad_mc_parent.visible = false; overlayLoader = new Loader(); overlay_ad_mc_parent.addChild(overlayLoader); overlayLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:Event):void{ removeOverlay(); if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.ERROR, hasLeaveBehind)); }; }); overlayLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, overlayLoadComplete); overlayLoader.load(new URLRequest(overlayUrl)); try { top["_cpmstar_lastoverlay"] = (new Date().time / 1000); } catch(e:Error) { }; }; if (((((!(leaveBehindFlashUrl)) && (!(overlayUrl)))) && (AdEvent))){ sendEventToContainer(new AdEvent(AdEvent.NO_AD, hasLeaveBehind)); }; } private function overlayLoadComplete(_arg1:Event):void{ try { lc.send((lcName + "_"), "srcUrl", srcUrl); } catch(e:Error) { }; } private function addChildAd():void{ var _local1:String; if (childAd != null){ return; }; if (blockChildAds){ return; }; if (containerHeight < 140){ return; }; if (interstitial > 0){ return; }; if (parameters.contentspotid != null){ _local1 = ((childAdUrl + "?contentspotid=") + parameters.contentspotid); } else { if (((!((parameters.poolid == null))) && (!((parameters.subpoolid == null))))){ _local1 = ((((childAdUrl + "?poolid=") + parameters.poolid) + "&subpoolid=") + parameters.subpoolid); } else { return; }; }; childAd = new Sprite(); childAd.x = 0; childAd.y = (containerHeight - 388); childAd.addEventListener(Event.ENTER_FRAME, childAdEnterFrameHandler); stage.addChild(childAd); childAdLoader = new Loader(); childAdLoader.load(new URLRequest(_local1)); childAd.addChild(childAdLoader); } private function childAdEnterFrameHandler(_arg1:Event):void{ if ((((childAd == null)) || ((childAd.parent == null)))){ return; }; var _local2:DisplayObjectContainer = childAd.parent; if (_local2.getChildIndex(childAd) < (_local2.numChildren - 1)){ _local2.addChildAt(childAd, _local2.numChildren); }; } private function addOverlay():void{ overlay = new Sprite(); stage.addChild(overlay); var _local1:Sprite = new Sprite(); overlay.addChild(_local1); _local1.graphics.beginFill(0, 0.9); _local1.graphics.drawRect(0, 0, (2 * containerWidth), (2 * containerHeight)); _local1.graphics.endFill(); coverStartTime = getTimer(); overlay.addEventListener(Event.ENTER_FRAME, overlayEnterFrameHandlerFadeOn); var _local2:Number = (containerWidth - 20); var _local3:Number = 10; progressBar = new Sprite(); overlay.addChild(progressBar); progressBar.x = ((containerWidth - _local2) / 2); progressBar.y = ((containerHeight - _local3) - (_local3 / 2)); progressBar.graphics.beginFill(progressBarBackgroundColor); progressBar.graphics.drawRect(0, 0, _local2, _local3); progressBar.graphics.endFill(); progressBar.graphics.lineStyle(0, progressBarOutlineColor); progressBar.graphics.drawRect(0, 0, _local2, _local3); progressBarForeground = new Sprite(); progressBar.addChild(progressBarForeground); progressBarForeground.graphics.beginFill(progressBarForegroundColor); progressBarForeground.graphics.drawRect(1, 1, (_local2 - 1), (_local3 - 1)); progressBarForeground.graphics.endFill(); progressBarStartTime = getTimer(); progressBar.addEventListener(Event.ENTER_FRAME, progressBarEnterFrameHandler1); } private function showOverlayAd(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{ var videoWidth = _arg1; var videoHeight = _arg2; var duration = _arg3; var companionHtml = _arg4; overlayShown = true; hasLeaveBehind = ((hasLeaveBehind) || (((companionHtml) && (!((layout == "rightsidecompanion")))))); totalWidth = videoWidth; totalHeight = videoHeight; if (layout == "rightsidecompanion"){ totalWidth = (totalWidth + 306); totalHeight = Math.max(totalHeight, 250); }; var originalTotalWidth:Number = totalWidth; var originalTotalHeight:Number = totalHeight; if (totalWidth > containerWidth){ totalHeight = ((totalHeight * containerWidth) / totalWidth); totalWidth = containerWidth; }; if (totalHeight > ((containerHeight - FOOTER_HEIGHT) - HEADER_HEIGHT)){ totalWidth = ((totalWidth * ((containerHeight - FOOTER_HEIGHT) - HEADER_HEIGHT)) / totalHeight); totalHeight = ((containerHeight - FOOTER_HEIGHT) - HEADER_HEIGHT); }; scaleFactor = (totalWidth / originalTotalWidth); var _local6 = (videoWidth * scaleFactor); videoWidth = _local6; this.videoWidth = _local6; _local6 = (videoHeight * scaleFactor); videoHeight = _local6; this.videoHeight = _local6; overlayLoader.scaleX = scaleFactor; overlayLoader.scaleY = scaleFactor; overlay_ad_mc_parent.x = Math.round(((containerWidth - totalWidth) / 2)); overlay_ad_mc_parent.y = Math.round((HEADER_HEIGHT + ((((containerHeight - HEADER_HEIGHT) - FOOTER_HEIGHT) - totalHeight) / 2))); overlay_ad_mc_parent.visible = true; var skipButtonParent:Sprite = overlay_ad_mc_parent; skipButtonParent.graphics.beginFill(0x606060); skipButtonParent.graphics.drawRect(-3, -3, (totalWidth + 6), (totalHeight + 6)); skipButtonParent.graphics.endFill(); skipButtonParent.graphics.lineStyle(2, 0xD0D0D0, 1, true, "normal", "round", "round"); skipButtonParent.graphics.drawRect(-3, -3, (totalWidth + 6), (totalHeight + 6)); var tf:TextField = new TextField(); skipButtonParent.addChild(tf); tf.x = ((totalWidth - 200) / 2); tf.y = -25; tf.width = 200; tf.autoSize = TextFieldAutoSize.CENTER; tf.selectable = false; tf.setTextFormat(new TextFormat("_sans", 11, 0xFFFFFF, null, null, null, null, null, TextFormatAlign.CENTER)); tf.textColor = 0xFFFFFF; tf.text = "Brought to you by..."; tf.filters = [new GlowFilter(0x404040, 100, 2, 2, 400, 1)]; skipButton = new Sprite(); skipButtonParent.addChild(skipButton); skipButton.buttonMode = true; skipButton.useHandCursor = true; skipButton.visible = false; skipButton.alpha = 0; var skipText:TextField = new TextField(); skipButton.addChild(skipText); skipText.setTextFormat(new TextFormat("_sans", 11, 13684991, null, null, true, null, null, TextFormatAlign.RIGHT)); skipText.textColor = 13684991; skipText.text = "Skip Ad"; skipText.selectable = false; skipText.filters = [new GlowFilter(0x404040, 100, 2, 2, 400, 1)]; skipButton.x = Math.round(((totalWidth + 3) - skipText.width)); skipButton.y = Math.round((totalHeight + 5)); skipButton.addEventListener(MouseEvent.CLICK, function (_arg1:Event):void{ try { lc.send((lcName + "_"), "skip"); } catch(e:Error) { }; skipped = true; removeOverlay(); if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.SKIPPED, hasLeaveBehind)); }; }); adDuration = (duration * 1000); var barWidth:Number = (containerWidth - 20); var barHeight:Number = 10; progressBar.graphics.beginFill(progressBarForegroundColor); progressBar.graphics.drawRect(0, 0, barWidth, barHeight); progressBar.graphics.endFill(); progressBar.graphics.lineStyle(0, progressBarOutlineColor); progressBar.graphics.drawRect(0, 0, barWidth, barHeight); progressBarForeground.graphics.beginFill(progressBarDurationColor); progressBarForeground.graphics.drawRect(1, 1, (barWidth - 1), (barHeight - 1)); progressBarForeground.graphics.endFill(); progressBarForeground.scaleX = 0; progressBarStartTime = getTimer(); progressBar.removeEventListener(Event.ENTER_FRAME, progressBarEnterFrameHandler1); progressBar.addEventListener(Event.ENTER_FRAME, progressBarEnterFrameHandler2); this.companionHtml = companionHtml; if (layout == "rightsidecompanion"){ showCompanion(); }; if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.OVERLAY_STARTED, hasLeaveBehind)); }; } private function showCompanion():void{ var _local2:Sprite; var _local3:Sprite; var _local4:Sprite; if (companionHtml == null){ return; }; var _local1:Object = HTMLCompanion.parseHTML(companionHtml, new Object()); if (layout == "rightsidecompanion"){ _local2 = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRect(-2, -2, 304, 254); _local2.graphics.endFill(); _local2.scaleX = scaleFactor; _local2.scaleY = scaleFactor; _local3 = new Sprite(); _local2.addChild(_local3); _local4 = new Sprite(); _local4.graphics.beginFill(0); _local4.graphics.drawRect(0, 0, 300, 250); _local4.graphics.endFill(); _local4.visible = false; _local3.addChild(_local4); _local3.mask = _local4; overlay_ad_mc_parent.addChild(_local2); HTMLCompanion.parseCompanionNodes(_local3, _local1); _local3.soundTransform = new SoundTransform(0); _local2.x = ((overlayLoader.x + videoWidth) + 4); _local2.y = ((totalHeight - (250 * scaleFactor)) / 2); } else { HTMLCompanion.parseCompanionNodes(ad_mc_parent, _local1); if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.LEAVE_BEHIND, hasLeaveBehind)); }; }; companionHtml = null; } private function showLeaveBehindFlashUrl():void{ if (leaveBehindFlashUrl != null){ swfLoader = new Loader(); swfLoader.contentLoaderInfo.addEventListener(Event.INIT, swfInitHandler); swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfCompleteHandler); swfLoader.addEventListener(Event.ADDED_TO_STAGE, swfAddedHandler); swfLoader.load(new URLRequest(leaveBehindFlashUrl)); swfLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); swfLoader.visible = false; addChild(swfLoader); if (muteLeaveBehind){ SoundMixer.soundTransform = new SoundTransform(0); }; }; } private function progressBarEnterFrameHandler1(_arg1:Event):void{ var _local3:Number = Math.min(1, ((getTimer() - progressBarStartTime) / 10000)); progressBarForeground.scaleX = _local3; if (_local3 >= 1){ _arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, arguments.callee); if (lc != null){ try { lc.send((lcName + "_"), "skip"); } catch(e:Error) { }; }; removeOverlay(); }; } private function progressBarEnterFrameHandler2(_arg1:Event):void{ var _local3:Number = ((getTimer() - progressBarStartTime) / 1000); var _local4:Number = Math.min(1, ((getTimer() - progressBarStartTime) / adDuration)); progressBarForeground.scaleX = _local4; if ((((((_local4 >= skipFraction)) || ((_local3 > skipSeconds)))) && ((skipButton.visible == false)))){ showSkipButton(); }; if (_local4 >= 1){ _arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, arguments.callee); }; } private function showSkipButton():void{ if ((((skipButton == null)) || (skipButton.visible))){ return; }; skipButton.visible = true; skipButtonStartTime = getTimer(); skipButton.addEventListener(Event.ENTER_FRAME, function (_arg1:Event):void{ var _local3:Number = Math.min(1, ((getTimer() - skipButtonStartTime) / 1000)); skipButton.alpha = _local3; if (_local3 == 1){ _arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, arguments.callee); }; }); if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.SKIP_ALLOWED, hasLeaveBehind)); }; } private function overlayEnterFrameHandlerFadeOn(_arg1:Event):void{ if (overlay == null){ return; }; var _local3:Number = Math.min(1, ((getTimer() - coverStartTime) / 500)); overlay.alpha = _local3; if (_local3 == 1){ _arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, arguments.callee); }; } private function overlayEnterFrameHandlerFadeOff(_arg1:Event):void{ if (overlay == null){ return; }; var _local3:Number = Math.max(0, (1 - ((getTimer() - overlayStartTime) / 500))); overlay.alpha = _local3; if (_local3 == 0){ _arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, arguments.callee); overlay.parent.removeChild(overlay); }; } private function removeOverlay():void{ if (swfLoader != null){ swfLoader.visible = true; }; if (((!((overlay == null))) && (!(overlayRemoved)))){ overlayRemoved = true; if (skipButton != null){ skipButton.visible = false; }; progressBar.removeEventListener(Event.ENTER_FRAME, progressBarEnterFrameHandler2); overlayStartTime = getTimer(); overlay.addEventListener(Event.ENTER_FRAME, overlayEnterFrameHandlerFadeOff); if (overlayShown){ if (layout != "rightsidecompanion"){ showCompanion(); }; if (((!(skipped)) && (AdEvent))){ sendEventToContainer(new AdEvent(AdEvent.OVERLAY_COMPLETE, hasLeaveBehind)); }; showLeaveBehindFlashUrl(); } else { cpmstar_url = (cpmstar_url + "&adtypeid=14"); if (campaignID != 0){ cpmstar_url = (cpmstar_url + ("&defaultcampaignid=" + campaignID)); }; urlLoader.load(new URLRequest(cpmstar_url)); }; if (lc != null){ try { lc.close(); } catch(e:Error) { }; lc = null; }; if (overlay_ad_mc_parent != null){ overlay_ad_mc_parent.soundTransform = new SoundTransform(0, 0); }; }; } private function swfInitHandler(_arg1:Event):void{ var _local2:Sprite = new Sprite(); _local2.graphics.beginFill(0); _local2.graphics.drawRect(0, 0, 300, 250); _local2.graphics.endFill(); addChild(_local2); swfLoader.mask = _local2; swfLoader.visible = true; } private function swfCompleteHandler(_arg1:Event):void{ var _local2:LoaderInfo = Loader(_arg1.target.loader).contentLoaderInfo; completed = true; tryToSetFramerate(_arg1.target.loader); if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.LEAVE_BEHIND, hasLeaveBehind)); }; } private function swfAddedHandler(_arg1:Event):void{ added = true; tryToSetFramerate(DisplayObject(_arg1.target)); } private function tryToSetFramerate(_arg1:DisplayObject):void{ if (((!(completed)) || (!(added)))){ return; }; } private function errorHandler(_arg1:Event):void{ swfRemovedHandler(_arg1); if (AdEvent){ sendEventToContainer(new AdEvent(AdEvent.ERROR, hasLeaveBehind)); }; } private function sendEventToContainer(_arg1:Event):void{ try { parent.parent.dispatchEvent(_arg1); } catch(e:Error) { }; } private function swfRemovedHandler(_arg1:Event):void{ var event = _arg1; if (event.currentTarget == this){ removeEventListener(Event.REMOVED_FROM_STAGE, swfRemovedHandler); try { addChildAd(); if (swfLoader != null){ swfLoader.unload(); if (swfLoader.parent != null){ swfLoader.parent.removeChild(swfLoader); }; swfLoader = null; if (pixelLoader != null){ pixelLoader.unload(); pixelLoader = null; }; }; if (ad_mc_parent != null){ ad_mc_parent.parent.removeChild(ad_mc_parent); ad_mc_parent = null; }; if (overlay != null){ if (overlayLoader != null){ try { var _local3 = overlayLoader; _local3["unloadAndStop"](); } catch(e:Error) { overlayLoader.unload(); }; }; overlay.parent.removeChild(overlay); overlay = null; }; if (lc != null){ lc.close(); lc = null; }; HTMLCompanion.cleanup(); SoundMixer.soundTransform = new SoundTransform(startVolume); } catch(e:Error) { }; }; } private function getReferrer():String{ var _local1:String = String(ExternalInterface.call("function(){return location.href;}")); if (_local1 == null){ _local1 = parent.root.loaderInfo.loaderURL; }; return (_local1); } private static function log(_arg1:String):void{ } } }//package cpmstar
Section 2
//HTMLCompanion (cpmstar.HTMLCompanion) package cpmstar { import flash.events.*; import flash.display.*; import flash.net.*; import flash.utils.*; public class HTMLCompanion { private static const ws:Array = [" ", "\t", "\r", "\n"]; private static const wse:Array = [" ", "\t", "\r", "\n", "="]; private static var loaders:Array = []; private static var hrefUrl:String = null; private static var realRoot:DisplayObjectContainer; private static var parseFns:Object = {a:parseAnchor, img:parseImg, iframe:parseIFrame, html:parseHtmlTag, body:parseRecurse, noscript:parseRecurse, span:parseRecurse, div:parseRecurse, table:parseRecurse, tr:parseRecurse, td:parseRecurse, object:parseObject}; public static function indexOfAny(_arg1:String, _arg2:Array, _arg3:Number):Number{ var _local6:Number; var _local7:String; var _local8:String; var _local4:Number = _arg1.length; var _local5:Number = _arg2.length; while (_arg3 < _local4) { _local6 = 0; while (_local6 < _local5) { _local7 = _arg1.charAt(_arg3); _local8 = _arg2[_local6]; if (_local7 == _local8){ break; }; _local6++; }; if (_local6 < _local5){ break; }; _arg3++; }; if (_arg3 == _local4){ _arg3 = -1; }; return (_arg3); } public static function lastIndexOfAny(_arg1:String, _arg2:Array, _arg3:Number):Number{ var _local5:Number; var _local6:String; var _local7:String; var _local4:Number = _arg2.length; while (_arg3 >= 0) { _local5 = 0; while (_local5 < _local4) { _local6 = _arg1.charAt(_arg3); _local7 = _arg2[_local5]; if (_local6 == _local7){ break; }; _local5++; }; if (_local5 < _local4){ break; }; _arg3--; }; return (_arg3); } public static function indexOfNotAny(_arg1:String, _arg2:Array, _arg3:Number):Number{ var _local6:Number; var _local7:String; var _local8:String; var _local4:Number = _arg1.length; var _local5:Number = _arg2.length; while (_arg3 < _local4) { _local6 = 0; while (_local6 < _local5) { _local7 = _arg1.charAt(_arg3); _local8 = _arg2[_local6]; if (_local7 == _local8){ break; }; _local6++; }; if (_local6 == _local5){ break; }; _arg3++; }; if (_arg3 == _local4){ _arg3 = -1; }; return (_arg3); } public static function lastIndexOfNotAny(_arg1:String, _arg2:Array, _arg3:Number):Number{ var _local5:Number; var _local6:String; var _local7:String; var _local4:Number = _arg2.length; while (_arg3 >= 0) { _local5 = 0; while (_local5 < _local4) { _local6 = _arg1.charAt(_arg3); _local7 = _arg2[_local5]; if (_local6 == _local7){ break; }; _local5++; }; if (_local5 == _local4){ break; }; _arg3--; }; return (_arg3); } public static function parseHTML(_arg1:String, _arg2:Object):Object{ var _local4:Number; var _local5:Number; var _local6:String; var _local7:Number; var _local8:Number; var _local9:Boolean; var _local10:Array; var _local11:Object; var _local12:String; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:String; var _local20:Number; var _local3:Number = 0; while ((((_local3 < _arg1.length)) && (!((_arg1.indexOf("<", _local3) == -1))))) { if (_arg1.substr(_local3, 4) == "<!--"){ _local4 = _arg1.indexOf("-->", (_local3 + 1)); if (_local4 == -1){ break; }; _local3 = (_local4 + 1); } else { _local4 = _arg1.indexOf(">", (_local3 + 1)); if (_local4 == -1){ break; }; _local5 = indexOfAny(_arg1, ws, (_local3 + 1)); if (_local5 == (_local3 + 1)){ break; }; if ((((_local5 == -1)) || ((_local5 > _local4)))){ _local5 = _local4; if (_arg1.charAt((_local4 - 1)) == "/"){ _local5 = (_local4 - 1); }; }; _local6 = _arg1.substring((_local3 + 1), _local5).toLowerCase(); _local7 = _local3; _local8 = _local4; _local9 = (_arg1.charAt((_local4 - 1)) == "/"); if (!_local9){ _local7 = _arg1.toLowerCase().indexOf((("</" + _local6) + ">"), (_local4 + 1)); if (_local7 == -1){ _local8 = _local4; } else { _local8 = ((_local7 + (("</" + _local6) + ">").length) - 1); }; }; _local10 = _arg2[_local6]; if (_local10 == null){ _local10 = (_arg2[_local6] = new Array()); }; _local11 = new Object(); _local10.push(_local11); _local12 = _arg1.substring(_local5, (_local9) ? (_local4 - 1) : _local4); _local13 = 0; do { _local14 = indexOfNotAny(_local12, ws, _local13); } while (_local14 != -1); if (_local8 != _local4){ _local11["nodeContents"] = _arg1.substring((_local4 + 1), _local7); parseHTML(_arg1.substring((_local4 + 1), _local7), _local11); }; _local3 = (_local8 + 1); }; }; return (_arg2); } public static function parseCompanionNodes(_arg1:DisplayObjectContainer, _arg2:Object):void{ HTMLCompanion.realRoot = _arg1; delete parseFns["script"]; parseFns["noscript"] = parseRecurse; parseRecurse(_arg2, null); } public static function parseRecurse(_arg1:Object, _arg2:String):void{ var _local3:String; var _local4:Function; var _local5:Number; for (_local3 in _arg1) { _local4 = parseFns[_local3]; if (_local4 != null){ _local5 = 0; while (_local5 < _arg1[_local3].length) { _local4(_arg1[_local3][_local5], _arg2); _local5++; }; }; }; } public static function parseHtmlTag(_arg1:Object, _arg2:String):void{ if (_arg1["@clickthrough"] != null){ HTMLCompanion.hrefUrl = _arg1["@clickthrough"]; }; if (_arg1["@parsescripts"] != null){ parseFns["script"] = parseScript; delete parseFns["noscript"]; }; parseRecurse(_arg1, _arg2); } public static function parseScript(_arg1:Object, _arg2:String):void{ var loader:URLLoader; var xml = _arg1; var href = _arg2; if (xml["@src"] != null){ loader = new URLLoader(); loaders.push(loader); loader.addEventListener(Event.COMPLETE, onLoadScript); loader.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:Event):void{ }); loader.load(new URLRequest(xml["@src"])); } else { renderJavascript(xml["nodeContents"]); }; } public static function onLoadScript(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); var _local3:String = _local2.data; renderJavascript(_local3); } public static function renderJavascript(_arg1:String):void{ var _local3:Number; var _local4:Number; var _local5:String; var _local2:Number = _arg1.toLowerCase().indexOf(".swf"); if (_local2 != -1){ _local3 = Math.max(_arg1.lastIndexOf("'", _local2), _arg1.lastIndexOf("\"", _local2)); if (_local3 != -1){ _local4 = _arg1.indexOf(_arg1.charAt(_local3), _local2); if (_local4 != -1){ if (_arg1.substr((_local3 - 2), 2).indexOf("+") == -1){ if (_arg1.substr((_local4 + 1), 2).indexOf("+") == -1){ _local5 = _arg1.substring((_local3 + 1), _local4); addCompanion(_local5, hrefUrl); }; }; }; }; }; } public static function parseObject(_arg1:Object, _arg2:String):void{ if (_arg1["@data"] != null){ if (((!((_arg1["@data"].toLowerCase().indexOf(".swf") == -1))) || (((!((_arg1["@type"] == null))) && ((_arg1["@type"].toLowerCase() == "application/x-shockwave-flash")))))){ addCompanion(_arg1["@data"], hrefUrl); }; }; } public static function parseIFrame(_arg1:Object, _arg2:String):void{ var xml = _arg1; var href = _arg2; if (String(xml["@src"]).toLowerCase().indexOf("about:") == 0){ return; }; var loader:URLLoader = new URLLoader(); loaders.push(loader); loader.addEventListener(Event.COMPLETE, onLoadIFrame); loader.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:Event):void{ }); loader.load(new URLRequest(xml["@src"])); } public static function onLoadIFrame(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); var _local3:String = _local2.data; var _local4:Object = parseHTML(_local3, new Object()); parseRecurse(_local4, null); } public static function parseAnchor(_arg1:Object, _arg2:String):void{ _arg2 = _arg1["@href"]; parseRecurse(_arg1, _arg2); } public static function parseImg(_arg1:Object, _arg2:String):void{ var _local3:Number = int(_arg1["@width"]); var _local4:Number = int(_arg1["@height"]); var _local5:String = String(_arg1["@src"]); var _local6:String = String(_arg1["@style"]); if (((!((_local6.toLowerCase().indexOf("display:none") == -1))) || (((((((!((_arg1["@width"] == null))) && ((_local3 <= 1)))) && (!((_arg1["@height"] == null))))) && ((_local4 <= 1)))))){ hitPixel(_local5); } else { addCompanion(_local5, _arg2); }; } private static function addCompanion(_arg1:String, _arg2:String):void{ var src = _arg1; var href = _arg2; var companionAdParent:Sprite = new Sprite(); realRoot.addChild(companionAdParent); var companionAd:Loader = new Loader(); loaders.push(companionAd); companionAdParent.addChild(companionAd); companionAd.load(new URLRequest(src)); companionAd.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:Event):void{ _arg1.currentTarget.removeEventListener(IOErrorEvent.IO_ERROR, arguments.callee); }); if (href != null){ HTMLCompanion.hrefUrl = href; companionAdParent.buttonMode = true; companionAdParent.useHandCursor = true; companionAdParent.mouseChildren = false; companionAdParent.mouseEnabled = true; companionAdParent.addEventListener(MouseEvent.CLICK, function (_arg1:Event):void{ navigateToURL(new URLRequest(HTMLCompanion.hrefUrl), "_blank"); }); }; } private static function hitPixel(_arg1:String):void{ var _local2:Loader; if (((!((_arg1 == null))) && (!((_arg1 == ""))))){ _local2 = new Loader(); _local2.load(new URLRequest(_arg1)); loaders.push(_local2); }; } public static function cleanup():void{ var _local1:*; for each (_local1 in loaders) { if ((_local1 is Loader)){ Loader(_local1).unload(); }; }; loaders = null; } } }//package cpmstar

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1458 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
SerialNumber (41)Timeline Frame 1

Labels

"cpmstar_AdView"Frame 1




http://swfchan.com/25/120366/info.shtml
Created: 5/3 -2019 09:27:53 Last modified: 5/3 -2019 09:27:53 Server time: 29/04 -2024 15:50:11