array( 'diff' => 'cur' ),
array( 'known', 'noclasses' )
);
+
+ $newmessagesnumber = $wgUser->getNewtalkNumber();
$ntl = wfMsg(
'youhavenewmessages',
$newmessageslink,
- $newmessagesdifflink
+ $newmessagesdifflink,
+ $newmessagesnumber
);
# Disable Cache
$out->setSquidMaxage( 0 );
);
$usertalkUrlDetails = $this->makeTalkUrlDetails( $this->userpage );
if ( $wgUser->getNewtalk() ) {
- # do not show "(!)" text when we are viewing our
+ # do not show text when we are viewing our
# own talk page
- if( !$title->equals( $wgUser->getTalkPage() ) ) {
- $field = ( $wgUser->getID() == 0 )? 'user_ip' : 'user_id';
- $id = ( $wgUser->getID() == 0 )? $wgUser->getName() : $wgUser->getID();
-
- $db = wfGetDB( DB_SLAVE );
- $query = $db->select( 'user_newtalk', $field, array( $field => $id ) );
- $num = $db->numRows( $query );
-
- $text = '('.$wgLang->formatNum( $num ).')';
+ if( !$title->equals( $wgUser->getTalkPage() ) ) {
+ $newtalk = $wgUser->getNewtalkNumber();
# disable caching
$wgOut->setSquidMaxage( 0 );
$wgOut->enableClientCache( false );
}
else {
- $text = '';
+ $newtalk = 0;
}
}
else {
- $text = '';
+ $newtalk = 0;
}
$personal_urls['mytalk'] = array(
- 'text' => wfMsg( 'mytalk' ).$text,
+ 'text' => wfMsg( 'mytalk', $newtalk ),
'href' => &$usertalkUrlDetails['href'],
'class' => $usertalkUrlDetails['exists'] ? false : 'new',
'active' => ( $usertalkUrlDetails['href'] == $pageurl )
//@}
static $idCacheByName = array();
+
+ var $mNewtalknumber;
/**
* Lightweight constructor for an anonymous user.
} else {
$db = wfGetDB( DB_SLAVE );
}
- $ok = $db->selectField( 'user_newtalk', $field,
+ $query = $db->select( 'user_newtalk', $field,
array( $field => $id ), __METHOD__ );
- return $ok !== false;
+ $this->mNewtalknumber = $ok = $db->numRows( $query );
+ return $ok !== 0;
}
/**
$this->invalidateCache();
}
}
+
+ /**
+ * Return the number of new messages
+ * @return \int The number of new messages
+ */
+ public function getNewtalkNumber() {
+ global $wgLang;
+ return $wgLang->formatNum( $this->mNewtalknumber );
+ }
/**
* Generate a current or new-future timestamp to be stored in the
'cancel' => 'Cancel',
'moredotdotdot' => 'More...',
'mypage' => 'My page',
-'mytalk' => 'My talk',
+'mytalk' => 'My talk ($1)',
'anontalk' => 'Talk for this IP',
'navigation' => 'Navigation',
'and' => ' and',
'pagetitle' => '$1 - {{SITENAME}}', # only translate this message to other languages if you have to change it
'pagetitle-view-mainpage' => '{{SITENAME}}', # only translate this message to other languages if you have to change it
'retrievedfrom' => 'Retrieved from "$1"',
-'youhavenewmessages' => 'You have $1 ($2).',
+'youhavenewmessages' => 'You have $3 $1 ($2).',
'newmessageslink' => 'new messages',
'newmessagesdifflink' => 'last change',
'youhavenewmessagesmulti' => 'You have new messages on $1',