File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/api.js.tar
Back
home/newsbmcs.com/public_html/play1/js/api.js 0000644 00000023276 15027264453 0015167 0 ustar 00 var CA_API_VERSION = '1.2.5'; class CA_API { constructor(conf = {}){ this.current_user = null; this.debug = false; this.isAdsense = false; this.isAdReady = false; this.ima_adtag = ''; // deprecated this.imasdk; // deprecated this.last_shown; if(conf.debug){ this.debug = true; } this.send('get_ad_config').then((result)=>{ if(result){ let self = this; let data = JSON.parse(result); if(data){ if(data.status === 'active'){ if(data.h5_client_id && data.h5_client_id.length > 8){ this.isAdsense = true; this.log('Ad configured'); // Create the external script element let externalScript = document.createElement('script'); externalScript.async = true; externalScript.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client="+data.h5_client_id; externalScript.crossOrigin = "anonymous"; externalScript.onload = function() { self.isAdReady = true; self.log('Ad ready'); }; document.head.appendChild(externalScript); // Create the inline script element let inlineScript = document.createElement('script'); inlineScript.textContent = ` window.adsbygoogle = window.adsbygoogle || []; const adBreak = adConfig = function(o) { adsbygoogle.push(o); } `; document.head.appendChild(inlineScript); } else { console.log('ERR 717'); } } } } }); } submit_score(val){ if(val){ val = Number(val); val = btoa((val/1.33)); let wait = new Promise((res) => { this.send('submit', val).then((result)=>{ if(result){ this.log('SUBMIT SCORE'); res(result); } else { this.log('FAILED SUBMIT SCORE'); res(false); } }); }); return wait; } } send(action, val = 0, conf = null){ let game_id = this.game_id; let cur_url = window.location.href; let ref; if(cur_url[cur_url.length-1] === '/'){ ref = cur_url.substring( cur_url.indexOf("/games/") + 7, cur_url.length-1 ); } else if(cur_url.substr(cur_url.length-5, cur_url.length) === '.html') { ref = cur_url.substring( cur_url.indexOf("/games/") + 7, cur_url.lastIndexOf("/index.html") ); } let wait = new Promise((res) => { let params = 'action='+action+'&value='+val+'&ref='+ref; if(conf){ params += '&conf='+conf; } let xhr = new XMLHttpRequest(); xhr.open('POST', '/includes/api.php', true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.onload = function() { if (xhr.status === 200) { if(xhr.responseText != 'ok'){ try { JSON.parse(xhr.responseText); } catch { console.warn('CA Error/Fail'); console.log(xhr.responseText); } } res(xhr.responseText); } else { res(false); } }.bind(this); xhr.onerror = function() { res(false); } xhr.send(params); }); return wait; } get_current_user(){ let wait = new Promise((res) => { this.send('get_current_user').then((result)=>{ if(result){ this.current_user = JSON.parse(result); res(result); } else { res(false); } }); }); return wait; } get_user_score(){ let wait = new Promise((res) => { this.send('get_user_score').then((val)=>{ if(!isNaN(val)){ res(Number(val)); } }); }); return wait; } get_score_rank(){ let wait = new Promise((res) => { this.send('get_score_rank').then((val)=>{ if(!isNaN(val)){ res(Number(val)); } }); }); return wait; } get_scoreboard(conf){ let wait = new Promise((res) => { this.send('get_scoreboard', 0, JSON.stringify(conf)).then((val)=>{ if(val){ res(val); } else { this.log('FAILED GET LEADERBOARD'); res(false); } }); }); return wait; } log(msg = ''){ if(this.debug){ console.log('CA: '+msg); } } prepare_ad_element(){ let div = document.getElementById('CA_AD'); if(!div){ let link = document.createElement('link'); link.rel = 'stylesheet'; link.href = '/admin/style/api.css'; document.head.appendChild(link); let elem = document.createElement('div'); elem.id = 'CA_AD'; document.body.appendChild(elem); } let html = '<div class="popbox">'; html += '<div class="popup-overlay">'; html += '<div class="pop-content">'; html += '<div id="ad-content">'; html += '<div class="ad-loader"></div>'; html += '</div>'; html += '</div>'; html += '</div>'; html += '</div>'; document.getElementById("CA_AD").innerHTML = html; } show_ad_element(val){ if(val.type == 'banner'){ let div = document.getElementById('ad-content'); let html = '<a href="'+val.url+'" target="_blank" onclick="ca_api.ad_clicked(\''+val.name+'\')" id="banner-link">'; //html += '<img class="banner-content" src="'+val.value+'" id="banner-content">'; html += '</a>'; html += '<div id="ca_b_close">'; if(!val.delay){ html += '<button class="popbox-close-button" onclick="ca_api.close_ad()"></button>'; } html += '</div>'; html += '<div id="ad-delay"></div>'; div.innerHTML = html; let img_banner = document.createElement("img"); img_banner.src = val.value; img_banner.id = 'banner-content'; img_banner.classList.add('banner-content'); img_banner.onload = function() { document.getElementById('banner-link').append(this); make_banner_fit(); } if(val.delay){ document.getElementById('ad-delay').innerHTML = 'Wait '+(val.delay)+' seconds'; let count = 0; let interval = setInterval(()=>{ count++; document.getElementById('ad-delay').innerHTML = 'Wait '+(val.delay-count)+' seconds'; if(count >= val.delay){ document.getElementById('ad-delay').innerHTML = ''; document.getElementById('ca_b_close').innerHTML = '<button class="popbox-close-button" onclick="ca_api.close_ad()"></button>'; clearInterval(interval); } }, 1000); } function make_banner_fit(){ let body_width = document.body.clientWidth; if(document.getElementById('banner-content').clientWidth > body_width){ document.getElementById('banner-content').style.width = body_width+"px"; } } } else if(val.type == 'ima'){ if(val.value != ''){ if(!this.isAdsense){ this.isAdsense = true; // removed } else { show_ads(this); } } else { this.log('IMA AD Tag is empty.'); this.on_ad_error(); this.remove_ad(); } } function show_ads(scope){ if(this.isAdsense){ // } else { if(document.getElementById('ca-ads')){ document.getElementById('ca-ads').style.display = 'block'; } // if(!scope.imasdk){ // scope.imasdk = new Application; // } // scope.imasdk.showAds(); } } } showAd(){ if(this.isAdsense && this.isAdReady){ if(this.last_shown){ let time_gap = Math.floor((Date.now() - this.last_shown) / 1000); if(time_gap < 60){ // 1 minute this.log('AD CANCELED, TOO FREQUENT'); return; } } this.last_shown = Date.now(); let self = this; adBreak({ type: '-', name: '-', beforeAd: () => { self.beforeAd(); }, // You may also want to mute the game's sound. afterAd: () => { self.afterAd(); }, // resume the game flow. }); } } show_ad(tag = null){ // Old method, deprecated if(this.last_shown){ let time_gap = Math.floor((Date.now() - this.last_shown) / 1000); if(time_gap < 120){ this.log('AD CANCELED, TOO FREQUENT'); return; } } this.last_shown = Date.now(); this.log('TRIGGER SHOW AD'); this.paused(); this.on_ad_trigger(); this.prepare_ad_element(); let wait = new Promise((res) => { this.send('load_ad', tag).then((val)=>{ this.on_ad_start(); if(val){ try { this.log('AD TAG LOADED'); val = JSON.parse(val); if(val.error){ this.log(val.error); this.on_ad_error(); this.remove_ad(); res(false); } else if(val.value == ''){ this.log('Ad/tag value is empty'); this.on_ad_error(); this.remove_ad(); res(false); } else { this.show_ad_element(val); res(val); } } catch (err) { console.log(err); this.log('AD FAILED TO PARSE'); this.on_ad_error(); this.remove_ad(); res(false); } } else { this.log('AD FAILED TO LOAD TAG'); this.on_ad_error(); this.remove_ad(); res(false); } }); }); return wait; } ad_clicked(name){ //Or banner clicked this.send('ad_clicked', name); } close_ad(){ this.log('AD CLOSED BY PLAYER'); this.remove_ad(); this.on_ad_closed(); } remove_ad(){ if(document.getElementById('CA_AD')){ document.getElementById('CA_AD').innerHTML = ''; } if(document.getElementById('ca-ads')){ document.getElementById('ca-ads').style.display = 'none'; } this.on_ad_end(); this.resume(); } // Callbacks beforeAd(){ // Set from game code // Called before the Ad begin to shown // Used to pause game, mute.etc } afterAd(){ // Set from game code // Called after the Ad shown / closed // Used to resume game, unmute.etc } paused(){ // } resume(){ // } on_ad_trigger(){ // } on_ad_start(){ // } on_ad_end(){ // } on_ad_closed(){ // Ad closed or skipped by Player } on_ad_finished(){ // Used for Adsense } on_ad_error(e){ // } } console.log('CA API v'+CA_API_VERSION+' loaded!'); const ca_api = new CA_API;
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings