Hi @ all,
ich habe mal eine Frage, ich versuche im Portal beim erstellen eines News/Artikel auch einen Thread dazu zu eröffnen. Jetzt habe ich folgenden Code (zum Testen erstmal auf die "leichte/schnelle/unschöne" art):
|
PHP-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
if (!defined('WBB_DIR')) define('WBB_DIR', '../');
if (!defined('WBB_N')) define('WBB_N', '1_1');
if (!defined('PROFILE_SHOW_LAST_POSTS')) define('PROFILE_SHOW_LAST_POSTS', '1');
if (!defined('BOARD_THREADS_ENABLE_MESSAGE_PREVIEW')) define('BOARD_THREADS_ENABLE_MESSAGE_PREVIEW', '1');
if (!defined('THREAD_ENABLE_SIMILAR_THREADS')) define('THREAD_ENABLE_SIMILAR_THREADS', '1');
require_once(WBB_DIR.'lib/data/thread/ThreadEditor.class.php');
require_once(WBB_DIR.'lib/data/board/BoardEditor.class.php');
try
{
$test = ThreadEditor::create($this->categoryID, $this->languageID, "", $this->subject, $this->text, WCF::getUser()->userID, $this->username, 0, 0, 0, $this->getOptions(), 0, $this->attachmentListEditor, null, 0, WCF::getUser()->userID, $this->username, 0);
}
catch(Exception $e){}
try
{
/* Update Stats */
WCF::getCache()->clear(WBB_DIR.'cache/', 'cache.stat.php');
WCF::getCache()->clear(WBB_DIR.'cache/', 'cache.boardData.php');
/* Update Board (Lastpost) */
$board = new BoardEditor($this->categoryID);
$board->addThreads();
$board->setLastPost($test->threadID);
}
catch(Exception $e){}
|
Das Problem ist allerdings, das es mir abschmiert wenn ich ThreadEditor::create() ausführe. Und zwar kommt die Meldung das im CacheHandler die Variable "board" nicht vorhanden/bekannt ist. Deshalb auch im try-catch-Block. Weil den Thread erstellt er schon auch, und das auch sehr gut. Allerdings werden weder beim benutzer, noch in der Forenübersicht die Themen nicht addiert und auch nicht als "letzer Beitrag" markiert. Im zweiten try-catch ist das selbe Problem, weshalb der Counter auch nicht geupdated wird....
Kann mir jemand sagen, was ich machen muss, damit es funktioniert!?