*/
/**
- * @todo document, briefly.
+ * Handles the page protection UI and backend
*/
class ProtectionForm {
/** A map of action to restriction level, from request or default */
}
function save() {
- global $wgRequest, $wgUser, $wgOut;
+ global $wgRequest, $wgUser;
# Permission check!
if ( $this->disabled ) {
$this->show();
$reasonstr = $this->mReasonSelection;
if ( $reasonstr != 'other' && $this->mReason != '' ) {
// Entry from drop down menu + additional comment
- $reasonstr .= ': ' . $this->mReason;
+ $reasonstr .= wfMsgForContent( 'colon-separator' ) . $this->mReason;
} elseif ( $reasonstr == 'other' ) {
$reasonstr = $this->mReason;
}
$expiry = array();
foreach( $this->mApplicableTypes as $action ) {
$expiry[$action] = $this->getExpiry( $action );
+ if( empty($this->mRestrictions[$action]) )
+ continue; // unprotected
if ( !$expiry[$action] ) {
$this->show( wfMsg( 'protect_expiry_invalid' ) );
return false;
wfMsgForContent( 'protect-otherreason-op' ),
$this->mReasonSelection,
'mwProtect-reason', 4 );
- $scExpiryOptions = wfMsgForContent( 'ipboptions' ); // FIXME: use its own message
+ $scExpiryOptions = wfMsgForContent( 'protect-expiry-options' );
$showProtectOptions = ($scExpiryOptions !== '-' && !$this->disabled);
$expiryFormOptions = '';
if ( $this->mExistingExpiry[$action] && $this->mExistingExpiry[$action] != 'infinity' ) {
+ $timestamp = $wgLang->timeanddate( $this->mExistingExpiry[$action] );
+ $d = $wgLang->date( $this->mExistingExpiry[$action] );
+ $t = $wgLang->time( $this->mExistingExpiry[$action] );
$expiryFormOptions .=
Xml::option(
- wfMsg( 'protect-existing-expiry', $wgLang->timeanddate( $this->mExistingExpiry[$action] ) ),
+ wfMsg( 'protect-existing-expiry', $timestamp, $d, $t ),
'existing',
$this->mExpirySelection[$action] == 'existing'
) . "\n";
</tr></table>";
}
# Add custom expiry field
- $attribs = array( 'id' => "mwProtect-$action-expires", 'onkeyup' => 'ProtectionForm.updateExpiry(this)' ) + $this->disabledAttrib;
+ $attribs = array( 'id' => "mwProtect-$action-expires",
+ 'onkeyup' => 'ProtectionForm.updateExpiry(this)' ) + $this->disabledAttrib;
$out .= "<table><tr>
<td class='mw-label'>" .
$mProtectother .