Index: trunk/phase3/skins/CologneBlue.php |
— | — | @@ -79,7 +79,13 @@ |
80 | 80 | |
81 | 81 | $s .= $this->bottomLinks(); |
82 | 82 | $s .= $wgLang->pipeList( array( |
83 | | - "\n<br />" . $this->makeKnownLinkObj( Title::newMainPage() ), |
| 83 | + "\n<br />" . $this->link( |
| 84 | + Title::newMainPage(), |
| 85 | + null, |
| 86 | + array(), |
| 87 | + array(), |
| 88 | + array( 'known', 'noclasses' ) |
| 89 | + ), |
84 | 90 | $this->aboutLink(), |
85 | 91 | $this->searchForm( wfMsg( 'qbfind' ) ) |
86 | 92 | ) ); |
— | — | @@ -242,20 +248,35 @@ |
243 | 249 | $s .= $this->menuHead( 'qbmyoptions' ); |
244 | 250 | if ( $wgUser->isLoggedIn() ) { |
245 | 251 | $name = $wgUser->getName(); |
246 | | - $tl = $this->makeKnownLinkObj( $wgUser->getTalkPage(), |
247 | | - wfMsg( 'mytalk' ) ); |
| 252 | + $tl = $this->link( |
| 253 | + $wgUser->getTalkPage(), |
| 254 | + wfMsg( 'mytalk' ), |
| 255 | + array(), |
| 256 | + array(), |
| 257 | + array( 'known', 'noclasses' ) |
| 258 | + ); |
248 | 259 | if ( $wgUser->getNewtalk() ) { |
249 | 260 | $tl .= " *"; |
250 | 261 | } |
251 | 262 | |
252 | | - $s .= $this->makeKnownLinkObj( $wgUser->getUserPage(), |
253 | | - wfMsg( 'mypage' ) ) |
| 263 | + $s .= $this->link( |
| 264 | + $wgUser->getUserPage(), |
| 265 | + wfMsg( 'mypage' ), |
| 266 | + array(), |
| 267 | + array(), |
| 268 | + array( 'known', 'noclasses' ) |
| 269 | + ) |
254 | 270 | . $sep . $tl |
255 | 271 | . $sep . $this->specialLink( 'watchlist' ) |
256 | | - . $sep . $this->makeKnownLinkObj( SpecialPage::getSafeTitleFor( 'Contributions', $wgUser->getName() ), |
257 | | - wfMsg( 'mycontris' ) ) |
258 | | - . $sep . $this->specialLink( 'preferences' ) |
259 | | - . $sep . $this->specialLink( 'userlogout' ); |
| 272 | + . $sep . $this->link( |
| 273 | + SpecialPage::getSafeTitleFor( 'Contributions', $wgUser->getName() ), |
| 274 | + wfMsg( 'mycontris' ), |
| 275 | + array(), |
| 276 | + array(), |
| 277 | + array( 'known', 'noclasses' ) |
| 278 | + ) |
| 279 | + . $sep . $this->specialLink( 'preferences' ) |
| 280 | + . $sep . $this->specialLink( 'userlogout' ); |
260 | 281 | } else { |
261 | 282 | $s .= $this->specialLink( 'userlogin' ); |
262 | 283 | } |
— | — | @@ -267,15 +288,21 @@ |
268 | 289 | if ( $wgUser->isLoggedIn() && $wgEnableUploads ) { |
269 | 290 | $s .= $sep . $this->specialLink( 'upload' ); |
270 | 291 | } |
| 292 | + |
271 | 293 | global $wgSiteSupportPage; |
| 294 | + |
272 | 295 | if( $wgSiteSupportPage ) { |
273 | 296 | $s .= $sep . '<a href="' . htmlspecialchars( $wgSiteSupportPage ) . '" class="internal">' |
274 | 297 | . wfMsg( 'sitesupport' ) . '</a>'; |
275 | 298 | } |
276 | 299 | |
277 | | - $s .= $sep . $this->makeKnownLinkObj( |
| 300 | + $s .= $sep . $this->link( |
278 | 301 | SpecialPage::getTitleFor( 'Specialpages' ), |
279 | | - wfMsg( 'moredotdotdot' ) ); |
| 302 | + wfMsg( 'moredotdotdot' ), |
| 303 | + array(), |
| 304 | + array(), |
| 305 | + array( 'known', 'noclasses' ) |
| 306 | + ); |
280 | 307 | |
281 | 308 | $s .= $sep . "\n</div>\n"; |
282 | 309 | return $s; |
Index: trunk/phase3/skins/Standard.php |
— | — | @@ -221,13 +221,21 @@ |
222 | 222 | # and to avoid messing with the separator that is prepended to the next item |
223 | 223 | $s .= '<strong>' . wfMsg( 'newpage' ) . '</strong>'; |
224 | 224 | } |
225 | | - |
226 | 225 | } |
227 | 226 | |
228 | 227 | # "Post a comment" link |
229 | 228 | if( ( $this->mTitle->isTalkPage() || $wgOut->showNewSectionLink() ) && $action != 'edit' && !$wpPreview ) |
230 | | - $s .= '<br />' . $this->makeKnownLinkObj( $this->mTitle, wfMsg( 'postcomment' ), 'action=edit§ion=new' ); |
231 | | - |
| 229 | + $s .= '<br />' . $this->link( |
| 230 | + $this->mTitle, |
| 231 | + wfMsg( 'postcomment' ), |
| 232 | + array(), |
| 233 | + array( |
| 234 | + 'action' => 'edit', |
| 235 | + 'section' => 'new' |
| 236 | + ), |
| 237 | + array( 'known', 'noclasses' ) |
| 238 | + ); |
| 239 | + |
232 | 240 | #if( $tns%2 && $action!='edit' && !$wpPreview) { |
233 | 241 | #$s.= '<br />'.$this->makeKnownLink($wgTitle->getPrefixedText(),wfMsg('postcomment'),'action=edit§ion=new'); |
234 | 242 | #} |
Index: trunk/phase3/skins/disabled/MonoBookCBT.php |
— | — | @@ -426,19 +426,30 @@ |
427 | 427 | if (count($newtalks) == 1 && $newtalks[0]["wiki"] === $wgDBname) { |
428 | 428 | $usertitle = $this->getUserPageTitle(); |
429 | 429 | $usertalktitle = $usertitle->getTalkPage(); |
| 430 | + |
430 | 431 | if( !$usertalktitle->equals( $this->mTitle ) ) { |
431 | | - $ntl = wfMsg( 'youhavenewmessages', |
432 | | - $this->makeKnownLinkObj( |
433 | | - $usertalktitle, |
434 | | - wfMsgHtml( 'newmessageslink' ), |
435 | | - 'redirect=no' |
436 | | - ), |
437 | | - $this->makeKnownLinkObj( |
438 | | - $usertalktitle, |
439 | | - wfMsgHtml( 'newmessagesdifflink' ), |
440 | | - 'diff=cur' |
441 | | - ) |
| 432 | + $newmessageslink = $this->link( |
| 433 | + $usertalktitle, |
| 434 | + wfMsgHtml( 'newmessageslink' ), |
| 435 | + array(), |
| 436 | + array( 'redirect' => 'no' ), |
| 437 | + array( 'known', 'noclasses' ) |
442 | 438 | ); |
| 439 | + |
| 440 | + $newmessagesdifflink = $this->link( |
| 441 | + $usertalktitle, |
| 442 | + wfMsgHtml( 'newmessagesdifflink' ), |
| 443 | + array(), |
| 444 | + array( 'diff' => 'cur' ), |
| 445 | + array( 'known', 'noclasses' ) |
| 446 | + ); |
| 447 | + |
| 448 | + $ntl = wfMsg( |
| 449 | + 'youhavenewmessages', |
| 450 | + $newmessageslink, |
| 451 | + $newmessagesdifflink |
| 452 | + ); |
| 453 | + |
443 | 454 | # Disable Cache |
444 | 455 | $this->mOut->setSquidMaxage(0); |
445 | 456 | } |
Index: trunk/phase3/includes/parser/Parser.php |
— | — | @@ -1793,6 +1793,7 @@ |
1794 | 1794 | function makeKnownLinkHolder( $nt, $text = '', $query = '', $trail = '', $prefix = '' ) { |
1795 | 1795 | list( $inside, $trail ) = Linker::splitTrail( $trail ); |
1796 | 1796 | $sk = $this->mOptions->getSkin(); |
| 1797 | + // FIXME: use link() instead of deprecated makeKnownLinkObj() |
1797 | 1798 | $link = $sk->makeKnownLinkObj( $nt, $text, $query, $inside, $prefix ); |
1798 | 1799 | return $this->armorLinks( $link ) . $trail; |
1799 | 1800 | } |
Index: trunk/phase3/includes/PatrolLog.php |
— | — | @@ -45,10 +45,18 @@ |
46 | 46 | $link = $skin->link( $title ); |
47 | 47 | if( $title->exists() ) { |
48 | 48 | # Generate a diff link |
49 | | - $bits[] = 'oldid=' . urlencode( $cur ); |
50 | | - $bits[] = 'diff=prev'; |
51 | | - $bits = implode( '&', $bits ); |
52 | | - $diff = $skin->makeKnownLinkObj( $title, htmlspecialchars( wfMsg( 'patrol-log-diff', $cur ) ), $bits ); |
| 49 | + $query = array( |
| 50 | + 'oldid' => $cur, |
| 51 | + 'diff' => 'prev' |
| 52 | + ); |
| 53 | + |
| 54 | + $diff = $skin->link( |
| 55 | + $title, |
| 56 | + htmlspecialchars( wfMsg( 'patrol-log-diff', $cur ) ), |
| 57 | + array(), |
| 58 | + $query, |
| 59 | + array( 'known', 'noclasses' ) |
| 60 | + ); |
53 | 61 | } else { |
54 | 62 | # Don't bother with a diff link, it's useless |
55 | 63 | $diff = htmlspecialchars( wfMsg( 'patrol-log-diff', $cur ) ); |
Index: trunk/phase3/includes/WatchlistEditor.php |
— | — | @@ -340,7 +340,7 @@ |
341 | 341 | if( ( $count = $this->showItemCount( $output, $user ) ) > 0 ) { |
342 | 342 | $self = SpecialPage::getTitleFor( 'Watchlist' ); |
343 | 343 | $form = Xml::openElement( 'form', array( 'method' => 'post', |
344 | | - 'action' => $self->getLocalUrl( 'action=edit' ) ) ); |
| 344 | + 'action' => $self->getLocalUrl( array( 'action' => 'edit' ) ) ) ); |
345 | 345 | $form .= Xml::hidden( 'token', $wgUser->editToken( 'watchlistedit' ) ); |
346 | 346 | $form .= "<fieldset>\n<legend>" . wfMsgHtml( 'watchlistedit-normal-legend' ) . "</legend>"; |
347 | 347 | $form .= wfMsgExt( 'watchlistedit-normal-explain', 'parse' ); |
— | — | @@ -414,10 +414,22 @@ |
415 | 415 | $link = '<span class="watchlistredir">' . $link . '</span>'; |
416 | 416 | $tools[] = $skin->link( $title->getTalkPage(), wfMsgHtml( 'talkpagelinktext' ) ); |
417 | 417 | if( $title->exists() ) { |
418 | | - $tools[] = $skin->makeKnownLinkObj( $title, wfMsgHtml( 'history_short' ), 'action=history' ); |
| 418 | + $tools[] = $skin->link( |
| 419 | + $title, |
| 420 | + wfMsgHtml( 'history_short' ), |
| 421 | + array(), |
| 422 | + array( 'action' => 'history' ), |
| 423 | + array( 'known', 'noclasses' ) |
| 424 | + ); |
419 | 425 | } |
420 | 426 | if( $title->getNamespace() == NS_USER && !$title->isSubpage() ) { |
421 | | - $tools[] = $skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Contributions', $title->getText() ), wfMsgHtml( 'contributions' ) ); |
| 427 | + $tools[] = $skin->link( |
| 428 | + SpecialPage::getTitleFor( 'Contributions', $title->getText() ), |
| 429 | + wfMsgHtml( 'contributions' ), |
| 430 | + array(), |
| 431 | + array(), |
| 432 | + array( 'known', 'noclasses' ) |
| 433 | + ); |
422 | 434 | } |
423 | 435 | return "<li>" |
424 | 436 | . Xml::check( 'titles[]', false, array( 'value' => $title->getPrefixedText() ) ) |
— | — | @@ -435,7 +447,7 @@ |
436 | 448 | $this->showItemCount( $output, $user ); |
437 | 449 | $self = SpecialPage::getTitleFor( 'Watchlist' ); |
438 | 450 | $form = Xml::openElement( 'form', array( 'method' => 'post', |
439 | | - 'action' => $self->getLocalUrl( 'action=raw' ) ) ); |
| 451 | + 'action' => $self->getLocalUrl( array( 'action' => 'raw' ) ) ) ); |
440 | 452 | $form .= Xml::hidden( 'token', $wgUser->editToken( 'watchlistedit' ) ); |
441 | 453 | $form .= '<fieldset><legend>' . wfMsgHtml( 'watchlistedit-raw-legend' ) . '</legend>'; |
442 | 454 | $form .= wfMsgExt( 'watchlistedit-raw-explain', 'parse' ); |
— | — | @@ -487,7 +499,14 @@ |
488 | 500 | $tools = array(); |
489 | 501 | $modes = array( 'view' => false, 'edit' => 'edit', 'raw' => 'raw' ); |
490 | 502 | foreach( $modes as $mode => $subpage ) { |
491 | | - $tools[] = $skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Watchlist', $subpage ), wfMsgHtml( "watchlisttools-{$mode}" ) ); |
| 503 | + // can use messages 'watchlisttools-view', 'watchlisttools-edit', 'watchlisttools-raw' |
| 504 | + $tools[] = $skin->link( |
| 505 | + SpecialPage::getTitleFor( 'Watchlist', $subpage ), |
| 506 | + wfMsgHtml( "watchlisttools-{$mode}" ), |
| 507 | + array(), |
| 508 | + array(), |
| 509 | + array( 'known', 'noclasses' ) |
| 510 | + ); |
492 | 511 | } |
493 | 512 | return $wgLang->pipeList( $tools ); |
494 | 513 | } |
Index: trunk/phase3/includes/OutputPage.php |
— | — | @@ -1254,7 +1254,13 @@ |
1255 | 1255 | $this->setArticleFlag( false ); |
1256 | 1256 | |
1257 | 1257 | $loginTitle = SpecialPage::getTitleFor( 'Userlogin' ); |
1258 | | - $loginLink = $skin->makeKnownLinkObj( $loginTitle, wfMsgHtml( 'loginreqlink' ), 'returnto=' . $this->getTitle()->getPrefixedUrl() ); |
| 1258 | + $loginLink = $skin->link( |
| 1259 | + $loginTitle, |
| 1260 | + wfMsgHtml( 'loginreqlink' ), |
| 1261 | + array(), |
| 1262 | + array( 'returnto' => $this->getTitle()->getPrefixedUrl() ), |
| 1263 | + array( 'known', 'noclasses' ) |
| 1264 | + ); |
1259 | 1265 | $this->addHTML( wfMsgWikiHtml( 'loginreqpagetext', $loginLink ) ); |
1260 | 1266 | $this->addHTML( "\n<!--" . $this->getTitle()->getPrefixedUrl() . "-->" ); |
1261 | 1267 | |
— | — | @@ -1336,7 +1342,18 @@ |
1337 | 1343 | // Permissions error |
1338 | 1344 | if( $source ) { |
1339 | 1345 | $this->setPageTitle( wfMsg( 'viewsource' ) ); |
1340 | | - $this->setSubtitle( wfMsg( 'viewsourcefor', $skin->makeKnownLinkObj( $this->getTitle() ) ) ); |
| 1346 | + $this->setSubtitle( |
| 1347 | + wfMsg( |
| 1348 | + 'viewsourcefor', |
| 1349 | + $skin->link( |
| 1350 | + $this->getTitle(), |
| 1351 | + null, |
| 1352 | + array(), |
| 1353 | + array(), |
| 1354 | + array( 'known', 'noclasses' ) |
| 1355 | + ) |
| 1356 | + ) |
| 1357 | + ); |
1341 | 1358 | } else { |
1342 | 1359 | $this->setPageTitle( wfMsg( 'badaccess' ) ); |
1343 | 1360 | } |
Index: trunk/phase3/includes/LogEventsList.php |
— | — | @@ -109,6 +109,7 @@ |
110 | 110 | $hiddens = ''; // keep track for "go" button |
111 | 111 | foreach( $filter as $type => $val ) { |
112 | 112 | $hideVal = 1 - intval($val); |
| 113 | + // FIXME: use link() here. Needs changes in getDefaultQuery() |
113 | 114 | $link = $this->skin->makeKnownLinkObj( $wgTitle, $messages[$hideVal], |
114 | 115 | wfArrayToCGI( array( "hide_{$type}_log" => $hideVal ), $this->getDefaultQuery() ) |
115 | 116 | ); |
— | — | @@ -242,33 +243,55 @@ |
243 | 244 | } else if( self::typeAction($row,'move','move','move') && !empty($paramArray[0]) ) { |
244 | 245 | $destTitle = Title::newFromText( $paramArray[0] ); |
245 | 246 | if( $destTitle ) { |
246 | | - $revert = '(' . $this->skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Movepage' ), |
| 247 | + $revert = '(' . $this->skin->link( |
| 248 | + SpecialPage::getTitleFor( 'Movepage' ), |
247 | 249 | $this->message['revertmove'], |
248 | | - 'wpOldTitle=' . urlencode( $destTitle->getPrefixedDBkey() ) . |
249 | | - '&wpNewTitle=' . urlencode( $title->getPrefixedDBkey() ) . |
250 | | - '&wpReason=' . urlencode( wfMsgForContent( 'revertmove' ) ) . |
251 | | - '&wpMovetalk=0' ) . ')'; |
| 250 | + array(), |
| 251 | + array( |
| 252 | + 'wpOldTitle' => $destTitle->getPrefixedDBkey(), |
| 253 | + 'wpNewTitle' => $title->getPrefixedDBkey(), |
| 254 | + 'wpReason' => wfMsgForContent( 'revertmove' ), |
| 255 | + 'wpMovetalk' => 0 |
| 256 | + ), |
| 257 | + array( 'known', 'noclasses' ) |
| 258 | + ) . ')'; |
252 | 259 | } |
253 | 260 | // Show undelete link |
254 | 261 | } else if( self::typeAction($row,array('delete','suppress'),'delete','deletedhistory') ) { |
255 | | - if( !$wgUser->isAllowed( 'undelete' ) ) |
| 262 | + if( !$wgUser->isAllowed( 'undelete' ) ) { |
256 | 263 | $viewdeleted = $this->message['undeleteviewlink']; |
257 | | - else |
| 264 | + } else { |
258 | 265 | $viewdeleted = $this->message['undeletelink']; |
259 | | - $revert = '(' . $this->skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Undelete' ), |
260 | | - $viewdeleted, 'target='. urlencode( $title->getPrefixedDBkey() ) ) . ')'; |
| 266 | + } |
| 267 | + |
| 268 | + $revert = '(' . $this->skin->link( |
| 269 | + SpecialPage::getTitleFor( 'Undelete' ), |
| 270 | + $viewdeleted, |
| 271 | + array(), |
| 272 | + array( 'target' => $title->getPrefixedDBkey() ), |
| 273 | + array( 'known', 'noclasses' ) |
| 274 | + ) . ')'; |
261 | 275 | // Show unblock/change block link |
262 | 276 | } else if( self::typeAction($row,array('block','suppress'),array('block','reblock'),'block') ) { |
263 | 277 | $revert = '(' . |
264 | | - $this->skin->link( SpecialPage::getTitleFor( 'Ipblocklist' ), |
| 278 | + $this->skin->link( |
| 279 | + SpecialPage::getTitleFor( 'Ipblocklist' ), |
265 | 280 | $this->message['unblocklink'], |
266 | 281 | array(), |
267 | | - array( 'action' => 'unblock', 'ip' => $row->log_title ), |
268 | | - 'known' ) |
269 | | - . $this->message['pipe-separator'] . |
270 | | - $this->skin->link( SpecialPage::getTitleFor( 'Blockip', $row->log_title ), |
| 282 | + array( |
| 283 | + 'action' => 'unblock', |
| 284 | + 'ip' => $row->log_title |
| 285 | + ), |
| 286 | + 'known' |
| 287 | + ) . |
| 288 | + $this->message['pipe-separator'] . |
| 289 | + $this->skin->link( |
| 290 | + SpecialPage::getTitleFor( 'Blockip', $row->log_title ), |
271 | 291 | $this->message['change-blocklink'], |
272 | | - array(), array(), 'known' ) . |
| 292 | + array(), |
| 293 | + array(), |
| 294 | + 'known' |
| 295 | + ) . |
273 | 296 | ')'; |
274 | 297 | // Show change protection link |
275 | 298 | } else if( self::typeAction( $row, 'protect', array( 'modify', 'protect', 'unprotect' ) ) ) { |
— | — | @@ -276,7 +299,11 @@ |
277 | 300 | $this->skin->link( $title, |
278 | 301 | $this->message['hist'], |
279 | 302 | array(), |
280 | | - array( 'action' => 'history', 'offset' => $row->log_timestamp ) ); |
| 303 | + array( |
| 304 | + 'action' => 'history', |
| 305 | + 'offset' => $row->log_timestamp |
| 306 | + ) |
| 307 | + ); |
281 | 308 | if( $wgUser->isAllowed( 'protect' ) ) { |
282 | 309 | $revert .= $this->message['pipe-separator'] . |
283 | 310 | $this->skin->link( $title, |
— | — | @@ -289,9 +316,17 @@ |
290 | 317 | // Show unmerge link |
291 | 318 | } else if( self::typeAction($row,'merge','merge','mergehistory') ) { |
292 | 319 | $merge = SpecialPage::getTitleFor( 'Mergehistory' ); |
293 | | - $revert = '(' . $this->skin->makeKnownLinkObj( $merge, $this->message['revertmerge'], |
294 | | - wfArrayToCGI( array('target' => $paramArray[0], 'dest' => $title->getPrefixedDBkey(), |
295 | | - 'mergepoint' => $paramArray[1] ) ) ) . ')'; |
| 320 | + $revert = '(' . $this->skin->link( |
| 321 | + $merge, |
| 322 | + $this->message['revertmerge'], |
| 323 | + array(), |
| 324 | + array( |
| 325 | + 'target' => $paramArray[0], |
| 326 | + 'dest' => $title->getPrefixedDBkey(), |
| 327 | + 'mergepoint' => $paramArray[1] |
| 328 | + ), |
| 329 | + array( 'known', 'noclasses' ) |
| 330 | + ) . ')'; |
296 | 331 | // If an edit was hidden from a page give a review link to the history |
297 | 332 | } else if( self::typeAction($row,array('delete','suppress'),'revision','deleterevision') ) { |
298 | 333 | if( count($paramArray) >= 2 ) { |
— | — | @@ -300,16 +335,33 @@ |
301 | 336 | $key = $paramArray[0]; |
302 | 337 | // $paramArray[1] is a CSV of the IDs |
303 | 338 | $Ids = explode( ',', $paramArray[1] ); |
304 | | - $query = urlencode($paramArray[1]); |
| 339 | + $query = $paramArray[1]; |
305 | 340 | $revert = array(); |
306 | 341 | // Diff link for single rev deletions |
307 | 342 | if( ( $key === 'oldid' || $key == 'revision' ) && count($Ids) == 1 ) { |
308 | | - $revert[] = $this->skin->makeKnownLinkObj( $title, $this->message['diff'], |
309 | | - 'diff='.intval($Ids[0])."&unhide=1" ); |
| 343 | + $revert[] = $this->skin->link( |
| 344 | + $title, |
| 345 | + $this->message['diff'], |
| 346 | + array(), |
| 347 | + array( |
| 348 | + 'diff' => intval( $Ids[0] ), |
| 349 | + 'unhide' => 1 |
| 350 | + ), |
| 351 | + array( 'known', 'noclasses' ) |
| 352 | + ); |
310 | 353 | } |
311 | 354 | // View/modify link... |
312 | | - $revert[] = $this->skin->makeKnownLinkObj( $revdel, $this->message['revdel-restore'], |
313 | | - 'target='.$title->getPrefixedUrl()."&type=$key&ids=$query" ); |
| 355 | + $revert[] = $this->skin->link( |
| 356 | + $revdel, |
| 357 | + $this->message['revdel-restore'], |
| 358 | + array(), |
| 359 | + array( |
| 360 | + 'target' => $title->getPrefixedUrl(), |
| 361 | + 'type' => $key, |
| 362 | + 'ids' => $query |
| 363 | + ), |
| 364 | + array( 'known', 'noclasses' ) |
| 365 | + ); |
314 | 366 | // Pipe links |
315 | 367 | $revert = '(' . implode(' | ',$revert) . ')'; |
316 | 368 | } |
— | — | @@ -319,10 +371,19 @@ |
320 | 372 | $revdel = SpecialPage::getTitleFor( 'Revisiondelete' ); |
321 | 373 | // $paramArray[1] is a CSV of the IDs |
322 | 374 | $Ids = explode( ',', $paramArray[0] ); |
323 | | - $query = urlencode($paramArray[0]); |
| 375 | + $query = $paramArray[0]; |
324 | 376 | // Link to each hidden object ID, $paramArray[1] is the url param |
325 | | - $revert = '(' . $this->skin->makeKnownLinkObj( $revdel, $this->message['revdel-restore'], |
326 | | - 'target='.$title->getPrefixedUrl()."&type=logging&ids=$query" ) . ')'; |
| 377 | + $revert = '(' . $this->skin->link( |
| 378 | + $revdel, |
| 379 | + $this->message['revdel-restore'], |
| 380 | + array(), |
| 381 | + array( |
| 382 | + 'target' => $title->getPrefixedUrl(), |
| 383 | + 'type' => 'logging', |
| 384 | + 'ids' => $query |
| 385 | + ), |
| 386 | + array( 'known', 'noclasses' ) |
| 387 | + ) . ')'; |
327 | 388 | } |
328 | 389 | // Self-created users |
329 | 390 | } else if( self::typeAction($row,'newusers','create2') ) { |
Index: trunk/phase3/includes/SkinTemplate.php |
— | — | @@ -290,24 +290,35 @@ |
291 | 291 | } else { |
292 | 292 | $tpl->set( 'jsvarurl', false ); |
293 | 293 | } |
| 294 | + |
294 | 295 | $newtalks = $wgUser->getNewMessageLinks(); |
295 | 296 | |
296 | 297 | if( count( $newtalks ) == 1 && $newtalks[0]['wiki'] === wfWikiID() ) { |
297 | 298 | $usertitle = $this->mUser->getUserPage(); |
298 | 299 | $usertalktitle = $usertitle->getTalkPage(); |
| 300 | + |
299 | 301 | if( !$usertalktitle->equals( $this->mTitle ) ) { |
300 | | - $ntl = wfMsg( 'youhavenewmessages', |
301 | | - $this->makeKnownLinkObj( |
302 | | - $usertalktitle, |
303 | | - wfMsgHtml( 'newmessageslink' ), |
304 | | - 'redirect=no' |
305 | | - ), |
306 | | - $this->makeKnownLinkObj( |
307 | | - $usertalktitle, |
308 | | - wfMsgHtml( 'newmessagesdifflink' ), |
309 | | - 'diff=cur' |
310 | | - ) |
| 302 | + $newmessageslink = $this->link( |
| 303 | + $usertalktitle, |
| 304 | + wfMsgHtml( 'newmessageslink' ), |
| 305 | + array(), |
| 306 | + array( 'redirect' => 'no' ), |
| 307 | + array( 'known', 'noclasses' ) |
311 | 308 | ); |
| 309 | + |
| 310 | + $newmessagesdifflink = $this->link( |
| 311 | + $usertalktitle, |
| 312 | + wfMsgHtml( 'newmessagesdifflink' ), |
| 313 | + array(), |
| 314 | + array( 'diff' => 'cur' ), |
| 315 | + array( 'known', 'noclasses' ) |
| 316 | + ); |
| 317 | + |
| 318 | + $ntl = wfMsg( |
| 319 | + 'youhavenewmessages', |
| 320 | + $newmessageslink, |
| 321 | + $newmessagesdifflink |
| 322 | + ); |
312 | 323 | # Disable Cache |
313 | 324 | $out->setSquidMaxage( 0 ); |
314 | 325 | } |
Index: trunk/phase3/includes/PageHistory.php |
— | — | @@ -90,8 +90,13 @@ |
91 | 91 | $wgOut->addScriptFile( 'history.js' ); |
92 | 92 | |
93 | 93 | $logPage = SpecialPage::getTitleFor( 'Log' ); |
94 | | - $logLink = $this->mSkin->makeKnownLinkObj( $logPage, wfMsgHtml( 'viewpagelogs' ), |
95 | | - 'page=' . $this->mTitle->getPrefixedUrl() ); |
| 94 | + $logLink = $this->mSkin->link( |
| 95 | + $logPage, |
| 96 | + wfMsgHtml( 'viewpagelogs' ), |
| 97 | + array(), |
| 98 | + array( 'page' => $this->mTitle->getPrefixedUrl() ), |
| 99 | + array( 'known', 'noclasses' ) |
| 100 | + ); |
96 | 101 | $wgOut->setSubtitle( $logLink ); |
97 | 102 | |
98 | 103 | $feedType = $wgRequest->getVal( 'feed' ); |
— | — | @@ -379,7 +384,13 @@ |
380 | 385 | $date = $wgLang->timeanddate( wfTimestamp(TS_MW, $rev->getTimestamp()), true ); |
381 | 386 | $date = htmlspecialchars( $date ); |
382 | 387 | if( !$rev->isDeleted( Revision::DELETED_TEXT ) ) { |
383 | | - $link = $this->mSkin->makeKnownLinkObj( $this->mTitle, $date, "oldid=" . $rev->getId() ); |
| 388 | + $link = $this->mSkin->link( |
| 389 | + $this->mTitle, |
| 390 | + $date, |
| 391 | + array(), |
| 392 | + array( 'oldid' => $rev->getId() ), |
| 393 | + array( 'known', 'noclasses' ) |
| 394 | + ); |
384 | 395 | } else { |
385 | 396 | $link = "<span class=\"history-deleted\">$date</span>"; |
386 | 397 | } |
— | — | @@ -397,8 +408,16 @@ |
398 | 409 | if( $latest || !$rev->userCan( Revision::DELETED_TEXT ) ) { |
399 | 410 | return $cur; |
400 | 411 | } else { |
401 | | - return $this->mSkin->makeKnownLinkObj( $this->mTitle, $cur, |
402 | | - 'diff=' . $this->mTitle->getLatestRevID() . "&oldid=" . $rev->getId() ); |
| 412 | + return $this->mSkin->link( |
| 413 | + $this->mTitle, |
| 414 | + $cur, |
| 415 | + array(), |
| 416 | + array( |
| 417 | + 'diff' => $this->mTitle->getLatestRevID(), |
| 418 | + 'oldid' => $rev->getId() |
| 419 | + ), |
| 420 | + array( 'known', 'noclasses' ) |
| 421 | + ); |
403 | 422 | } |
404 | 423 | } |
405 | 424 | |
— | — | @@ -418,13 +437,29 @@ |
419 | 438 | return $last; |
420 | 439 | } elseif( $next === 'unknown' ) { |
421 | 440 | # Next row probably exists but is unknown, use an oldid=prev link |
422 | | - return $this->mSkin->makeKnownLinkObj( $this->mTitle, $last, |
423 | | - "diff=" . $prevRev->getId() . "&oldid=prev" ); |
| 441 | + return $this->mSkin->link( |
| 442 | + $this->mTitle, |
| 443 | + $last, |
| 444 | + array(), |
| 445 | + array( |
| 446 | + 'diff' => $prevRev->getId(), |
| 447 | + 'oldid' => 'prev' |
| 448 | + ), |
| 449 | + array( 'known', 'noclasses' ) |
| 450 | + ); |
424 | 451 | } elseif( !$prevRev->userCan(Revision::DELETED_TEXT) || !$nextRev->userCan(Revision::DELETED_TEXT) ) { |
425 | 452 | return $last; |
426 | 453 | } else { |
427 | | - return $this->mSkin->makeKnownLinkObj( $this->mTitle, $last, |
428 | | - "diff=" . $prevRev->getId() . "&oldid={$next->rev_id}" ); |
| 454 | + return $this->mSkin->link( |
| 455 | + $this->mTitle, |
| 456 | + $last, |
| 457 | + array(), |
| 458 | + array( |
| 459 | + 'diff' => $prevRev->getId(), |
| 460 | + 'oldid' => $next->rev_id |
| 461 | + ), |
| 462 | + array( 'known', 'noclasses' ) |
| 463 | + ); |
429 | 464 | } |
430 | 465 | } |
431 | 466 | |
— | — | @@ -506,10 +541,11 @@ |
507 | 542 | } |
508 | 543 | |
509 | 544 | $feed = new $wgFeedClasses[$type]( |
510 | | - $this->mTitle->getPrefixedText() . ' - ' . |
511 | | - wfMsgForContent( 'history-feed-title' ), |
512 | | - wfMsgForContent( 'history-feed-description' ), |
513 | | - $this->mTitle->getFullUrl( 'action=history' ) ); |
| 545 | + $this->mTitle->getPrefixedText() . ' - ' . |
| 546 | + wfMsgForContent( 'history-feed-title' ), |
| 547 | + wfMsgForContent( 'history-feed-description' ), |
| 548 | + $this->mTitle->getFullUrl( array( 'action' => 'history' ) ) |
| 549 | + ); |
514 | 550 | |
515 | 551 | // Get a limit on number of feed entries. Provide a sane default |
516 | 552 | // of 10 if none is defined (but limit to $wgFeedLimit max) |
— | — | @@ -573,14 +609,16 @@ |
574 | 610 | return new FeedItem( |
575 | 611 | $title, |
576 | 612 | $text, |
577 | | - $this->mTitle->getFullUrl( 'diff=' . $rev->getId() . '&oldid=prev' ), |
| 613 | + $this->mTitle->getFullUrl( array( |
| 614 | + 'diff' => $rev->getId(), |
| 615 | + 'oldid' => 'prev' |
| 616 | + ) ), |
578 | 617 | $rev->getTimestamp(), |
579 | 618 | $rev->getUserText(), |
580 | 619 | $this->mTitle->getTalkPage()->getFullUrl() ); |
581 | 620 | } |
582 | 621 | } |
583 | 622 | |
584 | | - |
585 | 623 | /** |
586 | 624 | * @ingroup Pager |
587 | 625 | */ |
Index: trunk/phase3/includes/Preferences.php |
— | — | @@ -310,8 +310,13 @@ |
311 | 311 | global $wgUser; // wgUser is okay here, it's for display |
312 | 312 | $skin = $wgUser->getSkin(); |
313 | 313 | $emailauthenticated = wfMsgHtml('emailnotauthenticated').'<br />' . |
314 | | - $skin->makeKnownLinkObj( SpecialPage::getTitleFor( 'Confirmemail' ), |
315 | | - wfMsg( 'emailconfirmlink' ) ) . '<br />'; |
| 314 | + $skin->link( |
| 315 | + SpecialPage::getTitleFor( 'Confirmemail' ), |
| 316 | + wfMsg( 'emailconfirmlink' ), |
| 317 | + array(), |
| 318 | + array(), |
| 319 | + array( 'known', 'noclasses' ) |
| 320 | + ) . '<br />'; |
316 | 321 | } |
317 | 322 | } else { |
318 | 323 | $disableEmailPrefs = true; |
Index: trunk/phase3/includes/Skin.php |
— | — | @@ -992,16 +992,34 @@ |
993 | 993 | } |
994 | 994 | } |
995 | 995 | if ( 'history' == $action || isset( $diff ) || isset( $oldid ) ) { |
996 | | - $s[] .= $this->makeKnownLinkObj( $this->mTitle, |
997 | | - wfMsg( 'currentrev' ) ); |
| 996 | + $s[] .= $this->link( |
| 997 | + $this->mTitle, |
| 998 | + wfMsg( 'currentrev' ), |
| 999 | + array(), |
| 1000 | + array(), |
| 1001 | + array( 'known', 'noclasses' ) |
| 1002 | + ); |
998 | 1003 | } |
999 | 1004 | |
1000 | 1005 | if ( $wgUser->getNewtalk() ) { |
1001 | 1006 | # do not show "You have new messages" text when we are viewing our |
1002 | 1007 | # own talk page |
1003 | 1008 | if( !$this->mTitle->equals( $wgUser->getTalkPage() ) ) { |
1004 | | - $tl = $this->makeKnownLinkObj( $wgUser->getTalkPage(), wfMsgHtml( 'newmessageslink' ), 'redirect=no' ); |
1005 | | - $dl = $this->makeKnownLinkObj( $wgUser->getTalkPage(), wfMsgHtml( 'newmessagesdifflink' ), 'diff=cur' ); |
| 1009 | + $tl = $this->link( |
| 1010 | + $wgUser->getTalkPage(), |
| 1011 | + wfMsgHtml( 'newmessageslink' ), |
| 1012 | + array(), |
| 1013 | + array( 'redirect' => 'no' ), |
| 1014 | + array( 'known', 'noclasses' ) |
| 1015 | + ); |
| 1016 | + |
| 1017 | + $dl = $this->link( |
| 1018 | + $wgUser->getTalkPage(), |
| 1019 | + wfMsgHtml( 'newmessagesdifflink' ), |
| 1020 | + array(), |
| 1021 | + array( 'diff' => 'cur' ), |
| 1022 | + array( 'known', 'noclasses' ) |
| 1023 | + ); |
1006 | 1024 | $s[] = '<strong>'. wfMsg( 'youhavenewmessages', $tl, $dl ) . '</strong>'; |
1007 | 1025 | # disable caching |
1008 | 1026 | $wgOut->setSquidMaxage( 0 ); |
— | — | @@ -1030,10 +1048,16 @@ |
1031 | 1049 | } else { |
1032 | 1050 | $msg = 'viewdeleted'; |
1033 | 1051 | } |
1034 | | - return wfMsg( $msg, |
1035 | | - $this->makeKnownLinkObj( |
| 1052 | + return wfMsg( |
| 1053 | + $msg, |
| 1054 | + $this->link( |
1036 | 1055 | SpecialPage::getTitleFor( 'Undelete', $this->mTitle->getPrefixedDBkey() ), |
1037 | | - wfMsgExt( 'restorelink', array( 'parsemag', 'escape' ), $wgLang->formatNum( $n ) ) ) ); |
| 1056 | + wfMsgExt( 'restorelink', array( 'parsemag', 'escape' ), $wgLang->formatNum( $n ) ), |
| 1057 | + array(), |
| 1058 | + array(), |
| 1059 | + array( 'known', 'noclasses' ) |
| 1060 | + ) |
| 1061 | + ); |
1038 | 1062 | } |
1039 | 1063 | } |
1040 | 1064 | return ''; |
— | — | @@ -1094,7 +1118,13 @@ |
1095 | 1119 | $display .= $link; |
1096 | 1120 | $linkObj = Title::newFromText( $growinglink ); |
1097 | 1121 | if( is_object( $linkObj ) && $linkObj->exists() ){ |
1098 | | - $getlink = $this->makeKnownLinkObj( $linkObj, htmlspecialchars( $display ) ); |
| 1122 | + $getlink = $this->link( |
| 1123 | + $linkObj, |
| 1124 | + htmlspecialchars( $display ), |
| 1125 | + array(), |
| 1126 | + array(), |
| 1127 | + array( 'known', 'noclasses' ) |
| 1128 | + ); |
1099 | 1129 | $c++; |
1100 | 1130 | if( $c > 1 ) { |
1101 | 1131 | $subpages .= wfMsgExt( 'pipe-separator', 'escapenoentities' ); |
— | — | @@ -1503,7 +1533,13 @@ |
1504 | 1534 | } |
1505 | 1535 | |
1506 | 1536 | function mainPageLink() { |
1507 | | - $s = $this->makeKnownLinkObj( Title::newMainPage(), wfMsg( 'mainpage' ) ); |
| 1537 | + $s = $this->link( |
| 1538 | + Title::newMainPage(), |
| 1539 | + wfMsg( 'mainpage' ), |
| 1540 | + array(), |
| 1541 | + array(), |
| 1542 | + array( 'known', 'noclasses' ) |
| 1543 | + ); |
1508 | 1544 | return $s; |
1509 | 1545 | } |
1510 | 1546 | |
— | — | @@ -1553,7 +1589,13 @@ |
1554 | 1590 | $t = wfMsg( 'viewsource' ); |
1555 | 1591 | } |
1556 | 1592 | |
1557 | | - $s = $this->makeKnownLinkObj( $this->mTitle, $t, $this->editUrlOptions() ); |
| 1593 | + $s = $this->link( |
| 1594 | + $this->mTitle, |
| 1595 | + $t, |
| 1596 | + array(), |
| 1597 | + $this->editUrlOptions(), |
| 1598 | + array( 'known', 'noclasses' ) |
| 1599 | + ); |
1558 | 1600 | } |
1559 | 1601 | return $s; |
1560 | 1602 | } |
— | — | @@ -1562,17 +1604,19 @@ |
1563 | 1605 | * Return URL options for the 'edit page' link. |
1564 | 1606 | * This may include an 'oldid' specifier, if the current page view is such. |
1565 | 1607 | * |
1566 | | - * @return string |
| 1608 | + * @return array |
1567 | 1609 | * @private |
1568 | 1610 | */ |
1569 | 1611 | function editUrlOptions() { |
1570 | 1612 | global $wgArticle; |
1571 | 1613 | |
| 1614 | + $options = array( 'action' => 'edit' ); |
| 1615 | + |
1572 | 1616 | if( $this->mRevisionId && ! $wgArticle->isCurrent() ) { |
1573 | | - return 'action=edit&oldid=' . intval( $this->mRevisionId ); |
1574 | | - } else { |
1575 | | - return 'action=edit'; |
| 1617 | + $options['oldid'] = intval( $this->mRevisionId ); |
1576 | 1618 | } |
| 1619 | + |
| 1620 | + return $options; |
1577 | 1621 | } |
1578 | 1622 | |
1579 | 1623 | function deleteThisPage() { |
— | — | @@ -1582,7 +1626,13 @@ |
1583 | 1627 | if ( $this->mTitle->getArticleId() && ( !$diff ) && $wgUser->isAllowed( 'delete' ) ) { |
1584 | 1628 | $t = wfMsg( 'deletethispage' ); |
1585 | 1629 | |
1586 | | - $s = $this->makeKnownLinkObj( $this->mTitle, $t, 'action=delete' ); |
| 1630 | + $s = $this->link( |
| 1631 | + $this->mTitle, |
| 1632 | + $t, |
| 1633 | + array(), |
| 1634 | + array( 'action' => 'delete' ), |
| 1635 | + array( 'known', 'noclasses' ) |
| 1636 | + ); |
1587 | 1637 | } else { |
1588 | 1638 | $s = ''; |
1589 | 1639 | } |
— | — | @@ -1595,13 +1645,20 @@ |
1596 | 1646 | $diff = $wgRequest->getVal( 'diff' ); |
1597 | 1647 | if ( $this->mTitle->getArticleId() && ( ! $diff ) && $wgUser->isAllowed('protect') ) { |
1598 | 1648 | if ( $this->mTitle->isProtected() ) { |
1599 | | - $t = wfMsg( 'unprotectthispage' ); |
1600 | | - $q = 'action=unprotect'; |
| 1649 | + $text = wfMsg( 'unprotectthispage' ); |
| 1650 | + $query = array( 'action' => 'unprotect' ); |
1601 | 1651 | } else { |
1602 | | - $t = wfMsg( 'protectthispage' ); |
1603 | | - $q = 'action=protect'; |
| 1652 | + $text = wfMsg( 'protectthispage' ); |
| 1653 | + $query = array( 'action' => 'protect' ); |
1604 | 1654 | } |
1605 | | - $s = $this->makeKnownLinkObj( $this->mTitle, $t, $q ); |
| 1655 | + |
| 1656 | + $s = $this->link( |
| 1657 | + $this->mTitle, |
| 1658 | + $text, |
| 1659 | + array(), |
| 1660 | + $query, |
| 1661 | + array( 'known', 'noclasses' ) |
| 1662 | + ); |
1606 | 1663 | } else { |
1607 | 1664 | $s = ''; |
1608 | 1665 | } |
— | — | @@ -1614,15 +1671,22 @@ |
1615 | 1672 | |
1616 | 1673 | if ( $wgOut->isArticleRelated() ) { |
1617 | 1674 | if ( $this->mTitle->userIsWatching() ) { |
1618 | | - $t = wfMsg( 'unwatchthispage' ); |
1619 | | - $q = 'action=unwatch'; |
1620 | | - $id = 'mw-unwatch-link' . $this->mWatchLinkNum; |
| 1675 | + $text = wfMsg( 'unwatchthispage' ); |
| 1676 | + $query = array( 'action' => 'unwatch' ); |
| 1677 | + $id = array( 'mw-unwatch-link' => $this->mWatchLinkNum ); |
1621 | 1678 | } else { |
1622 | | - $t = wfMsg( 'watchthispage' ); |
1623 | | - $q = 'action=watch'; |
1624 | | - $id = 'mw-watch-link' . $this->mWatchLinkNum; |
| 1679 | + $text = wfMsg( 'watchthispage' ); |
| 1680 | + $query = array( 'action' => 'watch' ); |
| 1681 | + $id = array( 'mw-watch-link' => $this->mWatchLinkNum ); |
1625 | 1682 | } |
1626 | | - $s = $this->makeKnownLinkObj( $this->mTitle, $t, $q, '', '', " id=\"$id\"" ); |
| 1683 | + |
| 1684 | + $s = $this->link( |
| 1685 | + $this->mTitle, |
| 1686 | + $text, |
| 1687 | + array( 'id' => $id ), |
| 1688 | + $query, |
| 1689 | + array( 'known', 'noclasses' ) |
| 1690 | + ); |
1627 | 1691 | } else { |
1628 | 1692 | $s = wfMsg( 'notanarticle' ); |
1629 | 1693 | } |
— | — | @@ -1631,8 +1695,13 @@ |
1632 | 1696 | |
1633 | 1697 | function moveThisPage() { |
1634 | 1698 | if ( $this->mTitle->quickUserCan( 'move' ) ) { |
1635 | | - return $this->makeKnownLinkObj( SpecialPage::getTitleFor( 'Movepage' ), |
1636 | | - wfMsg( 'movethispage' ), 'target=' . $this->mTitle->getPrefixedURL() ); |
| 1699 | + return $this->link( |
| 1700 | + SpecialPage::getTitleFor( 'Movepage' ), |
| 1701 | + wfMsg( 'movethispage' ), |
| 1702 | + array(), |
| 1703 | + array( 'target' => $this->mTitle->getPrefixedURL() ), |
| 1704 | + array( 'known', 'noclasses' ) |
| 1705 | + ); |
1637 | 1706 | } else { |
1638 | 1707 | // no message if page is protected - would be redundant |
1639 | 1708 | return ''; |
— | — | @@ -1640,20 +1709,32 @@ |
1641 | 1710 | } |
1642 | 1711 | |
1643 | 1712 | function historyLink() { |
1644 | | - return $this->link( $this->mTitle, wfMsgHtml( 'history' ), |
1645 | | - array( 'rel' => 'archives' ), array( 'action' => 'history' ) ); |
| 1713 | + return $this->link( |
| 1714 | + $this->mTitle, |
| 1715 | + wfMsgHtml( 'history' ), |
| 1716 | + array( 'rel' => 'archives' ), |
| 1717 | + array( 'action' => 'history' ) |
| 1718 | + ); |
1646 | 1719 | } |
1647 | 1720 | |
1648 | 1721 | function whatLinksHere() { |
1649 | | - return $this->makeKnownLinkObj( |
| 1722 | + return $this->link( |
1650 | 1723 | SpecialPage::getTitleFor( 'Whatlinkshere', $this->mTitle->getPrefixedDBkey() ), |
1651 | | - wfMsgHtml( 'whatlinkshere' ) ); |
| 1724 | + wfMsgHtml( 'whatlinkshere' ), |
| 1725 | + array(), |
| 1726 | + array(), |
| 1727 | + array( 'known', 'noclasses' ) |
| 1728 | + ); |
1652 | 1729 | } |
1653 | 1730 | |
1654 | 1731 | function userContribsLink() { |
1655 | | - return $this->makeKnownLinkObj( |
| 1732 | + return $this->link( |
1656 | 1733 | SpecialPage::getTitleFor( 'Contributions', $this->mTitle->getDBkey() ), |
1657 | | - wfMsgHtml( 'contributions' ) ); |
| 1734 | + wfMsgHtml( 'contributions' ), |
| 1735 | + array(), |
| 1736 | + array(), |
| 1737 | + array( 'known', 'noclasses' ) |
| 1738 | + ); |
1658 | 1739 | } |
1659 | 1740 | |
1660 | 1741 | function showEmailUser( $id ) { |
— | — | @@ -1664,9 +1745,13 @@ |
1665 | 1746 | } |
1666 | 1747 | |
1667 | 1748 | function emailUserLink() { |
1668 | | - return $this->makeKnownLinkObj( |
| 1749 | + return $this->link( |
1669 | 1750 | SpecialPage::getTitleFor( 'Emailuser', $this->mTitle->getDBkey() ), |
1670 | | - wfMsg( 'emailuser' ) ); |
| 1751 | + wfMsg( 'emailuser' ), |
| 1752 | + array(), |
| 1753 | + array(), |
| 1754 | + array( 'known', 'noclasses' ) |
| 1755 | + ); |
1671 | 1756 | } |
1672 | 1757 | |
1673 | 1758 | function watchPageLinksLink() { |
— | — | @@ -1674,9 +1759,13 @@ |
1675 | 1760 | if ( ! $wgOut->isArticleRelated() ) { |
1676 | 1761 | return '(' . wfMsg( 'notanarticle' ) . ')'; |
1677 | 1762 | } else { |
1678 | | - return $this->makeKnownLinkObj( |
| 1763 | + return $this->link( |
1679 | 1764 | SpecialPage::getTitleFor( 'Recentchangeslinked', $this->mTitle->getPrefixedDBkey() ), |
1680 | | - wfMsg( 'recentchangeslinked-toolbox' ) ); |
| 1765 | + wfMsg( 'recentchangeslinked-toolbox' ), |
| 1766 | + array(), |
| 1767 | + array(), |
| 1768 | + array( 'known', 'noclasses' ) |
| 1769 | + ); |
1681 | 1770 | } |
1682 | 1771 | } |
1683 | 1772 | |
— | — | @@ -1777,7 +1866,7 @@ |
1778 | 1867 | } |
1779 | 1868 | |
1780 | 1869 | # __NEWSECTIONLINK___ changes behaviour here |
1781 | | - # If it's present, the link points to this page, otherwise |
| 1870 | + # If it is present, the link points to this page, otherwise |
1782 | 1871 | # it points to the talk page |
1783 | 1872 | if( $this->mTitle->isTalkPage() ) { |
1784 | 1873 | $title = $this->mTitle; |
— | — | @@ -1787,7 +1876,16 @@ |
1788 | 1877 | $title = $this->mTitle->getTalkPage(); |
1789 | 1878 | } |
1790 | 1879 | |
1791 | | - return $this->makeKnownLinkObj( $title, wfMsg( 'postcomment' ), 'action=edit§ion=new' ); |
| 1880 | + return $this->link( |
| 1881 | + $title, |
| 1882 | + wfMsg( 'postcomment' ), |
| 1883 | + array(), |
| 1884 | + array( |
| 1885 | + 'action' => 'edit', |
| 1886 | + 'section' => 'new' |
| 1887 | + ), |
| 1888 | + array( 'known', 'noclasses' ) |
| 1889 | + ); |
1792 | 1890 | } |
1793 | 1891 | |
1794 | 1892 | /* these are used extensively in SkinTemplate, but also some other places */ |