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; }
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>