Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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;
 }