Seite 1 von 1
posts erstellen von aussen
Verfasst: 24.09.2002 16:54
von Gast
gibt es ne einfache möglichkeit mit einem php script ein topic im phpbb zu erstellen?
ich möchte die comments zu den news auf meiner seite ins forum packen und muss dazu ja automatisch erstmal ein neues topic erstellen.
ich hab zwar direkt zugriff auf die datenbank und könnte es da reinschreiben, blos ist es ein wenig aufwendig, da ich erst die nächste topic id rausfinden müsste und etc.
die function submit_post in functions_post.php kapier ich leider nicht ganz.
sorry wenn die antwort dazu schon ürgendwo im forum steht, hab über die such function nix gefunden.
Verfasst: 24.09.2002 17:29
von itst
Die posting.php ist Dein Freund. Mit dem Parameter "?mode=newtopic" und den anderen Daten aus dem Formular, das Du einfach kopieren könntest.
Verfasst: 24.09.2002 17:39
von Gast
blos gehts dann nur als gast user
mit nem anderem user müsste ich mich ja erst einloggen, oder nimmt phpbb einfach den usernamen und pw wenn ich dem das einfach per parameter übergebe?
Verfasst: 24.09.2002 18:59
von Pyramide
Ich würde eine Kopie von posting.php erstellen und den Code, wo die übergebenen Variablen aufbereitet werden sowie überprüft wird ob der angemeldete Benutzer überhaupt posten darf durch deinen eigenen ersetzen. Wichtig ist daß du:
- $HTTP_POST_VARS füllst (guck dir ggf. im Quellcode einer generierten posting.php im Browser an, welche Variablen übergeben werden)
- $userdata füllst (einfach 'SELECT * FROM <userstabelle> WHERE user_id=<gewünschteuserid>' ausführen und mit mysql_fetch_array auslesen). Überschreiben musst du das was bei '//Start session management' steht
- Die Ausgabe unterdrückst (Oder anpasst oder was du willst)
Ich habs so gemacht:
Verfasst: 31.01.2003 13:56
von ET^LEO
Code: Alles auswählen
/***************************************************************************
* post.php by Legacy of LEO (leo@et-clan.de)
***************************************************************************/
if(!$subject or !$message) { echo "ERROR: no Subject or message!"; die; }
define('IN_PHPBB', true);
$phpbb_root_path='./';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
// CONFIG FOR NEW TREAD
$urlbase='http://www.et-clan.de/phpbb2/'; //Link to PHPBB2
$forum_id=8; //Forum
$bbcode_on=1; //BBCODE ON=1 OFF=0
$html_on=1; //HTML ON=1 OFF=0
$smilies_on=0; //SMILIES ON=1 OFF=0
$topic_type='0'; //TOPIC TYPE NORMAL=0 IMPORTEND=1 ANNOUNCE=2
$attach_sig='0'; // Signum attache ON=1 OFF=0
$mode='newtopic'; // should not be changed!
// CONFIG END
// Start session management
$userdata = session_pagestart($user_ip, PAGE_POSTING);
init_userprefs($userdata);
$username = ( $userdata['session_logged_in'] ) ? $userdata['username'] : '';
// End session management
prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $poll_length);
submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length);
update_post_stats($mode, $post_data, $forum_id, $topic_id, $post_id, $user_id);
echo $urlbase.'viewtopic.php?t='.$topic_id;
Das speicherst du im deinem PHPBB verzeichniss.
alles was du jetz zutuhen hast ist das ding mit:
post.php?subject=
(titel des treads)&message=
(inhalt des treads)
aufzurufen.