http://www.phpbbhacks.com/download/4628
en zou graag deze mod ook erbij installeren:
http://www.phpbbhacks.com/download/4745
Code: Selecteer alles
#########################################################################################
##
## Mod Title: Popup BBcode
## Mod Version: 1.0.1 (tested and installed on phpbb 2.0.13)
## Author Defender39 (Jesse Labrocca)
##
## Description: The current BBcode such as URL and IMG tags are not as user friendly as
## they could be. Popup BBcode changes that.
## This will create a simple javascript popup for you to enter the information
## and then it is neatly placed for you with the link name. You can even
## have default tag descriptions for URL like LINK HERE or anything you choose.
## This will also automatically close any tags left open. This mod was inspired
## by the way VBulletin utilizes bbcode.
##
## Install time: 5 minutes EASY
##
##
##
## Files to edit: 1
##
## templates/YOUR_TEMPLATE/posting_body.tpl
##
##
#########################################################################################
##
## Notes:
## Always and I mean ALWAYS make sure to have a backup before attempting to install.
##
## Templates: Be sure to install this properly on YOUR_TEMPLATE. Keep in mind that
## any template you use may NOT be exact to the template changes here.##
##
##
## You can see this mod in action at http://www.gametour.com/forums please visit.
##
#########################################################################################
##
## Versions:
##
## 1.0.1
##
#########################################################################################
#
#-----[ OPEN ]------------------------------------------
#
# templates/YOUR_TEMPLATE/posting_body.tpl
#
#-----[ FIND ]---------------------------------------------------
#
<script language="JavaScript" type="text/javascript">
<!--
// bbCode control by
// subBlue design
// www.subBlue.com
// Startup variables
var imageTag = false;
var theSelection = false;
// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);
// Helpline messages
b_help = "{L_BBCODE_B_HELP}";
i_help = "{L_BBCODE_I_HELP}";
u_help = "{L_BBCODE_U_HELP}";
q_help = "{L_BBCODE_Q_HELP}";
c_help = "{L_BBCODE_C_HELP}";
l_help = "{L_BBCODE_L_HELP}";
o_help = "{L_BBCODE_O_HELP}";
p_help = "{L_BBCODE_P_HELP}";
w_help = "{L_BBCODE_W_HELP}";
a_help = "{L_BBCODE_A_HELP}";
s_help = "{L_BBCODE_S_HELP}";
f_help = "{L_BBCODE_F_HELP}";
// Define the bbCode tags
bbcode = new Array();
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','
- ','
- ','
imageTag = false;
// Shows the help messages in the helpline window
function helpline(help) {
document.post.helpbox.value = eval(help + "_help");
}
// Replacement for arrayname.length property
function getarraysize(thearray) {
for (i = 0; i < thearray.length; i++) {
if ((thearray == "undefined") || (thearray == "") || (thearray == null))
return i;
}
return thearray.length;
}
// Replacement for arrayname.push(value) not implemented in IE until version 5.5
// Appends element to the array
function arraypush(thearray,value) {
thearray[ getarraysize(thearray) ] = value;
}
// Replacement for arrayname.pop() not implemented in IE until version 5.5
// Removes and returns the last element of an array
function arraypop(thearray) {
thearraysize = getarraysize(thearray);
retval = thearray[thearraysize - 1];
delete thearray[thearraysize - 1];
return retval;
}
function checkForm() {
formErrors = false;
if (document.post.message.value.length < 2) {
formErrors = "{L_EMPTY_MESSAGE}";
}
if (formErrors) {
alert(formErrors);
return false;
} else {
bbstyle(-1);
//formObj.preview.disabled = true;
//formObj.submit.disabled = true;
return true;
}
}
function emoticon(text) {
var txtarea = document.post.message;
text = ' ' + text + ' ';
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
txtarea.focus();
} else {
txtarea.value += text;
txtarea.focus();
}
}
function bbfontstyle(bbopen, bbclose) {
var txtarea = document.post.message;
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (!theSelection) {
txtarea.value += bbopen + bbclose;
txtarea.focus();
return;
}
document.selection.createRange().text = bbopen + theSelection + bbclose;
txtarea.focus();
return;
}
else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
{
mozWrap(txtarea, bbopen, bbclose);
return;
}
else
{
txtarea.value += bbopen + bbclose;
txtarea.focus();
}
storeCaret(txtarea);
}
function bbstyle(bbnumber) {
var txtarea = document.post.message;
txtarea.focus();
donotinsert = false;
theSelection = false;
bblast = 0;
if (bbnumber == -1) { // Close all open tags & default button names
while (bbcode[0]) {
butnumber = arraypop(bbcode) - 1;
txtarea.value += bbtags[butnumber + 1];
buttext = eval('document.post.addbbcode' + butnumber + '.value');
eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
}
imageTag = false; // All tags are closed including image tags

txtarea.focus();
return;
}
if ((clientVer >= 4) && is_ie && is_win)
{
theSelection = document.selection.createRange().text; // Get text selection
if (theSelection) {
// Add tags around selection
document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
txtarea.focus();
theSelection = '';
return;
}
}
else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
{
mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
return;
}
// Find last occurance of an open tag the same as the one just clicked
for (i = 0; i < bbcode.length; i++) {
if (bbcode == bbnumber+1) {
bblast = i;
donotinsert = true;
}
}
if (donotinsert) { // Close all open tags up to the one just clicked & default button names
while (bbcode[bblast]) {
butnumber = arraypop(bbcode) - 1;
txtarea.value += bbtags[butnumber + 1];
buttext = eval('document.post.addbbcode' + butnumber + '.value');
eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
imageTag = false;
}
txtarea.focus();
return;
} else { // Open tags
if (imageTag && (bbnumber != 14)) { // Close image tag before adding another
txtarea.value += bbtags[15];
lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list
document.post.addbbcode14.value = "Img"; // Return button back to normal state
imageTag = false;
}
// Open tag
txtarea.value += bbtags[bbnumber];
if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
arraypush(bbcode,bbnumber+1);
eval('document.post.addbbcode'+bbnumber+'.value += "*"');
txtarea.focus();
return;
}
storeCaret(txtarea);
}
// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close)
{
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd == 1 || selEnd == 2)
selEnd = selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
return;
}
// Insert at Claret position. Code from
// http://www.faqts.com/knowledge_base/vie ... 52/fid/130
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
//-->
</script>
#
#-----[ REPLACE WITH ]---------------------------------------------------
#
<script language="JavaScript" type="text/javascript">
var theSelection = false;
var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);
b_help = "{L_BBCODE_B_HELP}";
i_help = "{L_BBCODE_I_HELP}";
u_help = "{L_BBCODE_U_HELP}";
q_help = "{L_BBCODE_Q_HELP}";
c_help = "{L_BBCODE_C_HELP}";
l_help = "{L_BBCODE_L_HELP}";
o_help = "{L_BBCODE_O_HELP}";
p_help = "{L_BBCODE_P_HELP}";
w_help = "{L_BBCODE_W_HELP}";
a_help = "{L_BBCODE_A_HELP}";
s_help = "{L_BBCODE_S_HELP}";
f_help = "{L_BBCODE_F_HELP}";
var Quote = 0;
var Bold = 0;
var Italic = 0;
var Underline = 0;
var Code = 0;
var List = 0;
function helpline(help) {
document.post.helpbox.value = eval(help + "_help");
document.post.helpbox.readOnly = "true";
}
function checkForm() {
formErrors = false;
if (document.post.message.value.length < 2) {
formErrors = "You must enter a message when posting";
}
if (formErrors) {
alert(formErrors);
return false;
} else {
//formObj.preview.disabled = true;
//formObj.submit.disabled = true;
return true;
}
}
function emoticon(text) {
text = ' ' + text + ' ';
PostWrite(text);
}
function bbfontstyle(bbopen, bbclose) {
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (!theSelection) {
document.post.message.value += bbopen + bbclose;
document.post.message.focus();
return;
}
document.selection.createRange().text = bbopen + theSelection + bbclose;
document.post.message.focus();
return;
} else {
document.post.message.value += bbopen + bbclose;
document.post.message.focus();
return;
}
storeCaret(document.post.message);
}
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
function PostWrite(text) {
if (document.post.message.createTextRange && document.post.message.caretPos) {
var caretPos = document.post.message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else document.post.message.value += text;
document.post.message.focus(caretPos)
}
function BBCcode() {
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (theSelection != '') {
document.selection.createRange().text = "
Code: Selecteer alles
" + theSelection + "
document.post.message.focus();
return;
}
}
if (Code == 0) {
ToAdd = "
Code: Selecteer alles
";
document.post.code.value = "Code*";
Code = 1;
} else {
ToAdd = "
document.post.code.value = "Code";
Code = 0;
}
PostWrite(ToAdd);
}
function BBCquote() {
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (theSelection != '') {
document.selection.createRange().text = "[QUOTE]" + theSelection + "[/QUOTE]";
document.post.message.focus();
return;
}
}
if (Quote == 0) {
ToAdd = "[QUOTE]";
document.post.quote.value = "Quote*";
Quote = 1;
} else {
ToAdd = "[/QUOTE]";
document.post.quote.value = "Quote";
Quote = 0;
}
PostWrite(ToAdd);
}
function BBCbold() {
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (theSelection != '') {
document.selection.createRange().text = "" + theSelection + "";
document.post.message.focus();
return;
}
}
if (Bold == 0) {
ToAdd = "";
document.post.bold.value = "B*";
Bold = 1;
} else {
ToAdd = "";
document.post.bold.value = "B";
Bold = 0;
}
PostWrite(ToAdd);
}
function BBCitalic() {
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (theSelection != '') {
document.selection.createRange().text = "" + theSelection + "";
document.post.message.focus();
return;
}
}
if (Italic == 0) {
ToAdd = "";
document.post.italic.value = "i*";
Italic = 1;
} else {
ToAdd = "";
document.post.italic.value = "i";
Italic = 0;
}
PostWrite(ToAdd);
}
function BBCunder() {
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (theSelection != '') {
document.selection.createRange().text = "" + theSelection + "";
document.post.message.focus();
return;
}
}
if (Underline == 0) {
ToAdd = "";
document.post.under.value = "U*";
Underline = 1;
} else {
ToAdd = "";
document.post.under.value = "U";
Underline = 0;
}
PostWrite(ToAdd);
}
function BBCurl() {
var FoundErrors = '';
var enterURL = prompt("Enter your URL", "http://");
var enterTITLE = prompt("Enter the webpage title", "LINK");
if (!enterURL) {
FoundErrors += " You have not entered the URL yet!";
}
if (!enterTITLE) {
FoundErrors += " You have not entered the title yet!";
}
if (FoundErrors) {
alert("Error!"+FoundErrors);
return;
}
var ToAdd = ""+enterTITLE+"";
document.post.message.value+=ToAdd;
document.post.message.focus();
}
function BBCimg() {
var FoundErrors = '';
var enterURL = prompt("Enter your image URL","http://");
if (!enterURL) {
FoundErrors += " You have not entered the URL yet!";
}
if (FoundErrors) {
alert("Error!"+FoundErrors);
return;
}
var ToAdd = "[IMG]"+enterURL+"[/IMG]";
document.post.message.value+=ToAdd;
document.post.message.focus();
}
function BBClist() {
var FoundErrors = '';
var enterURL = prompt("Enter List Item","Item");
if (!enterURL) {
FoundErrors += " You have not entered an item!";
}
if (FoundErrors) {
alert("Error!"+FoundErrors);
return;
}
var ToAdd = "
- "+enterURL+"
document.post.message.value+=ToAdd;
document.post.message.focus();
}
function BBCloseAll() {
if (Code == 1) {
ToAdd = "[/code]";
document.post.code.value = "Code";
Code = 0;
PostWrite(ToAdd);
}
if (Quote == 1) {
ToAdd = "[/QUOTE]";
document.post.quote.value = "Quote";
Quote = 0;
PostWrite(ToAdd);
}
if (Bold == 1) {
ToAdd = "[/B]";
document.post.bold.value = "B";
Bold = 0;
PostWrite(ToAdd);
}
if (Italic == 1) {
ToAdd = "[/I]";
document.post.italic.value = "i";
Italic = 0;
PostWrite(ToAdd);
}
if (Underline == 1) {
ToAdd = "[/U]";
document.post.under.value = "U";
Underline = 0;
PostWrite(ToAdd);
}
if (List == 1) {
ToAdd = "[/LIST]";
document.post.under.value = "List";
List = 0;
PostWrite(ToAdd);
}
if (Olist == 1) {
ToAdd = "[/LIST]";
document.post.under.value = "List";
Olist = 0;
PostWrite(ToAdd);
}
}
</script>
#
#-----[ FIND ]---------------------------------------------------
#
<td><span class="genmed">
<input type="button" class="button" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onClick="bbstyle(0)" onMouseOver="helpline('b')" />
</span></td>
<td><span class="genmed">
<input type="button" class="button" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onClick="bbstyle(2)" onMouseOver="helpline('i')" />
</span></td>
<td><span class="genmed">
<input type="button" class="button" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onClick="bbstyle(4)" onMouseOver="helpline('u')" />
</span></td>
<td><span class="genmed">
<input type="button" class="button" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onClick="bbstyle(6)" onMouseOver="helpline('q')" />
</span></td>
<td><span class="genmed">
<input type="button" class="button" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onClick="bbstyle(8)" onMouseOver="helpline('c')" />
</span></td>
<td><span class="genmed">
<input type="button" class="button" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onClick="bbstyle(10)" onMouseOver="helpline('l')" />
</span></td>
<td><span class="genmed">
<input type="button" class="button" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onClick="bbstyle(12)" onMouseOver="helpline('o')" />
</span></td>
<td><span class="genmed">
<input type="button" class="button" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onClick="bbstyle(14)" onMouseOver="helpline('p')" />
</span></td>
<td><span class="genmed">
<input type="button" class="button" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onClick="bbstyle(16)" onMouseOver="helpline('w')" />
</span></td>
#
#-----[ REPLACE WITH ]---------------------------------------------------
#
<td>
<span class="genmed">
<input type="button" class="button" name="bold" value="B" style="font-weight:bold; width: 30px" onClick="BBCbold()" onMouseOver="helpline('b')" />
<input type="button" class="button" name="italic" value="i" style="font-style:italic; width: 30px" onClick="BBCitalic()" onMouseOver="helpline('i')" />
<input type="button" class="button" name="under" value="U" style="text-decoration: underline; width: 30px" onClick="BBCunder()" onMouseOver="helpline('u')" />
<input type="button" class="button" name="quote" value="Quote" style="width: 50px" onClick="BBCquote()" onMouseOver="helpline('q')" />
<input type="button" class="button" name="list" value="List" style="width: 50px" onClick="BBClist()" onMouseOver="helpline('l')" />
<input type="button" class="button" name="code" value="Code" style="width: 40px" onClick="BBCcode()" onMouseOver="helpline('c')" />
<input type="button" class="button" name="img" value="IMG" style="width: 40px" onClick="BBCimg()" onMouseOver="helpline('p')" />
<input type="button" class="button" name="url" value="URL" style="text-decoration: underline; width: 40px" onClick="BBCurl()" onMouseOver="helpline('w')" />
</span>
</td>
#
#
#
#
#########################################################################################
#
#
# That's all folks.
[/code]
die zorgt ervoor dat je bbcode gegenereerd wordt door een popup (bvb bij img etc)
maar die code is van een redelijk oude phpbb versie plus werkt niet samen met die moderator tags mod (die een MOD knop add bij de bbcode)
plus die moderator tag past zelf wat code aan bij die bbcode zooi
dus als ik gewoon copy paste doe ben ik mijn moderator tag stuff kwijt (want deze 2 scripts zijn volledig anders)
iemand een idee hoe dit op te lossen valt of waar zo een versie te vinden is ?