Hallo,
ich versuche aus einem externen Skript heraus automatisiert ein neues Thread zu erstellen.
Das funktioniert im Grunde auch ohne Probleme, lediglich die Anzeige des letzten Beitrags in der Board-Übersicht wird nicht aktualisiert. Je nachdem wie ich es versuche bleibt entweder der alte "letzte Beitrag" bestehen, oder die Anzeige ist komplett leer.
Ich habe hier im Forum schon einige Ansätze gesehen, aber leider beziehen sich die meisten davon auf ältere Versionen.
Hier ist was ich bisher versucht habe.
Um das Thread zu erstellen:
$data = array(
'boardID' => $arg_board_id,
'languageID' => 1,
'topic' => $arg_title,
'time' => time(),
'userID' => $arg_starter_id,
'username' => $arg_starter_nickname,
'hasLabels' => 0
);
$board = new \wbb\data\board\Board($arg_board_id);
$threadData = array(
'data' => $data,
'board' => $board,
'attachmentHandler' => null,
'postData' => array(
'message' => $arg_message,
'enableBBCodes' => 1,
'enableHtml' => 0,
'enableSmilies' => 1,
'showSignature' => 1
),
'tags' => array(),
'subscribeThread' => 0
);
$objectAction = new wbb\data\thread\ThreadAction(array(), 'create', $threadData);
$resultValues = $objectAction->executeAction();
Display More
Um die Anzeige des letzten Beitrags zu aktualisieren:
$thread = new wbb\data\thread\Thread( $resultValues['returnValues']->threadID );
$board = \wbb\data\board\BoardCache::getInstance()->getBoard( $arg_board_id );
$boardEditor = new \wbb\data\board\BoardEditor($board);
$boardEditor->setLastPost($thread);
\wbb\data\board\BoardEditor::resetDataCache();
Display More
In der wbb2_board_last_post Tabelle ist die threadID übrigens richtig eingetragen, ich vermute daher ein Problem mit dem korrekten leeren oder wiederbefüllen des Caches.
Kann mir jemand einen Stubs in die richtige Richtung geben?