(no commit message)
[paste/132.git] / click-tracking.min.js
1 function() {\r
2     var e = window.jQuery;\r
3     Discourse.ClickTrack = {\r
4         trackClick: function(t) {\r
5             if ("" !== Discourse.Utilities.selectedText()) return !1;\r
6             var s = e(t.currentTarget);\r
7             if (s.hasClass("lightbox")) return !0;\r
8             var a = s.attr("href") || s.data("href"),\r
9                 n = s.closest("article"),\r
10                 r = n.data("post-id"),\r
11                 o = e("#topic").data("topic-id"),\r
12                 i = s.data("user-id");\r
13             if (a && 0 !== a.trim().length) {\r
14                 i || (i = n.data("user-id"));\r
15                 var u = i && i === Discourse.User.currentProp("id"),\r
16                     c = Discourse.getURL("/clicks/track?url=" + encodeURIComponent(a));\r
17                 if (r && !s.data("ignore-post-id") && (c += "&post_id=" + encodeURI(r)), o && (c += "&topic_id=" + encodeURI(o)), !u) {\r
18                     var l = e("span.badge", s);\r
19                     if (1 === l.length && 0 === s.closest(".badge-category").length && (0 === s.closest(".onebox-result").length && 0 === s.closest(".onebox-body").length || s.hasClass("track-link"))) {\r
20                         var h = l.html();\r
21                         /^\d+$/.test(h) && l.html(parseInt(h, 10) + 1)\r
22                     }\r
23                 }\r
24                 if (3 === t.which) {\r
25                     var p = Discourse.SiteSettings.track_external_right_clicks ? c : a;\r
26                     return s.attr("href", p), !0\r
27                 }\r
28                 if (t.shiftKey || t.metaKey || t.ctrlKey || 2 === t.which) return Discourse.ajax("/clicks/track", {\r
29                     data: {\r
30                         url: a,\r
31                         post_id: r,\r
32                         topic_id: o,\r
33                         redirect: !1\r
34                     },\r
35                     dataType: "html"\r
36                 }), !0;\r
37                 if (t.preventDefault(), s.hasClass("back") || s.hasClass("quote-other-topic")) return !0;\r
38                 if (s.data("href") || (s.addClass("no-href"), s.data("href", s.attr("href")), s.attr("href", null), s.data("auto-route", !0)), Discourse.SiteSettings.prevent_anons_from_downloading_files && s.hasClass("attachment") && !Discourse.User.current()) return bootbox.alert(I18n.t("post.errors.attachment_download_requires_login")), !1;\r
39                 if (Discourse.URL.isInternal(a) && !s.hasClass("attachment")) return Discourse.ajax("/clicks/track", {\r
40                     data: {\r
41                         url: a,\r
42                         post_id: r,\r
43                         topic_id: o,\r
44                         redirect: !1\r
45                     },\r
46                     dataType: "html"\r
47                 }), Discourse.URL.routeTo(a), !1;\r
48                 if (Discourse.User.currentProp("external_links_in_new_tab")) {\r
49                     var f = window.open(c, "_blank");\r
50                     f.focus(), setTimeout(function() {\r
51                         s.removeClass("no-href"), s.attr("href", s.data("href")), s.data("href", null)\r
52                     }, 50)\r
53                 } else Discourse.URL.redirectTo(c);\r
54                 return !1\r
55             }\r
56         }\r
57     }\r
58 }(this),\r