var headersData, admiralChecked = false; function getHeaders() { if (headersData === undefined) { var req = new XMLHttpRequest(); req.open('GET', location, false); req.send(null); // associate array to store all values headersData = new Object(); // get all headers in one call and parse each item var headers = req.getAllResponseHeaders().toLowerCase(), aHeaders = headers.split('\n'); for (var i= 0; i < aHeaders.length; i++) { var thisItem = aHeaders[i], key = thisItem.substring(0, thisItem.indexOf(':')), value = thisItem.substring(thisItem.indexOf(':') + 1); headersData[key] = value; } } } function getCFRay() { var result = 'admiral'; getHeaders(); if (headersData['cf-ray'] !== undefined && headersData['cf-ray'].length > 0) { result = headersData['cf-ray'].split('-')[1]; } else if (headersData['x-served-by'] !== undefined && headersData['x-served-by'].length > 0) { result = headersData['x-served-by']; } return result; } /** * Read Admiral cookie value * @param {string} status */ function readAdmiralCookie() { var cookieArray = document.cookie.split(/; */), ciphertextArray = [], isValid = false, matched = false, plaintext = '', cookieName, bytes, i; for (i = 0; i < cookieArray.length; i++) { ciphertextArray = cookieArray[i].split('='); if (ciphertextArray.length > 0) { bytes = CryptoJS.AES.decrypt(ciphertextArray[0].replace(/@[email protected]/g, '='), getCFRay()); try { plaintext = bytes.toString(CryptoJS.enc.Utf8); isValid = true; } catch { isValid = false; } if (isValid && plaintext.length > 0 && plaintext === (getCFRay() + navigator.userAgent).trim()) { cookieName = ciphertextArray[0] + '='; matched = true; break; } } } if (matched) { var char = cookieArray[i]; if (char.indexOf(cookieName) === 0) { var result = char.substring(cookieName.length, char.length).replace(/@[email protected]/g, '='), decrypted = CryptoJS.AES.decrypt(result, getCFRay()), data = { 'key' : cookieName, 'val' : 'false' }; if (decrypted.toString(CryptoJS.enc.Utf8) === (navigator.userAgent + getCFRay() + '1').trim()) { data['val'] = 'true'; } return data; } } return null; } /** * Save Admiral subscribed status to cookie * @param {string} status */ function updateAdmiralCookie(cipherValue, existingCookie) { var date = new Date(), valuePlainText = cipherValue.replace(/=/g, '@[email protected]'), admiralCookie; if (existingCookie !== null) { admiralCookie = existingCookie + valuePlainText; } else { var title = (getCFRay() + navigator.userAgent).trim(), titleCipher = CryptoJS.AES.encrypt(title, getCFRay()).toString(), titlePlainText = titleCipher.replace(/=/g, '@[email protected]'); admiralCookie = titlePlainText + '=' + valuePlainText; } date.setTime(date.getTime() + (10 * 60 * 1000)); admiralCookie += '; expires=' + date.toUTCString() + '; path=/'; document.cookie = admiralCookie; } checkAdmiralCookiePromise = new Promise(function (resolve, reject) { var cookieData = readAdmiralCookie(); if (cookieData !== null && cookieData['val'] === 'true') { resolve('subscribed'); } else if (window.admiral) { var checkAdmiralStatusPromise; if (window.location.host.replace(/^((sbx)|(dev)|(stg)|(www))\./, '') === 'forums.playstationlifestyle.net') { checkAdmiralStatusPromise = new Promise(function (resolve, reject) { if (typeof window.admiral !== 'undefined') { window.admiral("after", "measure.detected", function({ adblocking, whitelisted, subscribed }){ if (subscribed) { resolve('measure.subscribed'); } else { reject('measure.unsubscribed'); } }); } }); } else { checkAdmiralStatusPromise = new Promise(function (resolve, reject) { setTimeout(function () { reject('resolve'); }, 0); }); } checkAdmiralStatusPromise.then(function () { var cookieName = null; if (cookieData !== null) { cookieName = cookieData['key']; } updateAdmiralCookie(CryptoJS.AES.encrypt((navigator.userAgent + getCFRay() + '1').trim(), getCFRay()).toString(), cookieName); resolve('subscribed'); }) .catch(function (resp) { var cookieName = null; if (cookieData !== null) { cookieName = cookieData['key']; } updateAdmiralCookie(CryptoJS.AES.encrypt((navigator.userAgent + getCFRay() + '0').trim(), getCFRay()).toString(), cookieName); reject('unsubscribed'); }); } }); checkAdmiralCookiePromise.then(function () { console.info("[ADMIRAL] User Subscribed."); }).catch(function (resp) { console.info("[ADMIRAL] User Not Subscribed."); }); -->

Hello!

Discussion in 'New User Center' started by xx456xx, Jan 3, 2016.

  1. xx456xx

    xx456xx PSLS Level: Newbie

    Joined:
    Jan 3, 2016
    Messages:
    2
    Likes Received:
    0
    Have a nice day !
     
  2. MakaiOokami

    MakaiOokami PSLS Level: Bronze

    Joined:
    Feb 12, 2014
    Messages:
    897
    Likes Received:
    170
    You too
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice