if( !$wgUser->isAllowedAny( 'protect', 'editprotected' ) )
continue;
} else {
- if( !$wgUser->isAllowed($val) )
+ if( !$wgUser->isAllowed( $val ) )
continue;
}
$this->mRestrictions[$action] = $val;
global $wgOut;
$wgOut->setRobotPolicy( 'noindex,nofollow' );
+ $wgOut->addBacklinkSubtitle( $this->mTitle );
if ( is_array( $err ) ) {
$wgOut->wrapWikiMsg( "<p class='error'>\n$1\n</p>\n", $err );
$wgOut->addHTML( "<p class='error'>{$err}</p>\n" );
}
+ if ( $this->mTitle->getRestrictionTypes() === array() ) {
+ // No restriction types available for the current title
+ // this might happen if an extension alters the available types
+ $wgOut->setPageTitle( wfMessage( 'protect-norestrictiontypes-title', $this->mTitle->getPrefixedText() ) );
+ $wgOut->addWikiText( wfMessage( 'protect-norestrictiontypes-text' )->text() );
+
+ // Show the log in case protection was possible once
+ $this->showLogExtract( $wgOut );
+ // return as there isn't anything else we can do
+ return;
+ }
+
list( $cascadeSources, /* $restrictions */ ) = $this->mTitle->getCascadeProtectionSources();
- if ( $cascadeSources && count($cascadeSources) > 0 ) {
+ if ( $cascadeSources && count( $cascadeSources ) > 0 ) {
$titles = '';
foreach ( $cascadeSources as $title ) {
$titles .= '* [[:' . $title->getPrefixedText() . "]]\n";
}
- $wgOut->wrapWikiMsg( "<div id=\"mw-protect-cascadeon\">\n$1\n" . $titles . "</div>", array( 'protect-cascadeon', count($cascadeSources) ) );
+ $wgOut->wrapWikiMsg( "<div id=\"mw-protect-cascadeon\">\n$1\n" . $titles . "</div>", array( 'protect-cascadeon', count( $cascadeSources ) ) );
}
# Show an appropriate message if the user isn't allowed or able to change
wfEscapeWikiText( $this->mTitle->getPrefixedText() ) );
}
- $wgOut->addBacklinkSubtitle( $this->mTitle );
$wgOut->addHTML( $this->buildForm() );
$this->showLogExtract( $wgOut );
}
$expiry = array();
foreach( $this->mApplicableTypes as $action ) {
$expiry[$action] = $this->getExpiry( $action );
- if( empty($this->mRestrictions[$action]) )
+ if( empty( $this->mRestrictions[$action] ) )
continue; // unprotected
if ( !$expiry[$action] ) {
$this->show( array( 'protect_expiry_invalid' ) );
# to a semi-protected page.
$edit_restriction = isset( $this->mRestrictions['edit'] ) ? $this->mRestrictions['edit'] : '';
$this->mCascade = $wgRequest->getBool( 'mwProtect-cascade' );
- if ($this->mCascade && ($edit_restriction != 'protect') &&
+ if ( $this->mCascade && ($edit_restriction != 'protect') &&
!User::groupHasPermission( $edit_restriction, 'protect' ) )
$this->mCascade = false;
wfMessage( 'protect-othertime-op' )->text(),
"othertime"
) . "\n";
- foreach( explode(',', $scExpiryOptions) as $option ) {
- if ( strpos($option, ":") === false ) {
+ foreach( explode( ',', $scExpiryOptions ) as $option ) {
+ if ( strpos( $option, ":" ) === false ) {
$show = $value = $option;
} else {
- list($show, $value) = explode(":", $option);
+ list( $show, $value ) = explode( ":", $option );
}
- $show = htmlspecialchars($show);
- $value = htmlspecialchars($value);
+ $show = htmlspecialchars( $show );
+ $value = htmlspecialchars( $value );
$expiryFormOptions .= Xml::option( $show, $value, $this->mExpirySelection[$action] === $value ) . "\n";
}
# Add expiry dropdown
"</td></tr>";
}
# Give extensions a chance to add items to the form
- wfRunHooks( 'ProtectionForm::buildForm', array($this->mArticle,&$out) );
+ wfRunHooks( 'ProtectionForm::buildForm', array( $this->mArticle, &$out ) );
$out .= Xml::closeElement( 'tbody' ) . Xml::closeElement( 'table' );
# Add manual and custom reason field/selects as well as submit
if( !$this->disabled ) {
- $out .= Xml::openElement( 'table', array( 'id' => 'mw-protect-table3' ) ) .
+ $out .= Xml::openElement( 'table', array( 'id' => 'mw-protect-table3' ) ) .
Xml::openElement( 'tbody' );
$out .= "
<tr>
<td class='mw-input'>" .
Xml::checkLabel( wfMessage( 'watchthis' )->text(),
'mwProtectWatch', 'mwProtectWatch',
- $this->mTitle->userIsWatching() || $wgUser->getOption( 'watchdefault' ) ) .
+ $wgUser->isWatched( $this->mTitle ) || $wgUser->getOption( 'watchdefault' ) ) .
"</td>
</tr>";
}
if( !$wgUser->isAllowedAny( 'protect', 'editprotected' ) && !$this->disabled )
continue;
} else {
- if( !$wgUser->isAllowed($key) && !$this->disabled )
+ if( !$wgUser->isAllowed( $key ) && !$this->disabled )
continue;
}
$levels[] = $key;
$out->addHTML( Xml::element( 'h2', null, $protectLogPage->getName()->text() ) );
LogEventsList::showLogExtract( $out, 'protect', $this->mTitle );
# Let extensions add other relevant log extracts
- wfRunHooks( 'ProtectionForm::showLogExtract', array($this->mArticle,$out) );
+ wfRunHooks( 'ProtectionForm::showLogExtract', array( $this->mArticle, $out ) );
}
}