Voor een phpBB 3.x forum heb ik eerder een mod geschreven die zorgt dat als iemand een afbeelding quote, die omgezet wordt in
1. Je citeert een bericht met afbeelding
2. Je schrijft je bericht, eventuele afbeeldingen binnen quotetags staan er nog gewoon in
3. Bericht wordt geplaatst, eventuele afbeeldingen binnen quoteblokken worden omgezet.
Dit wil ik veranderen in:
1. Je citeert een bericht met afbeelding
2. Je schrijft je bericht, eventuele afbeeldingen binnen quotetags worden bij het laden van je berichtvenster omgezet
3. Bericht wordt geplaatst, als je handmatig weer een afbeelding tussen de quotetags hebt gezet blijft die staan.
Om de verandering te maken heb ik allereerst de code die dit doet verplaatst van de message_parser naar het posting-bestand. Dat was simpel. Echter kun je in phpBB 3.x ook berichten citeren die je in de topicreview onder je textarea kunt zien. Deze functie werkt met javascript. Daar wil ik dus een gelijkaardige code inzetten. Dat is momenteel deze:
(het hardcoded "Afbeelding" moet ik nog omzetten naar de languagevar, maar hoe die hier geregeld zit moet ik nog uitzoeken)
Tot zover de inleiding. Punt is nu: bovenstaande werkt perfect in Fx en Opera, maar niet in IE, daar wordt niets uitgevoerd. Het lijkt te zitten in regel 6, aangezien het wel uitgevoerd wordt als ik die comment. Of het daar in zit ben ik overigens niet zeker van.
Ik vraag me af waar het in zit, en ben me er nu al een tijdje op aan het stukbijten. Javascript is eigenlijk niet zo mijn ding, ik hou me meer bezig met PHP. Alle tips zijn dus welkom.
Edit: de blokhaken in de replacement moeten special characters zijn, maar die worden zo te zien hier al meteen verwerkt. Het gaat echter om het idee.
Een beetje zoals dat hier ook gebeurd. Die oude mod doet zijn ding echter pas bij het posten. Ofwel:[ Afbeelding ]
1. Je citeert een bericht met afbeelding
2. Je schrijft je bericht, eventuele afbeeldingen binnen quotetags staan er nog gewoon in
3. Bericht wordt geplaatst, eventuele afbeeldingen binnen quoteblokken worden omgezet.
Dit wil ik veranderen in:
1. Je citeert een bericht met afbeelding
2. Je schrijft je bericht, eventuele afbeeldingen binnen quotetags worden bij het laden van je berichtvenster omgezet
3. Bericht wordt geplaatst, als je handmatig weer een afbeelding tussen de quotetags hebt gezet blijft die staan.
Om de verandering te maken heb ik allereerst de code die dit doet verplaatst van de message_parser naar het posting-bestand. Dat was simpel. Echter kun je in phpBB 3.x ook berichten citeren die je in de topicreview onder je textarea kunt zien. Deze functie werkt met javascript. Daar wil ik dus een gelijkaardige code inzetten. Dat is momenteel deze:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| if (theSelection) { var key; var qcode = theSelection.match(/\[code\](.*?)\[\/code\]/ig); for (key in qcode) { qrepl = qcode[key].replace(/\[img\]/gi, '[img]'); theSelection = theSelection.replace(qcode[key], qrepl); } theSelection = theSelection.replace(/\[url=(.*(jpg|jpeg|gif|png|bmp))\]\[img\](.*)\[\/img\]\n*\[\/url\]/ig, '[ [url=$1]Afbeelding[/url] ]'); theSelection = theSelection.replace(/\[url=(.*)\]\[img\](.*)\[\/img\]\n*\[\/url\]/ig, '[ [url=$1]Afbeelding[/url] ]'); theSelection = theSelection.replace(/\[img\](.*)\[\/img\]/ig, '[ [url=$1]Afbeelding[/url] ]'); theSelection = theSelection.replace(/[img]/gi, '[img]'); insert_text('[quote="' + username + '"]' + theSelection + '[/quote]'); } |
(het hardcoded "Afbeelding" moet ik nog omzetten naar de languagevar, maar hoe die hier geregeld zit moet ik nog uitzoeken)
Tot zover de inleiding. Punt is nu: bovenstaande werkt perfect in Fx en Opera, maar niet in IE, daar wordt niets uitgevoerd. Het lijkt te zitten in regel 6, aangezien het wel uitgevoerd wordt als ik die comment. Of het daar in zit ben ik overigens niet zeker van.
Ik vraag me af waar het in zit, en ben me er nu al een tijdje op aan het stukbijten. Javascript is eigenlijk niet zo mijn ding, ik hou me meer bezig met PHP. Alle tips zijn dus welkom.
Edit: de blokhaken in de replacement moeten special characters zijn, maar die worden zo te zien hier al meteen verwerkt. Het gaat echter om het idee.
Tjolk is lekker. overal en altijd.