[PHP] phpBB - Omzetten naar UBB lukt niet bij extra pagina

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MIster X
  • Registratie: November 2001
  • Laatst online: 16-01 09:39
Ik wil graag een gedeelte van een phpBB forum gebruiken om de tekst op de voorpagina van een website aan te passen. Lijkt me een makkelijke manier om opgemaakte in te voeren en uit mySQl te halen. Wat betreft de data is dat ook geen probleem. Ik stuit echter wel op een error wanneer ik 'bbcode.php' aanroep om de tekst om de zetten in HTML: "Call to a member function on a non-object in ... "/phpBB2/includes/bbcode.php on line 46".

Mijn stukje code waarin de functie bbencode_second_pass($message, $bbcode_uid) wordt aangeroepen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$query = 
    "SELECT 
       A.topic_title,
       B.post_text,
       B.bbcode_uid  
     FROM
       phpbb_topics A,
       phpbb_posts_text B
     WHERE
        A.topic_id='5'
     AND
        A.topic_first_post_id = B.post_id
     ";
 
$result = mysql_query($query)or die(mysql_error());
  
  while ($row=mysql_fetch_array($result)) {
    
    $bbcode_uid = $row["bbcode_uid"];
    $message = $row["post_text"];
    $message = bbencode_second_pass($message, $bbcode_uid);
    $message = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
  
    $output .= "<p><b>" . $row["topic_title"] . "</b> - $message </p>\n";  
  }

En het stukje code uit bbcode.php waar de foutmelding ontstaat:
PHP:
1
2
3
    global $template;
    $tpl_filename = $template->make_filename('bbcode.tpl');
    $tpl = fread(fopen($tpl_filename, 'r'), filesize($tpl_filename));

Voor de duidelijkheid: ik gebruik de nieuwste versie van phpBB (gisteren gedownload en geïnstalleerd) en het forum werkt zonder problemen. Waarom kan bbcode.php wel door de pagina's van phpBB worden aangeroepen, maar niet door mijn code?

Acties:
  • 0 Henk 'm!

Verwijderd

omdat er een functie is IN_PHPBB ofzoow..

Acties:
  • 0 Henk 'm!

  • MIster X
  • Registratie: November 2001
  • Laatst online: 16-01 09:39
Verwijderd schreef op 29 April 2003 @ 13:34:
omdat er een functie is IN_PHPBB ofzoow..
a. De melding wordt veroorzaakt door phpBB's bbcode.php en niet door mijn code.
b. Foutmeldingen lezen kan ik ook: "a member function on a non-object". Wat is een 'member function' en wat wordt er bedoelt met 'non-object'?

Of anders gezegd: hoe los ik dit op?
Er zal toch wel iemand zijn die met phpBB heeft zitten knoeien?

Acties:
  • 0 Henk 'm!

Verwijderd

Doe eens
PHP:
1
echo gettype($template);
of
PHP:
1
echo is_object($template) ? 'object' : 'geen object';
direct na
PHP:
1
global $template;
?

Ik gok erop dat je die template class nog niet geïnstantieerd hebt voor je die functie aanroept.

[ Voor 11% gewijzigd door Verwijderd op 01-05-2003 00:05 ]