view src/nabble/modules/ad/Javascript.java @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children
line wrap: on
line source


package nabble.modules.ad;

import nabble.model.Init;


final class Javascript {

	public static String BANNER_IMG = Init.get("bannerImg", "ad_nabble.png");
	public static String BANNER_URL = Init.get("bannerUrl", "https://www.nabble.com/");

	public static volatile String hackAds = "";

	static String text(Ad ad) {
		boolean isSafe = ad.isSafe();
		return 
		"\r\n\r\n		var _gaq = _gaq || [];\r\n\r\n		var isA;\r\n\r\n		(function() {\r\n			var ab = Nabble.getCookie(\"ab\");\r\n			if( ab == null ) {\r\n				ab = Math.random() < 0.5 ? \"a\" : \"b\";\r\n				Nabble.setCookie(\"ab\",ab);\r\n			}\r\n			isA = ab == \"a\";\r\n		})();\r\n\r\n		var isB = !isA;\r\n\r\n		Nabble.isSafe = "
		+(isSafe)
		+";\r\n		Nabble.adGroup = '"
		+( isSafe ? "SAFE" : "BAD" )
		+"';\r\n\r\n		var lastDayWithoutAds = "
		+(ad.lastDayWithoutAds())
		+";\r\n		var daysLeft = Math.round((lastDayWithoutAds - new Date().getTime()) / (24 * 60 * 60 * 1000));\r\n		Nabble.currentCredits = "
		+(ad.getCredits())
		+";\r\n		Nabble.isPaid = "
		+(ad.isPaid())
		+";\r\n		Nabble.creditsForUsersOnly = "
		+(ad.isCreditsForUsersOnly())
		+";\r\n		Nabble.wasCreatedRecently = daysLeft > 0;\r\n		Nabble.removeAdsPath = '/template/NamlServlet.jtp?macro=site_payment';\r\n\r\n		Nabble.noAds = function(location) {\r\n			Nabble.noAds = function(location) {};\r\n			_gaq.push(['nabble._trackEvent', 'ad-type', 'NONE']);\r\n		};\r\n\r\n		Nabble.ads = function(location) {\r\n			if (Nabble.currentCredits > 0 && Nabble.creditsForUsersOnly && Nabble.userId)\r\n				return;\r\n			Nabble.fixAdGroup(location);\r\n			Ads[Nabble.adGroup](location);\r\n		};\r\n\r\n		Nabble.adbayes = function() {\r\n			window.Adbayes = window.Adbayes || { properties:{} };\r\n			Adbayes.properties['domain'] = window.location.hostname;\r\n			Adbayes.properties['adtype'] = Nabble.adGroup;\r\n\r\n			if (Nabble.wasCreatedRecently && Nabble.adGroup == 'SAFE')\r\n				Nabble.adGroup = \"NEW\";\r\n\r\n			if( Nabble.adGroup=='SAFE' && Adbayes.result != 'safe' )\r\n				Nabble.adGroup = 'UNSAFE';\r\n\r\n			if( Nabble.adGroup=='SAFE' )\r\n				_gaq.push(['nabble._setCustomVar', 1, 'Safe', 'x']);\r\n		};\r\n\r\n		Nabble.fixAdGroup = function(location) {\r\n			Nabble.fixAdGroup = function(location) {};\r\n\r\n			if (!window.Adbayes) {\r\n				Nabble.adGroup = \"NEW\";\r\n				_gaq.push(['nabble._trackEvent', 'ad-type', Nabble.adGroup]);\r\n				return;\r\n			}\r\n\r\n			switch(location) {\r\n				case 'app_bottom':\r\n					Adbayes.properties['page-type'] = 'forum';\r\n					break;\r\n				case 'first_classic_message':\r\n				case 'last_classic_message':\r\n					Adbayes.properties['page-type'] = 'classic-view';\r\n					break;\r\n				case 'list_bottom':\r\n					Adbayes.properties['page-type'] = 'list-view';\r\n					break;\r\n				case 'threaded_bottom':\r\n					Adbayes.properties['page-type'] = 'threaded-view';\r\n					break;\r\n				case 'blog_topic':\r\n					Adbayes.properties['page-type'] = 'blog-topic';\r\n					break;\r\n				case 'search_top':\r\n				case 'search_bottom':\r\n					Adbayes.properties['page-type'] = 'search';\r\n					break;\r\n				case 'widget':\r\n					Adbayes.properties['page-type'] = 'widget';\r\n					break;\r\n				default:\r\n					Adbayes.properties['page-type'] = 'unknown:' + location;\r\n					break;\r\n			}\r\n			Nabble.realTimeAnalytics();\r\n		};\r\n\r\n		Nabble.realTimeAnalytics = function() {\r\n			_gaq.push(['nabble._trackEvent', 'ad-type', Nabble.adGroup]);\r\n			if (Adbayes.properties['adtype'] == 'SAFE' && window.Adbayes.listeners) {\r\n				window.Adbayes.listeners.push(function() {\r\n					var page = Adbayes.properties['page-type'];\r\n					var status;\r\n					if (Adbayes.isNew) {\r\n						status = \"new\";\r\n					} else if (Adbayes.isCanonical) {\r\n						status = \"canonical\";\r\n					} else if(Adbayes.isOutdated) {\r\n						status = \"outdated\";\r\n					} else {\r\n						status = \"set\";\r\n					}\r\n					_gaq.push(['nabble._trackEvent', 'adbayes-status', page + ':' + status, Adbayes.result]);\r\n				});\r\n			}\r\n		};\r\n\r\n\r\n		var Ads = {};\r\n\r\n		Ads.styles = {\r\n			widget: { cls: '', style: '' },\r\n			blog_topic: { cls: 'shaded-bg-color rounded', style: 'padding:.5em;' },\r\n			first_classic_message: { cls: '', style: 'text-align:left;' },\r\n			last_classic_message: { cls: '', style: 'text-align:left;padding-top:1em;' },\r\n			list_bottom: { cls: '', style: 'margin-top:1.5em;' },\r\n			threaded_bottom: { cls: '', style: 'margin-top:1.5em;' },\r\n			search_top: { cls: '', style: 'text-align:left;margin:1em 0;padding:.5em 0;' },\r\n			search_bottom: { cls: '', style: 'text-align:left;padding:.5em 0;' },\r\n			app_bottom: { cls: '', style: 'margin:2.5em auto;text-align:center;' },\r\n			topic_bottom: { cls: '', style: '' }\r\n		};\r\n\r\n		Ads.NEW = function(location) {\r\n			switch(location) {\r\n			case 'blog_topic':\r\n			case 'first_classic_message':\r\n			case 'list_bottom':\r\n			case 'threaded_bottom':\r\n			case 'search_bottom':\r\n			case 'app_bottom':\r\n			}\r\n		};\r\n\r\n		Ads.NABBLE = function(location) {\r\n			switch(location) {\r\n			case 'blog_topic':\r\n			case 'first_classic_message':\r\n			case 'list_bottom':\r\n			case 'threaded_bottom':\r\n			case 'search_bottom':\r\n				Nabble.showAd( location, function() {\r\n					var imgName = '"
		+(BANNER_IMG)
		+"';\r\n					var url = '"
		+(BANNER_URL)
		+"';\r\n					_gaq.push(['nabble._trackEvent', 'banner', imgName]);\r\n					document.write('<a href=\"'+url+'\" rel=\"nofollow\" style=\"display:block !important;visibility:visible !important;height:auto !important; width: auto !important;position:static !important;top:auto !important;left:auto !important\"><img src=\"http://static.nabble.com/images/'+imgName+'\" style=\"border:1px solid #bbb;display:inline !important;visibility:visible !important;height:auto !important;width:auto !important\"/></a>');\r\n				} );\r\n			}\r\n		};\r\n\r\n		Ads.AdSense = function(location) {\r\n			switch(location) {\r\n			case 'blog_topic':\r\n				Nabble.showAd( location, function() {\r\n					google_ad_slot = \"8807592501\";\r\n					google_ad_width = 728;\r\n					google_ad_height = 90;\r\n					Nabble._adsense();\r\n				} );\r\n				break;\r\n			case 'first_classic_message':\r\n				Nabble.showAd( location, function() {\r\n					var fn = function() {\r\n						google_ad_slot = \"8703015991\";\r\n						google_ad_width = 336;\r\n						google_ad_height = 280;\r\n						Nabble._adsense();\r\n					};\r\n					document.writeln('<div style=\"width:336px; float:left; clear:none; display:block !important;\">');\r\n					Nabble.writeFn(fn);\r\n					document.writeln('</div>');\r\n					document.writeln('<div style=\"width:336px; float:left; clear:none; display:block !important;\">');\r\n					Nabble.writeFn(fn);\r\n					document.writeln('</div>');\r\n				}, \"width:675px !important;\" );\r\n				break;\r\n			case 'last_classic_message':\r\n				Nabble.showAd( location, function() {\r\n					google_ad_slot = \"8323336297\";\r\n					google_ad_width = 728;\r\n					google_ad_height = 90;\r\n					Nabble._adsense();\r\n				} );\r\n				break;\r\n			case 'list_bottom':\r\n				Nabble.showAd( location, function() {\r\n					google_ad_slot = \"6508328921\";\r\n					google_ad_width = 728;\r\n					google_ad_height = 90;\r\n					Nabble._adsense();\r\n				} );\r\n				break;\r\n			case 'threaded_bottom':\r\n				Nabble.showAd( location, function() {\r\n					google_ad_slot = \"8434893994\";\r\n					google_ad_width = 728;\r\n					google_ad_height = 90;\r\n					Nabble._adsense();\r\n				} );\r\n				break;\r\n			case 'search_top':\r\n				Nabble.AdsenseSearchAds();\r\n				break;\r\n			case 'search_bottom':\r\n				Nabble.showAd( location, function() {\r\n					google_ad_slot = \"0099567777\";\r\n					google_ad_width = 728;\r\n					google_ad_height = 90;\r\n					google_ad_type = \"image\";\r\n					Nabble._adsense();\r\n				} );\r\n				break;\r\n			case 'app_bottom':\r\n				Nabble.showAd( location, function() {\r\n					var fn = function() {\r\n						google_ad_slot = \"1057993213\";\r\n						google_ad_width = 728;\r\n						google_ad_height = 90;\r\n						Nabble._adsense();\r\n					};\r\n					Nabble.writeFn(fn);\r\n				} );\r\n				break;\r\n			}\r\n		};\r\n\r\n		Ads.SAFE = function(location) {\r\n			Ads.AdSense(location);\r\n		};\r\n\r\n		Ads.ST = function(location) {\r\n			if (Nabble.currentCredits > 0 || Nabble.isPaid)\r\n				return;\r\n			window.has_st = true;\r\n		};\r\n\r\n		Ads.BAD = Ads.ST;\r\n		Ads.UNSAFE = Ads.ST;\r\n\r\n		Nabble.showAd = function(location,fn,style) {\r\n			var customStyle = Ads.styles[location].style + (style == null?'':style);\r\n			document.writeln('<div class=\"ad '+Ads.styles[location].cls+'\" style=\"display:block !important;visibility:visible !important;height:auto !important; width: auto !important;position:static !important;top:auto !important;left:auto !important;'+customStyle+'\">');\r\n			fn();\r\n			if (!Nabble.creditsForUsersOnly || Nabble.userId) {\r\n				document.writeln('<div style=\"padding-top:.3em;font-size:90%;clear:both\"><a href=\"'+Nabble.removeAdsPath+'\">'+Ads.text.removeAds+'</a></div>');\r\n				document.writeln('</div>');\r\n			}\r\n		};\r\n\r\n		Nabble.AdsenseSearchAds = function() {\r\n			if (nabble_search_query && nabble_search_query != '') {\r\n				(function(G,o,O,g,L,e){G[g]=G[g]||function(){(G[g]['q']=G[g]['q']||[]).push(\r\n				arguments)},G[g]['t']=1*new Date;L=o.createElement(O),e=o.getElementsByTagName(\r\n				O)[0];L.async=1;L.src='//www.google.com/adsense/search/async-ads.js';\r\n				e.parentNode.insertBefore(L,e)})(window,document,'script','_googCsa');\r\n\r\n				document.writeln('<div id=\"ad1\" style=\"margin:0 0 1em -.3em\"></div>');\r\n				var pageOptions = {\r\n					'pubId': 'pub-6703598369329977',\r\n					'query': nabble_search_query,\r\n					'hl': 'en'\r\n				};\r\n				var ad = Nabble._ad();\r\n				var bg = '#'+Nabble._bgcolor(ad);\r\n				var tc = '#'+Nabble._color('div.search-results-header','808080');\r\n				var lc = '#'+Nabble._linkColor(ad);\r\n				var adblock1 = {\r\n					'container': 'ad1',\r\n					'width': '100%',\r\n					'fontFamily': 'verdana',\r\n					'fontSizeTitle': 15,\r\n					'fontSizeDescription': 13,\r\n					'fontSizeDomainLink': 13,\r\n					'colorTitleLink': lc,\r\n					'colorText': tc,\r\n					'colorDomainLink': tc,\r\n					'colorBackground': bg,\r\n					'colorAdBorder': bg,\r\n					'colorBorder': bg\r\n				};\r\n				_googCsa('ads', pageOptions, adblock1);\r\n			}\r\n		};\r\n\r\n		Nabble.writeFn = function(fn) {\r\n			Nabble._fn = fn;\r\n			document.writeln('<script type=\"text/javascript\">Nabble._fn()</script>');\r\n		};\r\n\r\n\r\n		Nabble._adwords = function() {\r\n			google_conversion_id = 975361083;\r\n			google_conversion_language = \"en\";\r\n			google_conversion_format = \"3\";\r\n			google_conversion_color = \"ffffff\";\r\n			google_conversion_label = \"sfP9CM34nwgQu6iL0QM\";\r\n			google_conversion_value = 10;\r\n			google_remarketing_only = false;\r\n			document.write('<script type=\"text/javascript\" src=\"//www.googleadservices.com/pagead/conversion.js\"></script>');\r\n		};\r\n\r\n		Nabble._adsense = function() {\r\n			var ad = Nabble._ad();\r\n			if( google_ad_width==728 && Nabble._narrowUnit(ad,728) ) {\r\n				google_ad_slot = \"1143776366\";\r\n				google_ad_width = 468;\r\n				google_ad_height = 60;\r\n			}\r\n			var bg = Nabble._bgcolor(ad);\r\n			google_color_border = bg;\r\n			google_color_bg = bg;\r\n			google_color_text = \"808080\";\r\n			google_color_url = \"808080\";\r\n			google_color_link = Nabble._linkColor(ad);\r\n			google_ad_client = \"ca-pub-6703598369329977\";\r\n			document.write('<script type=\"text/javascript\" src=\"http://pagead2.googlesyndication.com/pagead/show_ads.js\"></script>');\r\n			var __ad = 'div'+ad.getAttribute('id').substring(2);\r\n			$(ad).parent().addClass(__ad);\r\n 			document.write('<style type=\"text/css\">');\r\n 			document.write('.nabble .' + __ad + ' ins { display:inline-table !important; visibility: visible !important; height:' + google_ad_height + 'px !important; width: ' + google_ad_width + 'px !important; position:static !important;top:auto !important;left:auto !important; }');\r\n 			document.write('.nabble .' + __ad + ' ins ins iframe { display:block !important; visibility: visible !important; height:' + google_ad_height + 'px !important; width: ' + google_ad_width + 'px !important; position:static !important;top:auto !important;left:auto !important; }');\r\n 			document.write('</style>');\r\n		};\r\n\r\n		Nabble._ad = function() {\r\n			var ad = \"ad\" + Math.round(Math.random() * 999999);\r\n			document.writeln('<a id=\"'+ad+'\" href=\"#\" style=\"display:none\">.</a>');\r\n			return Nabble.get(ad);\r\n		};\r\n\r\n		Nabble._bgcolor = function(ad) {\r\n			var $elem = $(ad);\r\n			var $parent = $elem;\r\n			var bg;\r\n			while ($parent.size() > 0) {\r\n				try {\r\n					bg = $parent.css('background-color');\r\n				} catch(err) {\r\n					$elem.addClass('shaded-bg-color');\r\n					bg = $elem.css('background-color');\r\n					break;\r\n				}\r\n				if (bg != 'transparent' && bg.indexOf('rgba') != 0)\r\n					break;\r\n				$parent = $parent.parent();\r\n			}\r\n			if (bg.charAt(0) == '#')\r\n				return bg.substring(1);\r\n			else if (bg.indexOf('rgb') == 0) {\r\n				bg = bg.substring(4, bg.length-1);\r\n				var rgb = bg.split(',');\r\n				return Nabble._hexa(rgb[0]) + Nabble._hexa(rgb[1]) + Nabble._hexa(rgb[2]);\r\n			}\r\n			return bg;\r\n		};\r\n\r\n		Nabble._linkColor = function(ad) {\r\n			var c = $(ad).css('color');\r\n			if (c.charAt(0) == '#')\r\n				return c.substring(1);\r\n			else if (c.indexOf('rgb') == 0) {\r\n				c = c.substring(4, c.length-1);\r\n				var rgb = c.split(',');\r\n				return Nabble._hexa(rgb[0]) + Nabble._hexa(rgb[1]) + Nabble._hexa(rgb[2]);\r\n			}\r\n			return 'EEEEEE';\r\n		};\r\n\r\n		Nabble._color = function(sel,def) {\r\n			var c = $(sel).css('color');\r\n			if (c.charAt(0) == '#')\r\n				return c.substring(1);\r\n			else if (c.indexOf('rgb') == 0) {\r\n				c = c.substring(4, c.length-1);\r\n				var rgb = c.split(',');\r\n				return Nabble._hexa(rgb[0]) + Nabble._hexa(rgb[1]) + Nabble._hexa(rgb[2]);\r\n			}\r\n			return def;\r\n		};\r\n\r\n		Nabble._hexa = function(c) {\r\n			var n = parseInt(c).toString(16);\r\n			return n.length == 1? '0' + n : n;\r\n		};\r\n\r\n		Nabble._narrowUnit = function(ad,limit) {\r\n			return $(ad).parent().width() < limit;\r\n		};\r\n\r\n\r\n		var b = function() {};\r\n\r\n		"
		+(hackAds)
		+"\r\n\r\n		if(isB) b();\r\n		"
;
	}

	private Javascript() {}  // never
}