From 10532630ad387c742627c66be6c878e7e248be58 Mon Sep 17 00:00:00 2001 From: Alex Z Date: Sat, 27 Dec 2008 08:14:57 +0000 Subject: [PATCH] cleanup of Special:Interwiki: * Use Xml functions for most of it * Conform ids/names to coding conventions --- includes/specials/SpecialInterwiki.php | 159 ++++++++++++------------- languages/messages/MessagesEn.php | 2 +- 2 files changed, 78 insertions(+), 83 deletions(-) diff --git a/includes/specials/SpecialInterwiki.php b/includes/specials/SpecialInterwiki.php index 11b37b728b..bc4bc44a57 100644 --- a/includes/specials/SpecialInterwiki.php +++ b/includes/specials/SpecialInterwiki.php @@ -7,17 +7,15 @@ class SpecialInterwiki extends SpecialPage { function __construct() { - parent::__construct( 'Interwiki' ); + parent::__construct( 'Interwiki', 'interwiki' ); } - - function execute( $par = null ) { + function execute( $par ) { global $wgRequest, $wgOut, $wgUser; - $admin = $wgUser->isAllowed( 'interwiki' ); - $this->setHeaders(); - if( $admin ){ + $admin = $this->userCanExecute( $wgUser ); + if ( $admin ) { $wgOut->setPagetitle( wfMsg( 'interwiki' ) ); } else { $wgOut->setPagetitle( wfMsg( 'interwiki-title-norights' ) ); @@ -39,31 +37,32 @@ class SpecialInterwiki extends SpecialPage { } $prefix = $wgRequest->getVal( 'prefix' ); - $encPrefix = htmlspecialchars( $prefix ); - $actionUrl = $selfTitle->escapeLocalURL( "action=submit" ); - $button = wfMsgHtml( 'delete' ); - $topmessage = wfMsgHtml( 'interwiki_delquestion', $encPrefix ); + $actionUrl = $selfTitle->getLocalURL( "action=submit" ); + $button = wfMsg( 'delete' ); + $topmessage = wfMsg( 'interwiki_delquestion', $encPrefix ); $deletingmessage = wfMsgHtml( 'interwiki_deleting', $encPrefix ); - $reasonmessage = wfMsgHtml( 'deletecomment' ); + $reasonmessage = wfMsg( 'deletecomment' ); $defaultreason = wfMsgForContent( 'interwiki_defaultreason' ); - $token = htmlspecialchars( $wgUser->editToken() ); + $token = $wgUser->editToken(); $wgOut->addHTML( - "
- $topmessage -
- - - - -
$deletingmessage
$reasonmessage  
- - - - -
-
-
\n" + Xml::openElement( 'fieldset' ) . + Xml::element( 'legend', null, $topmessage ) . + Xml::openElement( 'form', array('id'=> 'mw-interwiki-deleteform', 'method'=> 'post', 'action'=>$actionUrl) ) . + Xml::openElement( 'table' ) . + "$deletingmessage". + '' . Xml::label( $reasonmessage, 'mw-interwiki-deletereason') . '' . + '' . + Xml::input( 'wpInterwikiReason', 60, $defaultreason, array('tabindex'=>'1', 'id'=>'mw-interwiki-deletereason', 'maxlength'=>'200') ) . + '' . + '' . Xml::submitButton( $button, array('id'=>'mw-interwiki-submit') ) . + Xml::hidden( 'wpInterwikiPrefix', $prefix ) . + Xml::hidden( 'wpInterwikiAction', $action ) . + Xml::hidden( 'wpEditToken', $token ) . + '' . + Xml::closeElement( 'table' ) . + Xml::closeElement( 'form' ) . + Xml::closeElement( 'fieldset' ) ); break; case "edit" : @@ -80,61 +79,57 @@ class SpecialInterwiki extends SpecialPage { $wgOut->wrapWikiMsg( '
$1
', array( 'interwiki_editerror', $prefix ) ); return; } - $prefix = htmlspecialchars( $row->iw_prefix ); - $defaulturl = htmlspecialchars( $row->iw_url ); - $trans = $row->iw_trans ? " checked='checked'" : '' ; - $local = $row->iw_local ? " checked='checked'" : ''; - $old = ""; - $topmessage = wfMsgHtml( 'interwiki_edittext' ); - $intromessage = wfMsgHtml( 'interwiki_editintro' ); - $button = wfMsgHtml( 'edit' ); + $prefix = '' . htmlspecialchars( $row->iw_prefix ) . ''; + $defaulturl = $row->iw_url; + $trans = $row->iw_trans; + $local = $row->iw_local; + $old = Xml::hidden( 'wpInterwikiPrefix', $row->iw_prefix ); + $topmessage = wfMsgExt( 'interwiki_edittext', array('parseinline') ); + $intromessage = wfMsgExt( 'interwiki_editintro', array('parseinline') ); + $button = wfMsg( 'edit' ); } else { - $prefix = ""; - $local = ''; - $trans = ''; + $prefix = Xml::input( 'wpInterwikiPrefix', 20, false, array( 'tabindex'=>'1', 'id'=>'mw-interwiki-prefix', 'maxlength'=>'20') ); + $local = false; + $trans = false; $old = ''; - $defaulturl = wfMsgHtml( 'interwiki_defaulturl' ); - $topmessage = wfMsgHtml( 'interwiki_addtext' ); - $intromessage = wfMsgHtml( 'interwiki_addintro' ); - $button = wfMsgHtml( 'interwiki_addbutton' ); + $defaulturl = wfMsg( 'interwiki_defaulturl' ); + $topmessage = wfMsgExt( 'interwiki_addtext', array('parseinline') ); + $intromessage = wfMsgExt( 'interwiki_addintro', array('parseinline') ); + $button = wfMsg( 'interwiki_addbutton' ); } - $actionUrl = $selfTitle->escapeLocalURL( 'action=submit' ); + $actionUrl = $selfTitle->getLocalURL( 'action=submit' ); $prefixmessage = wfMsgHtml( 'interwiki_prefix' ); - $localmessage = wfMsgHtml( 'interwiki_local' ); - $transmessage = wfMsgHtml( 'interwiki_trans' ); - $reasonmessage = wfMsgHtml( 'interwiki_reasonfield' ); - $urlmessage = wfMsgHtml( 'interwiki_url' ); - $token = htmlspecialchars( $wgUser->editToken() ); - $defaultreason = htmlspecialchars( wfMsgForContent( 'interwiki_defaultreason' ) ); + $localmessage = wfMsg( 'interwiki_local' ); + $transmessage = wfMsg( 'interwiki_trans' ); + $reasonmessage = wfMsg( 'interwiki_reasonfield' ); + $urlmessage = wfMsg( 'interwiki_url' ); + $token = $wgUser->editToken(); + $defaultreason = wfMsgForContent( 'interwiki_defaultreason' ); $wgOut->addHTML( - "
- $topmessage - $intromessage -
- - - - - - - - - - - - - - - -
$prefixmessage$prefix
$localmessage
$transmessage
$urlmessage
$reasonmessage
- - - $old - -
-
\n" + Xml::openElement( 'fieldset' ) . + Xml::element( 'legend', null, $topmessage ) . + $intromessage . + Xml::openElement( 'form', array('id'=> 'mw-interwiki-editform', 'method'=> 'post', 'action'=>$actionUrl) ) . + Xml::openElement( 'table', array('id'=>"mw-interwiki-$action") ) . + "$prefixmessage$prefix" . + "" . Xml::label( $localmessage, 'mw-interwiki-local' ) . '' . + "" . Xml::check( 'wpInterwikiLocal', $local, array('id'=>'mw-interwiki-local') ) . '' . + '' . Xml::label( $transmessage, 'mw-interwiki-trans' ) . '' . + '' . Xml::check( 'wpInterwikiTrans', $trans, array('id'=>'mw-interwiki-trans') ) . '' . + '' . Xml::label( $urlmessage, 'mw-interwiki-url' ) . '' . + '' . Xml::input( 'wpInterwikiURL', 60, $defaulturl, array('tabindex'=>'1', 'maxlength'=>'200', 'id'=>'mw-interwiki-url') ) . '' . + '' . Xml::label( $reasonmessage, 'mw-interwiki-editreason' ) . '' . + '' . Xml::input( 'wpInterwikiReason', 60, $defaultreason, array( 'tabindex'=>'1', 'id'=>'mw-interwiki-editreason', 'maxlength'=>'200') ) . + Xml::hidden( 'wpInterwikiAction', $action ) . + $old . + Xml::hidden( 'wpEditToken', $token ) . + '' . + '' . Xml::submitButton( $button, array('id'=>'mw-interwiki-submit') ) . '' . + Xml::closeElement( 'table' ) . + Xml::closeElement( 'form' ) . + Xml::closeElement( 'fieldset' ) ); break; case "submit": @@ -147,9 +142,9 @@ class SpecialInterwiki extends SpecialPage { return; } - $prefix = $wgRequest->getVal('prefix'); - $reason = $wgRequest->getText('reason'); - $do = $wgRequest->getVal('do'); + $prefix = $wgRequest->getVal( 'wpInterwikiPrefix' ); + $reason = $wgRequest->getText( 'wpInterwikiReason' ); + $do = $wgRequest->getVal( 'wpInterwikiAction' ); $dbw = wfGetDB( DB_MASTER ); switch( $do ){ case "delete": @@ -166,9 +161,9 @@ class SpecialInterwiki extends SpecialPage { break; case "edit": case "add": - $theurl = $wgRequest->getVal('theurl'); - $local = $wgRequest->getCheck('local') ? 1 : 0; - $trans = $wgRequest->getCheck('trans') ? 1 : 0; + $theurl = $wgRequest->getVal( 'wpInterwikiURL' ); + $local = $wgRequest->getCheck( 'wpInterwikiLocal' ) ? 1 : 0; + $trans = $wgRequest->getCheck( 'wpInterwikiTrans' ) ? 1 : 0; $data = array( 'iw_prefix' => $prefix, 'iw_url' => $theurl, 'iw_local' => $local, 'iw_trans' => $trans ); @@ -195,7 +190,7 @@ class SpecialInterwiki extends SpecialPage { $localmessage = wfMsgHtml( 'interwiki_local' ); $transmessage = wfMsgHtml( 'interwiki_trans' ); - $wgOut->addWikiText( wfMsg( 'interwiki_intro', '[http://www.mediawiki.org/wiki/Interwiki_table MediaWiki.org]' ) ); + $wgOut->addWikiText( wfMsg( 'interwiki_intro' ) ); if ($admin) { $skin = $wgUser->getSkin(); diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 8ba3ed98bf..8466ad8126 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -2212,7 +2212,7 @@ Possibly it does not exist.', Remember that this can break existing links.', 'interwiki_edittext' => 'Editing an interwiki prefix', 'interwiki_error' => 'Error: The interwiki table is empty, or something else went wrong.', -'interwiki_intro' => 'See $1 for more information about the interwiki table. +'interwiki_intro' => 'See [http://www.mediawiki.org/wiki/Interwiki_table MediaWiki.org] for more information about the interwiki table. There is a [[Special:Log/interwiki|log of changes]] to the interwiki table.', 'interwiki_local' => 'Define this as a local wiki', 'interwiki_log_added' => 'added prefix "$2" ($3) (trans: $4) (local: $5) to the interwiki table', -- 2.20.1