From: Jan Luca Naumann Date: Fri, 7 Aug 2009 16:39:35 +0000 (+0000) Subject: Add after the link for "My Talk" "" if there are some X-Git-Tag: 1.31.0-rc.0~40435 X-Git-Url: http://git.cyclocoop.org/%40spipnet%40?a=commitdiff_plain;h=fcb5f2111cb38716898395ceb8c6d6301a973a2a;p=lhc%2Fweb%2Fwiklou.git Add after the link for "My Talk" "" if there are some --- diff --git a/includes/SkinTemplate.php b/includes/SkinTemplate.php index 0a4fb4e675..85bf079806 100644 --- a/includes/SkinTemplate.php +++ b/includes/SkinTemplate.php @@ -510,7 +510,7 @@ class SkinTemplate extends Skin { * @private */ function buildPersonalUrls() { - global $wgOut, $wgRequest; + global $wgOut, $wgRequest, $wgUser, $wgLang; $title = $wgOut->getTitle(); $pageurl = $title->getLocalURL(); @@ -531,8 +531,32 @@ class SkinTemplate extends Skin { 'active' => ( $this->userpageUrlDetails['href'] == $pageurl ) ); $usertalkUrlDetails = $this->makeTalkUrlDetails( $this->userpage ); + if ( $wgUser->getNewtalk() ) { + # 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 ).')'; + + # disable caching + $wgOut->setSquidMaxage( 0 ); + $wgOut->enableClientCache( false ); + } + else { + $text = ''; + } + } + else { + $text = ''; + } $personal_urls['mytalk'] = array( - 'text' => wfMsg( 'mytalk' ), + 'text' => wfMsg( 'mytalk' ).$text, 'href' => &$usertalkUrlDetails['href'], 'class' => $usertalkUrlDetails['exists'] ? false : 'new', 'active' => ( $usertalkUrlDetails['href'] == $pageurl )