UBB parser gebruiken.

Hulp nodig bij een modificaties of op zoek naar een MOD?
Forumregels

LEES: Richtlijnen voor Support. Vul de support template in!
phpBB3.0.x
Verschaf iemand geen servertoegang tenzij het niet anders kan. Maak altijd eerst een volledige backup en verander de inloggevens na afloop. Eigen risico.
Plaats reactie
Gebruikersavatar
theonewithout
Berichten: 8
Lid geworden op: 21 jul 2008, 15:38

UBB parser gebruiken.

Bericht door theonewithout » 21 jul 2008, 15:48

Hallo,

Ik ben bezig om gewoon heel simpel op een website de gegevens van een phpBB3 forum te tonen.
Idee is dat ik een forum maak dat alleen moderators en een groep "Redactie" kunnen zien en daarin kunnen posten.

Nu wil ik dus dat de bb codes die daar in zitten ook geparsed worden zoals phpbb dat zelf doet.
Ik had al grondig gezocht, maar niet kunnen vinden. Neem me niet kwalijk als er al een soort gelijk topic bestaat.

Hoe dan ook, zou iemand mij verder kunnen helpen? Het zij met een link naar een topic of het antwoord "Jammer jong, ga maar proggen!"

Jim
Berichten: 3900
Lid geworden op: 21 feb 2007, 14:53
Locatie: Groningen
Contacteer:

Re: UBB parser gebruiken.

Bericht door Jim » 21 jul 2008, 15:52

Wat wil je precies? Zorgen dat de BB-code ook in je afgeschermde forums word toegestaan?
Jim Mossing Holsteyn - Beheerder
Documentatie | Algemene voorwaarden | Wiki

Heb je suggesties over het verbeteren van phpBB.nl of andere site-gerelateerde vragen? Stuur me een PB!

Gebruikersavatar
theonewithout
Berichten: 8
Lid geworden op: 21 jul 2008, 15:38

Re: UBB parser gebruiken.

Bericht door theonewithout » 21 jul 2008, 15:56

Ik wil dat ik op een losse pagina de UBB parser kan gebruiken.

Jim
Berichten: 3900
Lid geworden op: 21 feb 2007, 14:53
Locatie: Groningen
Contacteer:

Re: UBB parser gebruiken.

Bericht door Jim » 21 jul 2008, 16:12

Ik heb het niet getest dus als het werkt meld het dan even. Zorg dat het een [wiki]Extra pagina[/wiki] is zoals in de Wiki beschreven.
Zoek dan:

Code: Selecteer alles

include($phpbb_root_path . 'common.' . $phpEx); 
En voeg daarna toe:

Code: Selecteer alles

include($phpbb_root_path . 'includes/bbcode.' . $phpEx); 
Jim Mossing Holsteyn - Beheerder
Documentatie | Algemene voorwaarden | Wiki

Heb je suggesties over het verbeteren van phpBB.nl of andere site-gerelateerde vragen? Stuur me een PB!

Gebruikersavatar
theonewithout
Berichten: 8
Lid geworden op: 21 jul 2008, 15:38

Re: UBB parser gebruiken.

Bericht door theonewithout » 21 jul 2008, 19:28

Heb het uitgevoerd, maar dat is niet wat ik bedoel.

Op die manier krijg je een pagina met de gehele forum layout en headers/footers en user session management.

Enige wat ik nodig heb, is de parser. Ubbcode.php, alleen op welke volgorde moet ik de methods in die class aanroepen en welke 'template'.

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Re: UBB parser gebruiken.

Bericht door Bee » 21 jul 2008, 19:29

De parser kan alleen binnen phpBB gebruikt worden.
... Maar ik modereer (nog) niet.

Gebruikersavatar
theonewithout
Berichten: 8
Lid geworden op: 21 jul 2008, 15:38

Re: UBB parser gebruiken.

Bericht door theonewithout » 21 jul 2008, 19:39

Bee schreef:De parser kan alleen binnen phpBB gebruikt worden.
Dat kan ik toch faken?

Code: Selecteer alles

define('IN_PHPBB', 1);

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Re: UBB parser gebruiken.

Bericht door Bee » 21 jul 2008, 19:42

Het systeem maakt ook gebruik van andere delen van de code, zoals het templatesysteem.
... Maar ik modereer (nog) niet.

Gebruikersavatar
theonewithout
Berichten: 8
Lid geworden op: 21 jul 2008, 15:38

Re: UBB parser gebruiken.

Bericht door theonewithout » 21 jul 2008, 19:45

Dus de beste oplossing is gewoon zelf even een klein bbcode parsertje te maken?

Jim
Berichten: 3900
Lid geworden op: 21 feb 2007, 14:53
Locatie: Groningen
Contacteer:

Re: UBB parser gebruiken.

Bericht door Jim » 21 jul 2008, 19:47

