Post von extern erstellen
Post von extern erstellen
Hallo zusammen,
ich habe hier im Forum schon ein Thread zu dem Thema gefunden, da waren jedoch keine Includes oder so dabei und war nicht brauchbar.
Mein Problem:
Ich von einer belibigen PHP Seite (Komponente in Joomla) Posts in einem PHPBB3 Forum erstellen.
Lösungsansätze?
PHPBB3 Framework einbinden und Funktionen vom PHPBB3 nutzen? -> Wie?
Direkt in die SQL Datenbank in den nötigen Tabellen reinschreiben? -> Wie? (Funktionieren dann Textfarben, Fett usw.... -> Wie prepariere ich die Message?)
Ich danke euch shcon jezt für eure Hilfe!
Gruss
ich habe hier im Forum schon ein Thread zu dem Thema gefunden, da waren jedoch keine Includes oder so dabei und war nicht brauchbar.
Mein Problem:
Ich von einer belibigen PHP Seite (Komponente in Joomla) Posts in einem PHPBB3 Forum erstellen.
Lösungsansätze?
PHPBB3 Framework einbinden und Funktionen vom PHPBB3 nutzen? -> Wie?
Direkt in die SQL Datenbank in den nötigen Tabellen reinschreiben? -> Wie? (Funktionieren dann Textfarben, Fett usw.... -> Wie prepariere ich die Message?)
Ich danke euch shcon jezt für eure Hilfe!
Gruss
- Frank1604
- Ehemaliges Teammitglied
- Beiträge: 2106
- Registriert: 07.11.2007 09:25
- Wohnort: Einhausen
- Kontaktdaten:
Re: Post von extern erstellen
Es gab doch mal ne Bridge vom Joomla zu phpbb3. Rokbridge hieß die glaub ich...
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Re: Post von extern erstellen
Frank1604 hat geschrieben:Es gab doch mal ne Bridge vom Joomla zu phpbb3. Rokbridge hieß die glaub ich...
Die ist für den Login zuständig o.O Ich will Threads erstellen.....
- Frank1604
- Ehemaliges Teammitglied
- Beiträge: 2106
- Registriert: 07.11.2007 09:25
- Wohnort: Einhausen
- Kontaktdaten:
Re: Post von extern erstellen
Dann musst du dir wohl eine kleine Datei erstellen.
Dazu solltest du dir die Funktion submit_post() mal anschauen, die erklärt sich eigentlich von selbst.
Dazu solltest du dir die Funktion submit_post() mal anschauen, die erklärt sich eigentlich von selbst.
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Re: Post von extern erstellen
Frank1604 hat geschrieben:Dann musst du dir wohl eine kleine Datei erstellen.
Dazu solltest du dir die Funktion submit_post() mal anschauen, die erklärt sich eigentlich von selbst.
Ich hab nicht viel Probleme mit Funktionen verstehen und so

Nur wie , und vorallem was bind ich genau ein um diese Funktionen zu nutzen? Zusätzlich hab ich in den verschiedensten scripten gesehen , dass Funktionen wie prepare_message() und so aufgerufen werden. Was ist da alles tatsächlich nötig?
- Frank1604
- Ehemaliges Teammitglied
- Beiträge: 2106
- Registriert: 07.11.2007 09:25
- Wohnort: Einhausen
- Kontaktdaten:
Re: Post von extern erstellen
Also theoretisch reicht die submit_post()
wenn du allerdings noch bbcodes und smilies haben willst, dann gibt es da noch die Klasse parse_message().
Das müsste schon fast laufen
wenn du allerdings noch bbcodes und smilies haben willst, dann gibt es da noch die Klasse parse_message().
Code: Alles auswählen
$message_parser = new parse_message();
$message_parser->message = &$message;
$message_parser->parse(1, 0, 1);
//build post data array
$data = array(
'topic_title' => $title,
'post_id' => 0,
'topic_id' => 0,
'forum_id' => $forum_id,
'icon_id' => 0,
'poster_id' => $user_post_id,
'enable_sig' => true,
'enable_bbcode' => true,
'enable_smilies' => true,
'enable_urls' => true,
'enable_indexing' => true,
'message_md5' => (string) md5($message),
'post_time' => 0,
'forum_name' => '',
'notify' => false,
'notify_set' => false,
'poster_ip' => $user->ip,
'post_edit_locked' => true,
'bbcode_bitfield' => $message_parser->bbcode_bitfield,
'bbcode_uid' => $message_parser->bbcode_uid,
'message' => $message_parser->message,
'attachment_data' => $attachment_data,
);
// and go..
$url = submit_post('post', $title, $user->data['username'], POST_NORMAL, $poll, $data);
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Re: Post von extern erstellen
Super perfekt.
Nun weiss ich aber doch immernoch nicht was ich alles includen muss damit Dein Script läuft
Das ist ja mein grundlegendes Problem
Oder steh ich aufm Schlauch?
Nun weiss ich aber doch immernoch nicht was ich alles includen muss damit Dein Script läuft


- Frank1604
- Ehemaliges Teammitglied
- Beiträge: 2106
- Registriert: 07.11.2007 09:25
- Wohnort: Einhausen
- Kontaktdaten:
Re: Post von extern erstellen
So langsam glaub ich , ich kann dir gleich das ganze script schreiben, nen bisi mal selbst suchen wäre auch net schlecht 

Code: Alles auswählen
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Re: Post von extern erstellen
Ich Danke Dir vielmals für Deine Geduld 
Ich werde das jetzt umsetzen, den Rest krieg ich selber gebacken
Wie gesagt, ich hat eigentlich nur Probleme wegen den Include Files
Auf die 2 Funktionen inlcudes wär ich ja noch gekommen, aber dass ich common inlcude muss? Ne da wär ich nich drauf gekommen 
Danke Dir!

Ich werde das jetzt umsetzen, den Rest krieg ich selber gebacken



Danke Dir!
- Frank1604
- Ehemaliges Teammitglied
- Beiträge: 2106
- Registriert: 07.11.2007 09:25
- Wohnort: Einhausen
- Kontaktdaten:
Re: Post von extern erstellen
common muß immer includet werden.
sowas auch nicht vergessen.
Allerdings wirst du wohl auch noch an den Berechtigungen rumspielen müssen, denn das Script ist kein User.
So, und schon hat dein Script die Berechtigungen des Users übernommen 
Aber nicht vergessen nach der submit_post() die Berechtigungen zurück zu ändern.
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$user->session_begin();
$auth->acl($user->data);
Allerdings wirst du wohl auch noch an den Berechtigungen rumspielen müssen, denn das Script ist kein User.
Code: Alles auswählen
//schnapp dir die BErechtigungen irgendeines Users ;) => $user_post_id (Id des users der posten soll)
$sql = 'SELECT *
FROM ' . USERS_TABLE . '
WHERE user_id = ' . $user_post_id;
$result = $db->sql_query($sql);
if (!$result)
// user_id not exists, abfangen!
$user_copy = $user->data;
$user->data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$auth->acl($user->data);

Aber nicht vergessen nach der submit_post() die Berechtigungen zurück zu ändern.
Code: Alles auswählen
// restore user->data
$user->data = $user_copy ;
$auth->acl($user->data);
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!