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."); });

Article Commenting

Discussion in 'Feedback' started by John j, Jun 7, 2014.

  1. John j

    John j PSLS Level: Newbie

    Joined:
    Mar 3, 2014
    Messages:
    14
    Likes Received:
    15
    We should be able to use our forum accounts to comment on articles. Mix the forum with the site. Is this possible?
     
  2. BigPete7978

    BigPete7978 PSLS Level: Silver

    Joined:
    Feb 6, 2014
    Messages:
    1,826
    Likes Received:
    373
    PSN:
    BigPete7978
    Currently not at the moment, they are separate. Could it happen in the future? Possibly. We are always looking for great improvements, this being one of them.
     
  3. Jacky

    Jacky PSLS Level: Silver

    Joined:
    Feb 20, 2014
    Messages:
    1,295
    Likes Received:
    265
    PSN:
    ScoobyPup01
    I kinda like how they are seperate, easier to keep track off
     
  4. stolenxnametag

    stolenxnametag PSLS Level: Kraken PSLS Ambassador

    Joined:
    Feb 13, 2014
    Messages:
    1,264
    Likes Received:
    381
    PSN:
    arithrottle
    That would awesome!
     
  5. Lifewish

    Lifewish 중재자 Staff Member

    Joined:
    Feb 6, 2014
    Messages:
    1,004
    Likes Received:
    380
    PSN:
    lifewish
    Like @BigPete7978 said, right now it is not possible, though maybe in the future.
     

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