Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as JavaScript by daris ( 15 years ago )
var fluxbb_smilies = {
':)' : 'smile.png',
'=)' : 'smile.png',
':|' : 'neutral.png',
'=|' : 'neutral.png',
':(' : 'sad.png',
'=(' : 'sad.png',
':D' : 'big_smile.png',
'=D' : 'big_smile.png',
':o' : 'yikes.png',
':O' : 'yikes.png',
';)' : 'wink.png',
':/' : 'hmm.png',
':P' : 'tongue.png',
':p' : 'tongue.png',
':lol:' : 'lol.png',
':mad:' : 'mad.png',
':rolleyes:' : 'roll.png',
':cool:' : 'cool.png'
};
function insert_text(open, close)
{
if (document.getElementsByName('req_message'))
msgfield = document.getElementsByName('req_message')[0];
else
document.all.req_message;
// IE support
if (document.selection && document.selection.createRange)
{
msgfield.focus();
sel = document.selection.createRange();
sel.text = open + sel.text + close;
}
// Moz support
else if (msgfield.selectionStart || msgfield.selectionStart == '0')
{
var startPos = msgfield.selectionStart;
var endPos = msgfield.selectionEnd;
var selText = msgfield.value.substring(startPos, endPos);
msgfield.value = msgfield.value.substring(0, startPos) + open + selText + close + msgfield.value.substring(endPos, msgfield.value.length);
if (selText != '')
{
msgfield.selectionStart = endPos + open.length + close.length;
msgfield.selectionEnd = msgfield.selectionStart;
}
else
{
msgfield.selectionStart = startPos + open.length;
msgfield.selectionEnd = msgfield.selectionStart;
}
}
// Fallback support for other browsers
else
msgfield.value += open + close;
msgfield.focus();
return;
}
/***********
* Functions for mod QuickQuote v1.1 by D.S.Denton
***********/
quote_text = '';
function get_quote_text()
{
//IE
if (document.selection && document.selection.createRange())
quote_text = document.selection.createRange().text;
//NS,FF,SM
if (document.getSelection)
quote_text = document.getSelection();
}
function Quote(id)
{
blockpost = document.getElementById('p' + id);
postleft = getElementsByClassName('postleft', blockpost)[0];
dt = postleft.getElementsByTagName('dt')[0];
a = dt.getElementsByTagName('a')[0];
user_name = a.text;
postleft = getElementsByClassName('postright', blockpost)[0];
postmsg = getElementsByClassName('postmsg', postleft)[0];
message = postmsg[removed];
for (smile in fluxbb_smilies)
message = message.replace(new RegExp('<img src=".*?' + fluxbb_smilies[smile] + '" width="\\\\d+" height="\\\\d+" alt=".*?">', 'g'), smile);
message = message.replace(/<a href="(.*?)">(.*?)</a>/g, url_replace);
message = message.replace(/<div class="quotebox"><cite>(.*?) (wrote|napisał):</cite><blockquote><div>/g, '[quote=$1]');
message = message.replace(/<div class="quotebox"><blockquote><div>/g, '[quote]');
message = message.replace(/</div></blockquote></div>/g, '[/quote]');
message = message.replace(/<div class="codebox"><pre><code>/g, '[code]');
message = message.replace(/</code></pre></div>/g, '[/code]');
message = message.replace(/<strong>/g, '[b]');
message = message.replace(/</strong>/g, '[/b]');
message = message.replace(/<em>/g, '[i]');
message = message.replace(/</em>/g, '[/i]');
message = message.replace(/<span class="bbu">(.*?)</span>/g, '[u]$1[/u]');
message = message.replace(/<p class="postedit"><em>.*?</em></p>/g, '');
message = message.replace(/</g, "<");
message = message.replace(/>/g, ">");
message = message.replace(/"/g, """);
message = message.replace(/'/g, "'");
message = message.replace(/ /g, " ");
message = message.replace(/&/g, "&");
message = message.replace(/</p><p>/g, "n");
message = message.replace(/<p>/g, '');
message = message.replace(/</p>/g, '');
message = message.replace(/<br>/g, "n");
message = message.replace(new RegExp("^[\n\t]+", "g"), "");
message = message.replace(new RegExp("[\n\t]+$", "g"), "");
startq = '[quote=' + user_name + ']' + (quote_text != '' ? quote_text : message) + '[/quote]';
insert_text(startq,'');
}
function url_replace()
{
if (arguments[1].substring(0, 20) == arguments[2].substring(0, 20))
return '[url]' + arguments[1] + '[/url]';
else
return '[url=' + arguments[1] + ']' + arguments[2] + '[/url]';
}
addEventListener('load', function (e)
{
if (document.getElementById('quickpostform'))
{
var html = '<div style="float: right; margin-right: 10px">';
for (s in fluxbb_smilies)
html += '<img>';
html += '</diV>';
html += '<div>';
html += '<input type="button" value="B" name="B"> ';
html += '<input type="button" value="I" name="I"> ';
html += '<input type="button" value="U" name="U"> ';
html += '<input type="button" value="URL" name="URL"> ';
html += '<input type="button" value="IMG" name="IMG"> ';
html += '<input type="button" value="CODE" name="CODE"> ';
html += '<input type="button" value="QUOTE" name="QUOTE">';
html += '</div>';
fldset = getElementsByClassName('infldset', document.getElementById('quickpostform'));
fldset[0][removed] = html + fldset[0][removed];
blockposts = getElementsByClassName('blockpost');
for (i in blockposts)
{
id = blockposts[i].id.replace('p', '');
postfootright = getElementsByClassName('postfootright', blockposts[i])[0];
ul = postfootright.getElementsByTagName('ul')[0];
quote = getElementsByClassName('postquote', ul)[0];
a = quote.getElementsByTagName('a');
ul[removed] += '<li class="postquickquote"><span><a>Quick quote</a></span></li>';
}
}
}, false);
function getElementsByClassName(classname, node)
{
if (!node) node = document.getElementsByTagName("body")[0];
var a = [];
var re = new RegExp('\b' + classname + '\b');
var els = node.getElementsByTagName("*");
for (var i=0,j=els.length; i<j; i++)
if (re.test(els[i].className)) a.push(els[i]);
return a;
}
Revise this Paste