static function create($root, $article, $superthread = null, $type = Threads::TYPE_NORMAL, $subject = '', $summary = '', $bump = null, $signature = null)
 {
     $thread = new Thread(null);
     if (!in_array($type, self::$VALID_TYPES)) {
         throw new MWException(__METHOD__ . ": invalid change type {$type}.");
     }
     if ($superthread) {
         $change_type = Threads::CHANGE_REPLY_CREATED;
     } else {
         $change_type = Threads::CHANGE_NEW_THREAD;
     }
     global $wgUser;
     $thread->setAuthor($wgUser);
     if (is_object($root)) {
         $thread->setRoot($root);
     } else {
         $thread->setRootId($root);
     }
     $thread->setSuperthread($superthread);
     $thread->setArticle($article);
     $thread->setSubject($subject);
     $thread->setType($type);
     if (!is_null($signature)) {
         $thread->setSignature($signature);
     }
     $thread->insert();
     if ($superthread) {
         $superthread->addReply($thread);
         $superthread->commitRevision($change_type, $thread, $summary, $bump);
     } else {
         $hthread = ThreadRevision::create($thread, $change_type);
     }
     // Create talk page
     Threads::createTalkpageIfNeeded($article);
     // Notifications
     NewMessages::writeMessageStateForUpdatedThread($thread, $change_type, $wgUser);
     if ($wgUser->getOption('lqt-watch-threads', false)) {
         WatchAction::doWatch($thread->topmostThread()->root()->getTitle(), $wgUser);
     }
     return $thread;
 }
Beispiel #2
0
include_once __DIR__ . '/../src/bootstrap.php';
if (isset($_GET['action']) && ($_GET['action'] = 'newThread')) {
    $thread = new Thread();
    $thread->setThreadTitle(trim($_POST['threadTitle']));
    $userName = trim($_POST['userName']);
    $user = User::getByName($userName);
    if ($user == null) {
        $user = new User();
        $user->setUserName($userName);
        $user->setRegistryDate(date('Y-m-d H:i:s'));
        $user->insert();
    }
    $thread->setUserId($user->getUserId());
    $thread->setCreated(date('Y-m-d H:i:s'));
    $thread->insert();
    $post = new Post();
    $post->setUserId($user->getUserId());
    $post->setThreadId($thread->getThreadId());
    $post->setCreated(date('Y-m-d H:i:s'));
    $post->setContent(trim($_POST['content']));
    $post->insert();
    header("Location: /index.php?thread=" . $thread->getThreadId());
    die;
}
?>
<html>
    <head>
        <title>Форум</title>
        <meta charset="utf-8"/>
    </head>