Ja, want zonder phpBB kan je zoals Bee al zegt niet van dit systeem gebruik maken.
Jim Mossing Holsteyn - Beheerder
Documentatie | Algemene voorwaarden | Wiki

Heb je suggesties over het verbeteren van phpBB.nl of andere site-gerelateerde vragen? Stuur me een PB!

Gebruikersavatar
theonewithout
Berichten: 8
Lid geworden op: 21 jul 2008, 15:38

Re: UBB parser gebruiken.

Bericht door theonewithout » 21 jul 2008, 19:51

Okay, bedankt.
JimB schreef:Ja, want zonder phpBB kan je zoals Bee al zegt niet van dit systeem gebruik maken.
Ik heb phpbb, daar komt de data vandaan.
Ziet er ong. zo uit:

http://site.ext/forum
http://site.ext/nieuws/nieuws.php

Heb een kleine klasse geschreven om alle topics + eerste post uit een desbetreffend forum te halen en deze netjes te outputten. Daar komt echter de bb om de hoek kijken.

Dus voorlopig los ik 't maar zo op (ongeveer):

Code: Selecteer alles

public function ubb_parse($str) {
        $str = str_replace("{SMILIES_PATH}", "http://site.ext/forum/images/smilies", $str);
        $str = preg_replace("#\[img(.*)\](.+?)\[/img(.*)\]#","<img src=\"\\2\" alt=\"\\2\"/>", $str);
        $str = preg_replace("#\[b(.*)\](.+?)\[/b(.*)\]#","<strong>\\2</strong>", $str);
        $str = preg_replace("#\[i(.*)\](.+?)\[/i(.*)\]#","<i>\\2</i>", $str);
        $str = preg_replace("#\[u(.*)\](.+?)\[/u(.*)\]#","<u>\\2</u>", $str);
        $str = preg_replace("#\[code(.*)\](.+?)\[/code(.*)\]#","<code>\\2</code>", $str);
        $str = preg_replace("#\[quote(.*)\](.+?)\[/quote(.*)\]#","<blockquote>\\2</blockquote>", $str);
        return nl2br($str);
    } 












Okay, voor diegene die 't ook zoeken, dit is volgens mij zo goed als alles.
([ center]blabla[ /center] is een custom ubb code, die ik zelf gemaakt heb)

Code: Selecteer alles

    public function ubb_parse($str) {
        $str = str_replace("{SMILIES_PATH}", "http://site.ext/forum/images/smilies", $str);
        $str = preg_replace("#\[flash=(.*),(.*):(.*)\](.+?)\[/flash(.*)\]#", "<object classid=\"clsid:D27CDB6E-AE6D-11CF-96B8-444553540000\" codebase=\"http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0\" width=\"\\1\" height=\"\\2\"><param name=\"movie\" value=\"\\4\" /><param name=\"play\" value=\"false\" /><param name=\"loop\" value=\"false\" /><param name=\"quality\" value=\"high\" /><param name=\"allowScriptAccess\" value=\"never\" /><param name=\"allowNetworking\" value=\"internal\" /><embed src=\"\\4\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" width=\"\\1\" height=\"\\2\" play=\"false\" loop=\"false\" quality=\"high\" allowscriptaccess=\"never\" allownetworking=\"internal\"></embed></object>", $str);
        $str = preg_replace("#\[url=(.*):(.*)\](.+?)\[/url(.*)\]#","<a target=\"_blank\" href=\"\\1\">\\3</a>", $str);
        $str = preg_replace("#\[url(.*)\](.+?)\[/url(.*)\]#","<a target=\"_blank\" href=\"\\2\">\\2</a>", $str);
        $str = preg_replace("#\[img(.*)\](.+?)\[/img(.*)\]#","<img src=\"\\2\" alt=\"\\2\"/>", $str);
        $str = preg_replace("#\[b(.*)\](.+?)\[/b(.*)\]#","<strong>\\2</strong>", $str);
        $str = preg_replace("#\[i(.*)\](.+?)\[/i(.*)\]#","<i>\\2</i>", $str);
        $str = preg_replace("#\[u(.*)\](.+?)\[/u(.*)\]#","<u>\\2</u>", $str);
        $str = preg_replace("#\[code(.*)\](.+?)\[/code(.*)\]#","<code>\\2</code>", $str);
        $str = preg_replace("#\[quote(.*)\](.+?)\[/quote(.*)\]#","<blockquote>\\2</blockquote>", $str);
        $str = preg_replace("#\[color=(.*):(.+?)\](.+?)\[/color(.*)\]#","<span style=\"color: \\1\">\\3</span>", $str);
        $str = preg_replace("#\[center(.*)\](.+?)\[/center(.*)\]#","<span style=\"display: block; text-align: center;\">\\2</span>", $str);
        return nl2br($str);
    }
 

Plaats reactie