bbcodes umschließen markierte texte nicht mehr
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
bbcodes umschließen markierte texte nicht mehr
standardmäßig ist es ja so, dass wenn man einen text markiert und dann einen bbcode-button wie drückt, wird der text von [url] und umschlossen. das funktioniert bei mir nun leider nicht mehr, hab zusätzlich den spoiler und center bbcode eingebaut, könnte also daran liegen!
hier mal eventl betroffene dateien als txt:
bbcode.php
bbcode.tpl
posting_body.tpl
posting.php
Vielen dank vorweg!
hier mal eventl betroffene dateien als txt:
bbcode.php
bbcode.tpl
posting_body.tpl
posting.php
Vielen dank vorweg!
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge
ich bin mal so frei und schiebe mit, denn ich hab' nach dem einbau der gleichen hacks ähnliche probleme
http://www.phpbb.de/viewtopic.php?t=94686
http://www.phpbb.de/viewtopic.php?t=94686
immer noch kein versuch?
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge
Hi
Also das Problem dürfte mit dem verwendeten Style zusammenhängen.
Ich habe deine posting_body.tpl mit dreien von meinen verglichen.
Die Java-Script Funktionen die für das Einfügen von BBCodes zuständig sind, sind sehr unterschiedlich.
Ich habe weiters dann festgestellt, daß bei mir der von dir genannte Vorgang mit subSilver und Cobalt2 funktioniert. Mit Chronicles funktioniert es nicht.
Chronicles hat genau die selben JS-Funktionen wie sie in deiner posting_body.tpl zu finden sind.
Das größte Problem dabei dürfte dieser Abschnitt sein:
subSilver-posting_body.tpl-function bbstyle()
Chronicles-posting_body.tpl-function bbstyle()
und dann fehlt noch die Funktion mozWrap()
Und wie durch diesen Vergleich vermutet, funktioniert die Sache im InternetExplorer auch mit dem Style Chronicles einwandfrei - was nach Durchsicht des Codes ja klar ist.
Es fehlt also in deinem Fall, genauso wie bei Chronicles, die Unterstützung für den Firefox (Mozzilla).
Kannst du das so nachvollziehen und bestätigen?
Gruß
Franz
Also das Problem dürfte mit dem verwendeten Style zusammenhängen.
Ich habe deine posting_body.tpl mit dreien von meinen verglichen.
Die Java-Script Funktionen die für das Einfügen von BBCodes zuständig sind, sind sehr unterschiedlich.
Ich habe weiters dann festgestellt, daß bei mir der von dir genannte Vorgang mit subSilver und Cobalt2 funktioniert. Mit Chronicles funktioniert es nicht.
Chronicles hat genau die selben JS-Funktionen wie sie in deiner posting_body.tpl zu finden sind.
Das größte Problem dabei dürfte dieser Abschnitt sein:
subSilver-posting_body.tpl-function bbstyle()
Code: Alles auswählen
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;
}
Code: Alles auswählen
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];
document.post.message.focus();
theSelection = '';
return;
}
Code: Alles auswählen
// 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;
}
Und wie durch diesen Vergleich vermutet, funktioniert die Sache im InternetExplorer auch mit dem Style Chronicles einwandfrei - was nach Durchsicht des Codes ja klar ist.
Es fehlt also in deinem Fall, genauso wie bei Chronicles, die Unterstützung für den Firefox (Mozzilla).
Kannst du das so nachvollziehen und bestätigen?
Gruß
Franz
Wer einen Rechtschreibfehler findet, darf ihn ruhig behalten. Ich habe noch genug davon auf Lager.
--- Sendet mir bitte KEINE PMs - Ich bevorzuge richtige email!
--- Sendet mir bitte KEINE PMs - Ich bevorzuge richtige email!
So - und jetzt zum Abschluss
Ich hab mir das noch genauer angesehen und sage jetzt:
Suche in der posting_body.tpl nach der ersten Zeile im folgenden Code.
Ab hier schmeißt du alles raus bis zur letzten Zeile im folgenden Code - also die Zeile suchen und bis hier alles rausschmeißen und durch den Code ersetzen.
Achte darauf, daß die erste und letzte Zeile nicht doppelt vorkommt und auch nicht fehlt.
Alles klar?
Gruß
Franz
Ich hab mir das noch genauer angesehen und sage jetzt:
Suche in der posting_body.tpl nach der ersten Zeile im folgenden Code.
Ab hier schmeißt du alles raus bis zur letzten Zeile im folgenden Code - also die Zeile suchen und bis hier alles rausschmeißen und durch den Code ersetzen.
Achte darauf, daß die erste und letzte Zeile nicht doppelt vorkommt und auch nicht fehlt.
Code: Alles auswählen
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[i] == 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/view.phtml/aid/1052/fid/130
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
//-->
</script>
<!-- BEGIN privmsg_extensions -->
Gruß
Franz
Wer einen Rechtschreibfehler findet, darf ihn ruhig behalten. Ich habe noch genug davon auf Lager.
--- Sendet mir bitte KEINE PMs - Ich bevorzuge richtige email!
--- Sendet mir bitte KEINE PMs - Ich bevorzuge richtige email!
Hab alles gemacht und es klappt auch!!
Tut mir leid, dass ich dir vorhin nicht drauf antworten konnte
aber meine eltern hatten silberhochzeit
VIELEN DANK!!
Tut mir leid, dass ich dir vorhin nicht drauf antworten konnte
aber meine eltern hatten silberhochzeit
VIELEN DANK!!
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge