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."); }); -->
Vailixx
Last Activity:
Dec 15, 2015 at 9:15 AM
Joined:
Dec 14, 2015
Messages:
1
Likes Received:
0
Trophy Points:
23
Gender:
Male
Birthday:
Jul 23, 1993 (Age: 26)

Share This Page

Vailixx

PSLS Level: Newbie, Male, 26

Vailixx was last seen:
Dec 15, 2015
  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