bbcode popup mod + moderator tags

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
CoNiO
Berichten: 273
Lid geworden op: 01 jun 2004, 08:16
Locatie: Brugge, Belgium

bbcode popup mod + moderator tags

Bericht door CoNiO » 09 mar 2006, 23:58

ik heb dus de Moderator Tag MOD geinstalleerd
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]','
','
  • ','
','
  • ','
','[img]','[/img]','','');
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 :D
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 ?

CoNiO
Berichten: 273
Lid geworden op: 01 jun 2004, 08:16
Locatie: Brugge, Belgium

Bericht door CoNiO » 11 mar 2006, 18:34

niemand ? :cry:

Gesloten