forked from nusmodifications/nusmods
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdisqus-count.js
73 lines (71 loc) · 1.82 KB
/
disqus-count.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/* jshint ignore:start */
'use strict';
var DISQUSWIDGETS, disqus_domain, disqus_shortname;
typeof DISQUSWIDGETS === 'undefined' && (DISQUSWIDGETS = function () {
var c = {};
var n = document.getElementsByTagName('HEAD')[0] || document.body;
var i = {};
var m = {
identifier: 1,
url: 2
};
c.domain = 'disqus.com';
c.forum = '';
c.getCount = function () {
i = {};
var a = encodeURIComponent;
var b = document.getElementsByTagName('span');
var d = [];
var g = 0;
var j = 10;
var o = document.location.protocol + '//' + c.forum + '.' + c.domain + '/count-data.js?';
var l;
for (var h, e, f, k = 0; k < b.length; k++) {
h = b[k];
e = h.getAttribute('data-disqus-identifier');
f = h.hash === '#disqus_thread' && h.href.replace('#disqus_thread', '');
if (e) {
f = m.identifier;
} else if (f) {
e = f;
f = m.url;
} else {
continue;
}
i.hasOwnProperty(e) ? l = i[e] : (l = i[e] = {elements: [],type: f}, d.push(a(f) + '=' + a(e)));
l.elements.push(h);
}
d.sort();
for (a = d.slice(g, j); a.length; ) {
b = document.createElement('script');
b.async = !0;
b.src = o + a.join('&');
n.appendChild(b);
g += 10;
j += 10;
a = d.slice(g, j);
}
};
c.displayCount = function (a) {
for (var b, c, d, g = a.counts, a = a.text.comments; b = g.shift(); ) {
if (c = i[b.id]) {
switch (b.comments) {
case 0:
d = a.zero;
break;
case 1:
d = a.one;
break;
default:
d = a.multiple;
}
b = d.replace('{num}', b.comments);
c = c.elements;
for (d = c.length - 1; d >= 0; d--) {
c[d].innerHTML = b;
}
}
}
};
return c;
}());