<?php
/**
- * Copyright (C) 2005 Brion Vibber <brion@pobox.com>
+ * Page protection
+ *
+ * Copyright © 2005 Brion Vibber <brion@pobox.com>
* http://www.mediawiki.org/
*
* This program is free software; you can redistribute it and/or modify
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
*/
/**
* @return String: HTML form
*/
function buildForm() {
- global $wgUser, $wgLang;
+ global $wgUser, $wgLang, $wgOut;
$mProtectreasonother = Xml::label( wfMsg( 'protectcomment' ), 'wpProtectReasonSelection' );
$mProtectreason = Xml::label( wfMsg( 'protect-otherreason' ), 'mwProtect-reason' );
$out = '';
if( !$this->disabled ) {
- $out .= $this->buildScript();
+ $wgOut->addModules( 'mediawiki.legacy.protect' );
$out .= Xml::openElement( 'form', array( 'method' => 'post',
'action' => $this->mTitle->getLocalUrl( 'action=protect' ),
'id' => 'mw-Protect-Form', 'onsubmit' => 'ProtectionForm.enableUnchainedInputs(true)' ) );
- $out .= Xml::hidden( 'wpEditToken',$wgUser->editToken() );
+ $out .= Html::hidden( 'wpEditToken',$wgUser->editToken() );
}
$out .= Xml::openElement( 'fieldset' ) .
foreach( $this->mRestrictions as $action => $selected ) {
/* Not all languages have V_x <-> N_x relation */
- $msg = wfMsg( 'restriction-' . $action );
- if( wfEmptyMsg( 'restriction-' . $action, $msg ) ) {
- $msg = $action;
- }
+ $msg = wfMessage( 'restriction-' . $action );
$out .= "<tr><td>".
Xml::openElement( 'fieldset' ) .
- Xml::element( 'legend', null, $msg ) .
+ Xml::element( 'legend', null, $msg->exists() ? $action : $msg->text() ) .
Xml::openElement( 'table', array( 'id' => "mw-protect-table-$action" ) ) .
"<tr><td>" . $this->buildSelector( $action, $selected ) . "</td></tr><tr><td>";
}
if ( !$this->disabled ) {
- $out .= Xml::closeElement( 'form' ) .
- $this->buildCleanupScript();
+ $out .= Xml::closeElement( 'form' );
+ $wgOut->addScript( $this->buildCleanupScript() );
}
return $out;
if( $permission == '' ) {
return wfMsg( 'protect-default' );
} else {
- $key = "protect-level-{$permission}";
- $msg = wfMsg( $key );
- if( wfEmptyMsg( $key, $msg ) )
- $msg = wfMsg( 'protect-fallback', $permission );
- return $msg;
+ $msg = wfMessage( "protect-level-{$permission}" );
+ if( !$msg->exists() ) {
+ return $msg->text();
+ }
+ return wfMsg( 'protect-fallback', $permission );
}
}
-
- function buildScript() {
- global $wgStylePath, $wgStyleVersion;
- return Xml::tags( 'script', array(
- 'type' => 'text/javascript',
- 'src' => $wgStylePath . "/common/protect.js?$wgStyleVersion.1" ), '' );
- }
-
+
function buildCleanupScript() {
global $wgRestrictionLevels, $wgGroupPermissions;
$script = 'var wgCascadeableLevels=';
$encOptions = Xml::encodeJsVar( $options );
$script .= "ProtectionForm.init($encOptions)";
- return Xml::tags( 'script', array( 'type' => 'text/javascript' ), $script );
+ return Html::inlineScript( "if ( window.mediaWiki ) { $script }" );
}
/**