X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSpecialBlockip.php;h=8a1a841b74c9099e5ae32a58f3cd9c0931e8b526;hb=44d31b681fc83aecc819a78662a5d75a4a8655b7;hp=41ebef58e5df367be1e15b76a4e338afcf7937b6;hpb=049c27d1dd641808a80b38dcdfa31f680ff1a6fe;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SpecialBlockip.php b/includes/SpecialBlockip.php index 41ebef58e5..8a1a841b74 100644 --- a/includes/SpecialBlockip.php +++ b/includes/SpecialBlockip.php @@ -12,10 +12,11 @@ function wfSpecialBlockip( $par ) { global $wgUser, $wgOut, $wgRequest; - if ( ! $wgUser->isAllowed('block') ) { - $wgOut->sysopRequired(); + if( !$wgUser->isAllowed( 'block' ) ) { + $wgOut->permissionRequired( 'block' ); return; } + $ipb = new IPBlockForm( $par ); $action = $wgRequest->getVal( 'action' ); @@ -46,10 +47,9 @@ class IPBlockForm { $this->BlockExpiry = $wgRequest->getVal( 'wpBlockExpiry', wfMsg('ipbotheroption') ); $this->BlockOther = $wgRequest->getVal( 'wpBlockOther', '' ); } - + function showForm( $err ) { - global $wgOut, $wgUser, $wgLang; - global $wgRequest, $wgSysopUserBans; + global $wgOut, $wgUser, $wgRequest, $wgSysopUserBans; $wgOut->setPagetitle( wfMsg( 'blockip' ) ); $wgOut->addWikiText( wfMsg( 'blockiptext' ) ); @@ -95,7 +95,7 @@ class IPBlockForm { } $token = htmlspecialchars( $wgUser->editToken() ); - + $wgOut->addHTML( "
@@ -143,9 +143,8 @@ class IPBlockForm { } function doSubmit() { - global $wgOut, $wgUser, $wgLang; - global $wgSysopUserBans, $wgSysopRangeBans; - + global $wgOut, $wgUser, $wgSysopUserBans, $wgSysopRangeBans; + $userId = 0; $this->BlockAddress = trim( $this->BlockAddress ); $rxIP = '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'; @@ -166,7 +165,7 @@ class IPBlockForm { } } else { # Username block - if ( $wgSysopUserBans ) { + if ( $wgSysopUserBans ) { $userId = User::idFromName( $this->BlockAddress ); if ( $userId == 0 ) { $this->showForm( wfMsg( 'nosuchusershort', htmlspecialchars( $this->BlockAddress ) ) ); @@ -191,33 +190,33 @@ class IPBlockForm { if ( $expirestr == 'infinite' || $expirestr == 'indefinite' ) { $expiry = ''; } else { - # Convert GNU-style date, returns -1 on error + # Convert GNU-style date, on error returns -1 for PHP <5.1 and false for PHP >=5.1 $expiry = strtotime( $expirestr ); - if ( $expiry < 0 ) { + if ( $expiry < 0 || $expiry === false ) { $this->showForm( wfMsg( 'ipb_expiry_invalid' ) ); return; } - + $expiry = wfTimestamp( TS_MW, $expiry ); } - + # Create block # Note: for a user block, ipb_address is only for display purposes - $ban = new Block( $this->BlockAddress, $userId, $wgUser->getID(), + $ban = new Block( $this->BlockAddress, $userId, $wgUser->getID(), $this->BlockReason, wfTimestampNow(), 0, $expiry ); - + if (wfRunHooks('BlockIp', array(&$ban, &$wgUser))) { - + $ban->insert(); - + wfRunHooks('BlockIpComplete', array($ban, $wgUser)); - + # Make log entry $log = new LogPage( 'block' ); - $log->addEntry( 'block', Title::makeTitle( NS_USER, $this->BlockAddress ), + $log->addEntry( 'block', Title::makeTitle( NS_USER, $this->BlockAddress ), $this->BlockReason, $expirestr ); # Report to the user