public function actionMarkRead($threads, $params) { $user = $this->getUser(); $result = array(); if (in_array('all', $threads)) { NewMessages::markAllReadByUser($user); $result[] = array('result' => 'Success', 'action' => 'markread', 'threads' => 'all', 'unreadlink' => array('href' => SpecialPage::getTitleFor('NewMessages')->getLocalURL(), 'text' => wfMessage('lqt_newmessages')->text(), 'active' => false)); } else { foreach ($threads as $t) { NewMessages::markThreadAsReadByUser($t, $user); $result[] = array('result' => 'Success', 'action' => 'markread', 'id' => $t->id(), 'title' => $t->title()->getPrefixedText()); } $newMessagesCount = NewMessages::newMessageCount($user, DB_MASTER); $result[count($result) - 1]['unreadlink'] = array('href' => SpecialPage::getTitleFor('NewMessages')->getLocalURL(), 'text' => wfMessage($newMessagesCount ? 'lqt-newmessages-n' : 'lqt_newmessages')->numParams($newMessagesCount)->text(), 'active' => $newMessagesCount > 0); } $this->getResult()->setIndexedTagName($result, 'thread'); $this->getResult()->addValue(null, 'threadactions', $result); }
static function onPersonalUrls(&$personal_urls, &$title) { global $wgUser; if ($wgUser->isAnon()) { return true; } global $wgLiquidThreadsEnableNewMessages; if ($wgLiquidThreadsEnableNewMessages) { $newMessagesCount = NewMessages::newMessageCount($wgUser); // Add new messages link. $url = SpecialPage::getTitleFor('NewMessages')->getLocalURL(); $msg = $newMessagesCount ? 'lqt-newmessages-n' : 'lqt_newmessages'; $newMessagesLink = array('href' => $url, 'text' => wfMessage($msg)->numParams($newMessagesCount)->text(), 'active' => $newMessagesCount > 0); $insertUrls = array('newmessages' => $newMessagesLink); if (in_array('watchlist', array_keys($personal_urls))) { // User has viewmywatchlist permission $personal_urls = wfArrayInsertAfter($personal_urls, $insertUrls, 'watchlist'); } else { $personal_urls = wfArrayInsertAfter($personal_urls, $insertUrls, 'preferences'); } } return true; }
static function onPersonalUrls(&$personal_urls, &$title) { global $wgUser, $wgLang; if ($wgUser->isAnon()) { return true; } $newMessagesCount = NewMessages::newMessageCount($wgUser); // Add new messages link. $url = SpecialPage::getTitleFor('NewMessages')->getLocalURL(); $msg = $newMessagesCount ? 'lqt-newmessages-n' : 'lqt_newmessages'; $newMessagesLink = array('href' => $url, 'text' => wfMsg($msg, $wgLang->formatNum($newMessagesCount)), 'active' => $newMessagesCount > 0); $insertUrls = array('newmessages' => $newMessagesLink); $personal_urls = wfArrayInsertAfter($personal_urls, $insertUrls, 'watchlist'); return true; }