// ==UserScript==
// @name SMF - get quote markup
// @author zarg
// @include http://*/forum/index.php?topic=*
// @match http://*/forum/index.php?topic=*
// @version 1.0
// ==/UserScript==
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src",
"http://a...content-available-to-author-only...s.com/ajax/libs/jquery/1/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
addJQuery(function() {
var topicid = window.location.href.match(/topic=([^.]+)/)[1];
var idPattern = /subject_(.*)/;
$("h5[id^=subject_]").each(function(i, postHeader) {
var messageid = $(postHeader).attr("id").match(idPattern)[1];
var poster = $(postHeader).parents(".post_wrapper").find(".poster > h4")
.text().replace(/^\s+|\s+$/g, "");
$(postHeader).after(
$("<a />", {
href: "javascript:void(0)", text: "Get quote markup",
click: function() {
var messageText = "";
$(postHeader).parents(".postarea").find("[id^=msg_]")
.contents().not(".quoteheader, blockquote")
.each(function() {
if (this.nodeName.toLowerCase() == "br") {
messageText += "\n";
} else {
messageText += $(this).text();
}
});
$(this).after(
$("<textarea />", {
css: {display: "block"},
width: 700, height: 50,
text: "[quote author=" + poster
+ " link=topic=" + topicid
+ ".msg" + messageid + "#msg" + messageid
+ " date=1356076800]"
+ messageText + "[/quote]"
}));
}
}));
});
});
Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICAgIFNNRiAtIGdldCBxdW90ZSBtYXJrdXAKLy8gQGF1dGhvciAgICAgICAgIHphcmcKLy8gQGluY2x1ZGUgICAgICAgIGh0dHA6Ly8qL2ZvcnVtL2luZGV4LnBocD90b3BpYz0qCi8vIEBtYXRjaCAgICAgICAgICBodHRwOi8vKi9mb3J1bS9pbmRleC5waHA/dG9waWM9KgovLyBAdmVyc2lvbiAgICAgICAgMS4wCi8vID09L1VzZXJTY3JpcHQ9PQoKCmZ1bmN0aW9uIGFkZEpRdWVyeShjYWxsYmFjaykgewogICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgic3JjIiwKICAgICAgICAiaHR0cDovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS9qcXVlcnkubWluLmpzIik7CiAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKICAgICAgICBzY3JpcHQudGV4dENvbnRlbnQgPSAiKCIgKyBjYWxsYmFjay50b1N0cmluZygpICsgIikoKTsiOwogICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKICAgIH0sIGZhbHNlKTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKfQoKCmFkZEpRdWVyeShmdW5jdGlvbigpIHsKICAgIHZhciB0b3BpY2lkID0gd2luZG93LmxvY2F0aW9uLmhyZWYubWF0Y2goL3RvcGljPShbXi5dKykvKVsxXTsKICAgIHZhciBpZFBhdHRlcm4gPSAvc3ViamVjdF8oLiopLzsKICAgICQoImg1W2lkXj1zdWJqZWN0X10iKS5lYWNoKGZ1bmN0aW9uKGksIHBvc3RIZWFkZXIpIHsKICAgICAgICB2YXIgbWVzc2FnZWlkID0gJChwb3N0SGVhZGVyKS5hdHRyKCJpZCIpLm1hdGNoKGlkUGF0dGVybilbMV07CiAgICAgICAgdmFyIHBvc3RlciA9ICQocG9zdEhlYWRlcikucGFyZW50cygiLnBvc3Rfd3JhcHBlciIpLmZpbmQoIi5wb3N0ZXIgPiBoNCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGV4dCgpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAiIik7CiAgICAgICAgJChwb3N0SGVhZGVyKS5hZnRlcigKICAgICAgICAgICAgJCgiPGEgLz4iLCB7CiAgICAgICAgICAgICAgICBocmVmOiAiamF2YXNjcmlwdDp2b2lkKDApIiwgdGV4dDogIkdldCBxdW90ZSBtYXJrdXAiLAogICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlVGV4dCA9ICIiOwogICAgICAgICAgICAgICAgICAgICQocG9zdEhlYWRlcikucGFyZW50cygiLnBvc3RhcmVhIikuZmluZCgiW2lkXj1tc2dfXSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jb250ZW50cygpLm5vdCgiLnF1b3RlaGVhZGVyLCBibG9ja3F1b3RlIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT0gImJyIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQgKz0gIlxuIjsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0ICs9ICQodGhpcykudGV4dCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZnRlcigKICAgICAgICAgICAgICAgICAgICAgICAgJCgiPHRleHRhcmVhIC8+IiwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzOiB7ZGlzcGxheTogImJsb2NrIn0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAwLCBoZWlnaHQ6IDUwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogIltxdW90ZSBhdXRob3I9IiArIHBvc3RlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAiIGxpbms9dG9waWM9IiArIHRvcGljaWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgIi5tc2ciICsgbWVzc2FnZWlkICsgIiNtc2ciICsgbWVzc2FnZWlkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICIgZGF0ZT0xMzU2MDc2ODAwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgbWVzc2FnZVRleHQgKyAiWy9xdW90ZV0iCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwogICAgfSk7Cn0pOw==