Created
February 17, 2017 11:41
-
-
Save herdianf/40663c410b8c090a31d16f5be5ae4f29 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function SuccessUID(UID) | |
{ | |
var d = new Date(); | |
d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000)); | |
var expires = "expires=" + d.toUTCString(); | |
document.cookie = "UID=" + UID + "; " + expires + "; domain=.vizpro.sg; path=/"; | |
cX.callQueue.push(['invoke', function () { // This is called when CX is ready, no need for callQueue.push after this. | |
if (UID != "" && UID != "null" && UID != "true" && UID != "false" && UID != "error" && UID != "undefined" && UID.length > 5) | |
{ | |
cX.addExternalId({ id: UID, type: 'mdc' }); | |
} | |
cX.setSiteId('1141834034534548467'); | |
//for testing environment only. | |
//cX.sendPageViewEvent({ 'location': 'http://insert.test.url/here' }); | |
//for production use below | |
cX.sendPageViewEvent(); | |
}]); | |
} | |
(function($) { | |
function GenerateUID(SSOID) { | |
var cookies = ("cookie" in document && (document.cookie.length > 0 || (document.cookie = "test").indexOf.call(document.cookie, "test") > -1)); | |
if (!cookies) { | |
return; | |
} | |
var UniversalID = ""; | |
var LotameID; | |
var CxenseID; | |
//adding by script : additional parameter with new UID API backend | |
//Pass SSOID to lotame - Start | |
if (SSOID != "") { | |
_cc9615.add('tp', 'MCRP'); //'MCRP' | |
_cc9615.add('tpid', SSOID); | |
} | |
_cc9615.bcp(); | |
//Pass SSOID to lotame - END | |
//end adding | |
UniversalID = getCookie("UID"); | |
LotameID = typeof lotauds != 'undefined' ? lotauds.Profile.pid : ''; | |
CxenseID = typeof cX.getUserId != 'undefined' ? cX.getUserId() : getCookie("cX_P"); | |
if (typeof mcDataLayer != 'undefined') { | |
mcDataLayer.uid = UniversalID; | |
mcDataLayer.cxenseid = CxenseID; | |
mcDataLayer.lotameid = LotameID; | |
} | |
console.log( ['UniversalID=',UniversalID, 'SSOID=',SSOID, 'LotameID=',LotameID] ) | |
if ((UniversalID != "" && SSOID == "") || (UniversalID == SSOID && SSOID != "")) { | |
//adding by script : additional parameter with new UID API backend | |
cX.callQueue.push(['invoke', function () { // This is called when CX is ready, no need for callQueue.push after this. | |
cX.setSiteId('1141834034534548467'); | |
cX.addExternalId({ id: UniversalID, type: 'mdc' }); | |
cX.sendPageViewEvent(); | |
}]); | |
//end adding | |
} else { | |
//adding by script : additional parameter with new UID API backend | |
var uidscript = document.createElement('script'); | |
uidscript.setAttribute('id', 'uidscript'); | |
uidscript.type = "text/javascript"; | |
uidscript.src = "https://uid.mediacorp.sg/api/Profiles/GetUID?LotameID=" | |
+ LotameID + "&CxenseID=" + CxenseID + "&SSOID=" + SSOID + "&UniversalID=" + UniversalID; | |
uidscript.async = true; | |
document.body.appendChild(uidscript); | |
//end adding | |
/* remark by arif | |
var mapping = { | |
LotameID: LotameID, | |
CxenseID: CxenseID, | |
SSOID: SSOID, | |
UniversalID: UniversalID | |
} | |
$.support.cors = true; | |
$.ajax({ | |
type: "POST", | |
data: JSON.stringify(mapping), | |
crossDomain: true, | |
url: "https://uid.mediacorp.sg/api/Profiles/GetUID", | |
contentType: "application/json", | |
success: function(result, status) { | |
setCookie("UID", result, 365); | |
if (typeof mcDataLayer != 'undefined') { | |
mcDataLayer.uid = result; | |
} | |
}, | |
error: function(result, status) {} | |
}); | |
*/ | |
} | |
} | |
function setCookie(cname, cvalue, exdays) { | |
var d = new Date(); | |
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); | |
var expires = "expires=" + d.toUTCString(); | |
document.cookie = cname + "=" + cvalue + "; " + expires; | |
} | |
function getCookie(cname) { | |
var name = cname + "="; | |
var ca = document.cookie.split(';'); | |
for (var i = 0; i < ca.length; i++) { | |
var c = ca[i]; | |
while (c.charAt(0) == ' ') c = c.substring(1); | |
if (c.indexOf(name) == 0) return c.substring(name.length, c.length); | |
} | |
return ""; | |
} | |
$(document).ready(function() { | |
try { | |
GenerateUID(''); | |
} catch (e) {} | |
}); | |
})(jQuery) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment