Seite 1 von 1

submit_post() Post muss freigegeben werden

Verfasst: 20.12.2009 23:21
von BOAS
Hallo,

bin gerade am Verzweifeln.. :(

Ich möchte mittels eines externen Skripts Postings bzw. Replys in meinem Forum posten. Das geht soweit auch gut, nur das Merkwüdige ist: alle so erstellten Posts bedürfen noch einer manuellen Freigabe durch die Moderatoren/administratoren.
Jedoch hat der Benutzer über den der Post angelegt wird, volle Berechtigungen (selbst wenn ich einen Adminaccount verwende, besteht das Problem weiterhin) und kann, wenn ich mich damit selbst anmelde, auch ohne Freigabesperre direkt posten.

Das Grundgerüst des Codes:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = '../../www/forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
//include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup();


//echo "Ist eingeloggt: ".$user->data['is_registered'];

$result = $auth->login("BENUTZER", "KENNWORT");
//echo "\r\nErgebnis: ".$result['status']; //3 ist gut

//echo "\r\nIst eingeloggt: ".$user->data['is_registered'];


$betreff = "eMailtest";
$inhalt = "Blablablablalbalba\nZweite Zeile\n\nAbsatz. Fiel Text und en paar ... :-)";

$poll = $uid = $bitfield = $options = '';
generate_text_for_storage($betreff, $uid, $bitfield, $options, false, false, false);
generate_text_for_storage($inhalt, $uid, $bitfield, $options, true, true, true);

$data = array(
	'forum_id'      => 4,
	'topic_id'      => 49,
	'icon_id'       => false,
	'enable_bbcode'     => true,
	'enable_smilies'    => true,
	'enable_urls'       => true,
	'enable_sig'        => true,
	'message'       => $inhalt,
	'message_md5'   => md5($inhalt),
	'bbcode_bitfield'   => $bitfield,
	'bbcode_uid'        => $uid,
	'post_edit_locked'  => 0,
	'topic_title'       => $betreff,
	'notify_set'        => false,
	'notify'            => false,
	'post_time'         => 0,
	'forum_name'        => '',
	'enable_indexing'   => true,);

submit_post('reply', $betreff, '', POST_NORMAL, $poll, $data);

$user->session_kill();

echo "Postid: ".$data['post_id'];
PS: Board-Version 3.0.5

Kennt da jemand die Ursache für das Problem bzw. kann mir weiterhelfen??


Gruß

BOAS

Re: submit_post() Post muss freigegeben werden

Verfasst: 21.12.2009 00:00
von bantu
Aktualisiere dein Board auf 3.0.6.

Dann geht das mit

Code: Alles auswählen

'force_approved_state' => true
im $data array.

Re: submit_post() Post muss freigegeben werden

Verfasst: 21.12.2009 10:01
von BOAS
hey, danke :)
Werde es am Abend (wenn's im board ruhiger zugeht und man mal en Update probieren kann) ausprobieren...

PS: Wenn man schon dabei ist, weiß jemand wie ich bei submit_post Attachments mit übergeben kann?
D.h. ich suche eine Beschreibung über:
...Bedeutung der $data Indizes: 'topic_attachment', 'attachment_data', 'filename_data'. Welche Werte werden da jeweils behandelt?
...Was macht die Methode 'posting_gen_inline_attachments' bzw. übergeb ich ihr die (attachment-)Rohdaten?
...Gleiches für Methode 'posting_gen_attachment_entry($attachment_data, $filename_data, $allowed)' bzw. was ist hier mit filename_data und 'allowed' gemeint?
...Was für Auswirkungen hat das auf den message_hash, bzw. dessen Berechnungsgrundlage?
...in welcher sinnvollen Reihenfolge führe ich die Befehle aus?

Zur Ausgangslage: In meinem Skript liegen Daten vor, welche mittels eines Inputsstreams gelesen wurden. Dieser soll dann als Attachment-Datei gespeichert werden und entsprechend dem Post als Link angehängt werden.


Gruß

Sebastian