*/
function wfSpecialBlockip( $par ) {
global $wgUser, $wgOut, $wgRequest;
-
# Can't block when the database is locked
if( wfReadOnly() ) {
$wgOut->readOnlyPage();
return;
}
-
# Permission check
if( !$wgUser->isAllowed( 'block' ) ) {
$wgOut->permissionRequired( 'block' );
$ipb = new IPBlockForm( $par );
$action = $wgRequest->getVal( 'action' );
- if ( 'success' == $action ) {
+ if( 'success' == $action ) {
$ipb->showSuccess();
- } else if ( $wgRequest->wasPosted() && 'submit' == $action &&
+ } else if( $wgRequest->wasPosted() && 'submit' == $action &&
$wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) ) {
$ipb->doSubmit();
} else {
*/
class IPBlockForm {
var $BlockAddress, $BlockExpiry, $BlockReason;
-# var $BlockEmail;
- function IPBlockForm( $par ) {
+ public function __construct( $par ) {
global $wgRequest, $wgUser, $wgBlockAllowsUTEdit;
$this->BlockAddress = $wgRequest->getVal( 'wpBlockAddress', $wgRequest->getVal( 'ip', $par ) );
$this->BlockReblock = $wgRequest->getBool( 'wpChangeBlock', false );
}
- function showForm( $err ) {
+ public function showForm( $err ) {
global $wgOut, $wgUser, $wgSysopUserBans;
$wgOut->setPagetitle( wfMsg( 'blockip' ) );
$user = User::newFromName( $this->BlockAddress );
$alreadyBlocked = false;
- if ( $err && $err[0] != 'ipb_already_blocked' ) {
+ if( $err && $err[0] != 'ipb_already_blocked' ) {
$key = array_shift($err);
$msg = wfMsgReal($key, $err);
$wgOut->setSubtitle( wfMsgHtml( 'formerror' ) );
$wgOut->addHTML( Xml::tags( 'p', array( 'class' => 'error' ), $msg ) );
- } elseif ( $this->BlockAddress ) {
+ } elseif( $this->BlockAddress ) {
$userId = 0;
- if ( is_object( $user ) )
+ if( is_object( $user ) )
$userId = $user->getId();
$currentBlock = Block::newFromDB( $this->BlockAddress, $userId );
- if ( !is_null($currentBlock) && !$currentBlock->mAuto && # The block exists and isn't an autoblock
+ if( !is_null($currentBlock) && !$currentBlock->mAuto && # The block exists and isn't an autoblock
( $currentBlock->mRangeStart == $currentBlock->mRangeEnd || # The block isn't a rangeblock
# or if it is, the range is what we're about to block
( $currentBlock->mAddress == $this->BlockAddress ) ) ) {
$scBlockExpiryOptions = wfMsgForContent( 'ipboptions' );
$showblockoptions = $scBlockExpiryOptions != '-';
- if (!$showblockoptions)
- $mIpbother = $mIpbexpiry;
+ if( !$showblockoptions ) $mIpbother = $mIpbexpiry;
$blockExpiryFormOptions = Xml::option( wfMsg( 'ipbotheroption' ), 'other' );
foreach (explode(',', $scBlockExpiryOptions) as $option) {
- if ( strpos($option, ":") === false ) $option = "$option:$option";
+ if( strpos($option, ":") === false ) $option = "$option:$option";
list($show, $value) = explode(":", $option);
$show = htmlspecialchars($show);
$value = htmlspecialchars($value);
</tr>
<tr>"
);
- if ( $showblockoptions ) {
+ if( $showblockoptions ) {
$wgOut->addHTML("
<td class='mw-label'>
{$mIpbexpiry}
);
global $wgSysopEmailBans, $wgBlockAllowsUTEdit;
- if ( $wgSysopEmailBans && $wgUser->isAllowed( 'blockemail' ) ) {
+ if( $wgSysopEmailBans && $wgUser->isAllowed( 'blockemail' ) ) {
$wgOut->addHTML("
<tr id='wpEnableEmailBan'>
<td> </td>
}
// Allow some users to hide name from block log, blocklist and listusers
- if ( $wgUser->isAllowed( 'hideuser' ) ) {
+ if( $wgUser->isAllowed( 'hideuser' ) ) {
$wgOut->addHTML("
<tr id='wpEnableHideUser'>
<td> </td>
$rxIP = "($rxIP4|$rxIP6)";
# Check for invalid specifications
- if ( !preg_match( "/^$rxIP$/", $this->BlockAddress ) ) {
+ if( !preg_match( "/^$rxIP$/", $this->BlockAddress ) ) {
$matches = array();
- if ( preg_match( "/^($rxIP4)\\/(\\d{1,2})$/", $this->BlockAddress, $matches ) ) {
+ if( preg_match( "/^($rxIP4)\\/(\\d{1,2})$/", $this->BlockAddress, $matches ) ) {
# IPv4
- if ( $wgSysopRangeBans ) {
- if ( !IP::isIPv4( $this->BlockAddress ) || $matches[2] < 16 || $matches[2] > 32 ) {
+ if( $wgSysopRangeBans ) {
+ if( !IP::isIPv4( $this->BlockAddress ) || $matches[2] < 16 || $matches[2] > 32 ) {
return array('ip_range_invalid');
}
$this->BlockAddress = Block::normaliseRange( $this->BlockAddress );
# Range block illegal
return array('range_block_disabled');
}
- } else if ( preg_match( "/^($rxIP6)\\/(\\d{1,3})$/", $this->BlockAddress, $matches ) ) {
+ } else if( preg_match( "/^($rxIP6)\\/(\\d{1,3})$/", $this->BlockAddress, $matches ) ) {
# IPv6
- if ( $wgSysopRangeBans ) {
- if ( !IP::isIPv6( $this->BlockAddress ) || $matches[2] < 64 || $matches[2] > 128 ) {
+ if( $wgSysopRangeBans ) {
+ if( !IP::isIPv6( $this->BlockAddress ) || $matches[2] < 64 || $matches[2] > 128 ) {
return array('ip_range_invalid');
}
$this->BlockAddress = Block::normaliseRange( $this->BlockAddress );
}
} else {
# Username block
- if ( $wgSysopUserBans ) {
+ if( $wgSysopUserBans ) {
$user = User::newFromName( $this->BlockAddress );
if( !is_null( $user ) && $user->getId() ) {
# Use canonical name
}
}
- if ( $wgUser->isBlocked() && ( $wgUser->getId() !== $userId ) ) {
+ if( $wgUser->isBlocked() && ( $wgUser->getId() !== $userId ) ) {
return array( 'cant-block-while-blocked' );
}
$reasonstr = $this->BlockReasonList;
- if ( $reasonstr != 'other' && $this->BlockReason != '' ) {
+ if( $reasonstr != 'other' && $this->BlockReason != '' ) {
// Entry from drop down menu + additional comment
$reasonstr .= wfMsgForContent( 'colon-separator' ) . $this->BlockReason;
- } elseif ( $reasonstr == 'other' ) {
+ } elseif( $reasonstr == 'other' ) {
$reasonstr = $this->BlockReason;
}
if( $expirestr == 'other' )
$expirestr = $this->BlockOther;
- if ( ( strlen( $expirestr ) == 0) || ( strlen( $expirestr ) > 50) ) {
+ if( ( strlen( $expirestr ) == 0) || ( strlen( $expirestr ) > 50) ) {
return array('ipb_expiry_invalid');
}
- if ( false === ($expiry = Block::parseExpiryInput( $expirestr )) ) {
+ if( false === ($expiry = Block::parseExpiryInput( $expirestr )) ) {
// Bad expiry.
return array('ipb_expiry_invalid');
}
if( $this->BlockHideName ) {
// Recheck params here...
if( !$userId || !$wgUser->isAllowed('hideuser') ) {
- // IP users should not be hidden
- $this->BlockHideName = false;
+ $this->BlockHideName = false; // IP users should not be hidden
} else if( $expiry !== 'infinity' ) {
// Bad expiry.
return array('ipb_expiry_temp');
}
}
- # Create block
+ # Create block object
# Note: for a user block, ipb_address is only for display purposes
$block = new Block( $this->BlockAddress, $userId, $wgUser->getId(),
$reasonstr, wfTimestampNow(), 0, $expiry, $this->BlockAnonOnly,
# Should this be privately logged?
$suppressLog = (bool)$this->BlockHideName;
- if ( wfRunHooks('BlockIp', array(&$block, &$wgUser)) ) {
+ if( wfRunHooks('BlockIp', array(&$block, &$wgUser)) ) {
# Try to insert block. Is there a conflicting block?
- if ( !$block->insert() ) {
+ if( !$block->insert() ) {
# Show form unless the user is already aware of this...
- if ( !$this->BlockReblock ) {
+ if( !$this->BlockReblock ) {
return array( 'ipb_already_blocked' );
# Otherwise, try to update the block...
} else {
self::suppressUserName( $this->BlockAddress, $userId );
}
- if ( $this->BlockWatchUser &&
+ if( $this->BlockWatchUser &&
# Only show watch link when this is no range block
$block->mRangeStart == $block->mRangeEnd) {
$wgUser->addWatch ( Title::makeTitle( NS_USER, $this->BlockAddress ) );
$log_type = $suppressLog ? 'suppress' : 'block';
$log = new LogPage( $log_type );
$log->addEntry( $log_action, Title::makeTitle( NS_USER, $this->BlockAddress ),
- $reasonstr, $logParams );
+ $reasonstr, $logParams );
# Report to the user
return array();
* UI entry point for blocking
* Wraps around doBlock()
*/
- function doSubmit()
- {
+ public function doSubmit() {
global $wgOut;
$retval = $this->doBlock();
- if(empty($retval)) {
+ if( empty($retval) ) {
$titleObj = SpecialPage::getTitleFor( 'Blockip' );
$wgOut->redirect( $titleObj->getFullURL( 'action=success&ip=' .
urlencode( $this->BlockAddress ) ) );
$this->showForm( $retval );
}
- function showSuccess() {
+ public function showSuccess() {
global $wgOut;
$wgOut->setPagetitle( wfMsg( 'blockip' ) );
$wgOut->addHTML( $text );
}
- function showLogFragment( $out, $title ) {
+ private function showLogFragment( $out, $title ) {
global $wgUser;
$out->addHTML( Xml::element( 'h2', NULL, LogPage::logName( 'block' ) ) );
$count = LogEventsList::showLogExtract( $out, 'block', $title->getPrefixedText(), '', 10 );
if( !$this->BlockEnableAutoblock && !IP::isIPAddress( $this->BlockAddress ) )
// Same as anononly, this is not displayed when blocking an IP address
$flags[] = 'noautoblock';
- if ( $this->BlockEmail )
+ if( $this->BlockEmail )
$flags[] = 'noemail';
- if ( !$this->BlockAllowUsertalk && $wgBlockAllowsUTEdit )
+ if( !$this->BlockAllowUsertalk && $wgBlockAllowsUTEdit )
$flags[] = 'nousertalk';
- if ( $this->BlockHideName )
+ if( $this->BlockHideName )
$flags[] = 'hiddenname';
return implode( ',', $flags );
}