Skip to content

Instantly share code, notes, and snippets.

@abhiaiyer91
Created June 4, 2015 18:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abhiaiyer91/1018c36505c869694561 to your computer and use it in GitHub Desktop.
Save abhiaiyer91/1018c36505c869694561 to your computer and use it in GitHub Desktop.
Wootric Lib
/**
* Created by abhiaiyer on 4/10/15.
*/
Wootric = {};
Meteor.startup(function () {
var key = Meteor.settings.public && Meteor.settings.public.wootric && Meteor.settings.public.wootric.key;
if (!key) {
return;
}
Tracker.autorun(function () {
var userId = Meteor.userId();
var loggedIn = !!userId;
var user = Meteor.users.findOne({_id: userId}, {fields: {emails: 1, createdAt: 1}});
if (loggedIn
&& user
&& user.createdAt
&& user.emails
&& user.emails.length > 0) {
var email = user && user.emails[0].address;
wootric_first_survey = 0;
wootric_registered_percent = 100;
window.wootricSettings = {
email: email,
created_at: moment(user.createdAt).unix(),
product_name: 'Workpop',
account_token: key,
decline_callback: function () {
Meteor.call('updateUser', {_id: userId}, {$set: {'meta.notifications.needsDelightedSurvey': true}});
},
response_callback: function (score) {
var npsObject = {
score: score,
date: moment().toISOString(),
method: 'wootric'
};
Meteor.call('updateUser', {_id: userId}, {$addToSet: {'meta.NPS': npsObject}});
}
};
/*{literal}<![CDATA[*/
if (window.wootricSettings) {
var i = new Image;
i.src = "//d8myem934l1zi.cloudfront.net/pixel.gif?account_token=" + window.wootricSettings.account_token + "&email=" + encodeURIComponent(window.wootricSettings.email) + "&created_at=" + window.wootricSettings.created_at + "&url=" + encodeURIComponent(window.location) + "&random=" + Math.random()
}
window.lightningjs || function (c) {
function g(b, d) {
d && (d += (/\?/.test(d) ? "&" : "?") + "lv=1");
c[b] || function () {
var i = window, h = document, j = b, g = h.location.protocol, l = "load", k = 0;
(function () {
function b() {
a.P(l);
a.w = 1;
c[j]("_load")
}
c[j] = function () {
function m() {
m.id = e;
return c[j].apply(m, arguments)
}
var b, e = ++k;
b = this && this != i ? this.id || 0 : 0;
(a.s = a.s || []).push([e, b, arguments]);
m.then = function (b, c, h) {
var d = a.fh[e] = a.fh[e] || [], j = a.eh[e] = a.eh[e] || [], f = a.ph[e] = a.ph[e] || [];
b && d.push(b);
c && j.push(c);
h && f.push(h);
return m
};
return m
};
var a = c[j]._ = {};
a.fh = {};
a.eh = {};
a.ph = {};
a.l = d ? d.replace(/^\/\//, (g == "https:" ? g : "http:") + "//") : d;
a.p = {0: +new Date};
a.P = function (b) {
a.p[b] = new Date - a.p[0]
};
a.w && b();
i.addEventListener ? i.addEventListener(l, b, !1) : i.attachEvent("on" + l, b);
var q = function () {
function b() {
return ["<head></head><", c, ' onload="var d=', n, ";d.getElementsByTagName('head')[0].", d, "(d.", g, "('script')).", i, "='", a.l, "'\"></", c, ">"].join("")
}
var c = "body", e = h[c];
if (!e)return setTimeout(q, 100);
a.P(1);
var d = "appendChild", g = "createElement", i = "src", k = h[g]("div"), l = k[d](h[g]("div")), f = h[g]("iframe"), n = "document", p;
k.style.display = "none";
e.insertBefore(k, e.firstChild).id = o + "-" + j;
f.frameBorder = "0";
f.id = o + "-frame-" + j;
/MSIE[ ]+6/.test(navigator.userAgent) && (f[i] = "javascript:false");
f.allowTransparency = "true";
l[d](f);
try {
f.contentWindow[n].open()
} catch (s) {
a.domain = h.domain, p = "javascript:var d=" + n + ".open();d.domain='" + h.domain + "';", f[i] = p + "void(0);"
}
try {
var r = f.contentWindow[n];
r.write(b());
r.close()
} catch (t) {
f[i] = p + 'd.write("' + b().replace(/"/g, String.fromCharCode(92) + '"') + '");d.close();'
}
a.P(2)
};
a.l && q()
})()
}();
c[b].lv = "1";
return c[b]
}
var o = "lightningjs", k = window[o] = g(o);
k.require = g;
k.modules = c
}({});
/*]]>{/literal}*/
Wootric.wootric = lightningjs.require("wootric", "//d27j601g4x0gd5.cloudfront.net/beacon.js");
}
});
});
//// TODO: The current logged in user's email address. created_at: 1234567890,
//// TODO: The current logged in user's sign-up date as a Unix timestamp. product_name: 'Wootric',
//// TODO: The name of the product or service account_token: 'NPS-d7b85a69'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment