Seite 1 von 1

Externes PHP-Script für Thread Erstellung

Verfasst: 03.09.2005 01:27
von hans_peter_ochse
hallo!

wie das Topic schon vermuten lässt, bin ich gerade dabei, ein externes Script zuschreiben, mit welchem es mir möglich ist, neue Topics und Neue Posts zu erstellen.

Jedoch zeigt das Forum diese, von mir extern erstellten Forenthreads, nicht an.
In die Datenbank wird jedoch alles richtig hineingeschrieben, soweit ich das beurteilen kann.


Meine Vorgehensweise:

Ich wähle zuerst ein Forum aus, in welchem der Thread erstellt werden soll und hole mir die forum_id.
Danach erstelle ich einen neuen Eintrag in der Tabelle phpbb_topics mit den ausgefüllten Feldern: forum_id, topic_title, topic_poster, topic_time und topic_replies.
Den Rest lasse ich leer.

Dann finde ich mit Hilfe der Topic-Time, dem Topic-Poster, dem Titel und der Forums-ID die Topic-ID heraus mit welcher ich dann meine Einträge in phpbb_posts mache.
D.h. konkret, dass ich folgende Felder ausfülle: topic_id, forum_id, poster_id, post_time, poster_ip, den Rest lasse ich wieder leer.
Die IP speichere ich, wie das Forum auch, im hexadezimal-code ab.

Anschließend lasse ich mir mit diesen Informationen die Post-ID herausgeben und mache meinen vorletzten letzten Schritt: Die Eintragung in die phpbb_posts_text Tabelle mit den Feldern post_id, bbcode_uid, post_text.

Die bbcode_uid bestimme ich dabei mit folgender Funktion:

Code: Alles auswählen

define("BBCODE_UID_LEN", 10);

function make_bbcode_uid()
{
	// Unique ID for this message..

	$uid = md5(mt_rand());
	$uid = substr($uid, 0, BBCODE_UID_LEN);

	return $uid;
}
welche ich aus der "posting.php" des phpbb-boards entnommen habe.


Als letztes trage ich dann noch die topic_first_post_id in die Tabelle phpbb_topics ein.



Wie oben bereits erwähnt, trägt er alles wunderbar in die Datenbank ein, nur das Forum liest es nicht aus.
Wenn ich jedoch ein Thread mit dem Forum erstelle und diesen dann extern mit meinem Script editiere, klappt es.
Es gibt also nur Probleme bei neuen Eintragungen.

Hat dies vielleicht etwas mit der bbcode_uid zu tun?
Ich könnte mir vorstellen, dass ich vielleicht doch nicht die richtige Funktion gewählt habe.


Wäre nett, wenn mir jemand helfen könnte :)

Ich benutze Version phpBB 2.0.12.

Verfasst: 03.09.2005 02:20
von hans_peter_ochse
problem gelöst.

es lag daran, dass ich in phpbb_topics auch noch
topic_last_post_id setzen musste, weil der erste eintrag ja auch gleichzeitig der letzte ist, wenn es nur einen gibt. ;)

Verfasst: 15.02.2006 20:44
von grueneralien
Gibt es den Mod noch oder kennt jemand was ähnlichen?