X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSpecialBlockip.php;h=942ebe8bde2c21d6b3c499626da82f8d967a3512;hb=396524f67413c69576cd84b3c29cfc1045c05718;hp=2f361aadcc19da9c469d8333f9f4c19da343af0d;hpb=12fea37a7a093302e81b9705084307ec032584f2;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SpecialBlockip.php b/includes/SpecialBlockip.php index 2f361aadcc..942ebe8bde 100644 --- a/includes/SpecialBlockip.php +++ b/includes/SpecialBlockip.php @@ -43,6 +43,7 @@ function wfSpecialBlockip( $par ) { */ class IPBlockForm { var $BlockAddress, $BlockExpiry, $BlockReason; +# var $BlockEmail; function IPBlockForm( $par ) { global $wgRequest, $wgUser; @@ -60,12 +61,13 @@ class IPBlockForm { $this->BlockAnonOnly = $wgRequest->getBool( 'wpAnonOnly', $byDefault ); $this->BlockCreateAccount = $wgRequest->getBool( 'wpCreateAccount', $byDefault ); $this->BlockEnableAutoblock = $wgRequest->getBool( 'wpEnableAutoblock', $byDefault ); + $this->BlockEmail = $wgRequest->getBool( 'wpEmailBan', false ); # Re-check user's rights to hide names, very serious, defaults to 0 - $this->BlockHideName = $wgRequest->getBool( 'wpHideName', 0 ) && $wgUser->isAllowed( 'hideuser' ); + $this->BlockHideName = ( $wgRequest->getBool( 'wpHideName', 0 ) && $wgUser->isAllowed( 'hideuser' ) ) ? 1 : 0; } function showForm( $err ) { - global $wgOut, $wgUser, $wgSysopUserBans; + global $wgOut, $wgUser, $wgSysopUserBans, $wgContLang; $wgOut->setPagetitle( wfMsg( 'blockip' ) ); $wgOut->addWikiText( wfMsg( 'blockiptext' ) ); @@ -78,13 +80,13 @@ class IPBlockForm { $mIpbexpiry = Xml::label( wfMsg( 'ipbexpiry' ), 'wpBlockExpiry' ); $mIpbother = Xml::label( wfMsg( 'ipbother' ), 'mw-bi-other' ); $mIpbothertime = wfMsgHtml( 'ipbotheroption' ); - - $mIpbreasonother = Xml::label( wfMsg( 'ipbreason' ), 'wpBlockReasonList' ); - $mIpbreason = Xml::label( wfMsg( 'ipbotherreason' ), 'mw-bi-reason' ); + $mIpbreasonother = Xml::label( wfMsg( 'ipbreason' ), 'wpBlockReasonList' ); + $mIpbreason = Xml::label( wfMsg( 'ipbotherreason' ), 'mw-bi-reason' ); $mIpbreasonotherlist = wfMsgHtml( 'ipbreasonotherlist' ); $titleObj = SpecialPage::getTitleFor( 'Blockip' ); $action = $titleObj->escapeLocalURL( "action=submit" ); + $alignRight = $wgContLang->isRtl() ? 'left' : 'right'; if ( "" != $err ) { $wgOut->setSubtitle( wfMsgHtml( 'formerror' ) ); @@ -109,27 +111,40 @@ class IPBlockForm { $blockExpiryFormOptions .= ""; } - $scBlockReasonList = wfMsgForContent( 'ipbreason-list' ); - $blockReasonList = ""; - $optgroup = ""; - foreach ( explode( '*', $scBlockReasonList ) as $option) { - $value = trim( htmlspecialchars($option) ); - if ( $value == '' ) - continue; - if ( substr( $value, 0, 1) == '#' ) { - $value = substr( $value, 1 ); - $blockReasonList .= "$optgroup"; - $optgroup = ""; - } else { - $selected = ""; - if ( $this->BlockReasonList === $value) - $selected = ' selected="selected"'; - $blockReasonList .= ""; + $scBlockReasonList = wfMsgForContent( 'ipbreason-dropdown' ); + $blockReasonList = ''; + if ( $scBlockReasonList != '' && $scBlockReasonList != '-' ) { + $blockReasonList = ""; + $optgroup = ""; + foreach ( explode( "\n", $scBlockReasonList ) as $option) { + $value = trim( htmlspecialchars($option) ); + if ( $value == '' ) { + continue; + } elseif ( substr( $value, 0, 1) == '*' && substr( $value, 1, 1) != '*' ) { + // A new group is starting ... + $value = trim( substr( $value, 1 ) ); + $blockReasonList .= "$optgroup"; + $optgroup = ""; + } elseif ( substr( $value, 0, 2) == '**' ) { + // groupmember + $selected = ""; + $value = trim( substr( $value, 2 ) ); + if ( $this->BlockReasonList === $value) + $selected = ' selected="selected"'; + $blockReasonList .= ""; + } else { + // groupless block reason + $selected = ""; + if ( $this->BlockReasonList === $value) + $selected = ' selected="selected"'; + $blockReasonList .= "$optgroup"; + $optgroup = ""; + } } + $blockReasonList .= $optgroup; } - $blockReasonList .= $optgroup; - $token = htmlspecialchars( $wgUser->editToken() ); + $token = $wgUser->editToken(); global $wgStylePath, $wgStyleVersion; $wgOut->addHTML( " @@ -138,8 +153,8 @@ class IPBlockForm {
- - + "); if ($showblockoptions) { $wgOut->addHTML(" - - + "); } - $wgOut->addHTML(" - - + - - - - - - - - "); + if ( $blockReasonList != '' ) { + $wgOut->addHTML(" + + + + "); + } + $wgOut->addHTML(" + + + - - - - "); } + + global $wgSysopEmailBans; + + if ( $wgSysopEmailBans && $wgUser->isAllowed( 'blockemail' ) ) { + $wgOut->addHTML(" + + + + + "); + } $wgOut->addHTML(" -
{$mIpaddress}: + {$mIpaddress} " . Xml::input( 'wpBlockAddress', 45, $this->BlockAddress, array( 'tabindex' => '1', @@ -150,42 +165,46 @@ class IPBlockForm {
{$mIpbexpiry}: + {$mIpbexpiry}
{$mIpbother}: + {$mIpbother} " . Xml::input( 'wpBlockOther', 45, $this->BlockOther, array( 'tabindex' => '3', 'id' => 'mw-bi-other' ) ) . "
{$mIpbreasonother}: - -
{$mIpbreason}: +
{$mIpbreasonother} + +
{$mIpbreason} " . Xml::input( 'wpBlockReason', 45, $this->BlockReason, - array( 'tabindex' => '5', 'id' => 'mw-bi-reason' ) ) . " + array( 'tabindex' => '5', 'id' => 'mw-bi-reason', + 'maxlength'=> '200' ) ) . "
  + " . wfCheckLabel( wfMsgHtml( 'ipbanononly' ), 'wpAnonOnly', 'wpAnonOnly', $this->BlockAnonOnly, array( 'tabindex' => '6' ) ) . " @@ -193,7 +212,7 @@ class IPBlockForm {
  + " . wfCheckLabel( wfMsgHtml( 'ipbcreateaccount' ), 'wpCreateAccount', 'wpCreateAccount', $this->BlockCreateAccount, array( 'tabindex' => '7' ) ) . " @@ -201,7 +220,7 @@ class IPBlockForm {
  + " . wfCheckLabel( wfMsgHtml( 'ipbenableautoblock' ), 'wpEnableAutoblock', 'wpEnableAutoblock', $this->BlockEnableAutoblock, array( 'tabindex' => '8' ) ) . " @@ -213,7 +232,7 @@ class IPBlockForm { $wgOut->addHTML("
  + " . wfCheckLabel( wfMsgHtml( 'ipbhidename' ), 'wpHideName', 'wpHideName', $this->BlockHideName, array( 'tabindex' => '9' ) ) . " @@ -221,12 +240,27 @@ class IPBlockForm {
  + " . wfCheckLabel( wfMsgHtml( 'ipbemailban' ), + 'wpEmailBan', 'wpEmailBan', $this->BlockEmail, + array( 'tabindex' => '10' )) . " +
  - " . Xml::submitButton( wfMsgHtml( 'ipbsubmit' ), - array( 'name' => 'wpBlock', 'tabindex' => '10' ) ) . " + + " . Xml::submitButton( wfMsg( 'ipbsubmit' ), + array( 'name' => 'wpBlock', 'tabindex' => '11' ) ) . "
" . @@ -339,10 +373,10 @@ class IPBlockForm { # Create block # 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, - $this->BlockCreateAccount, $this->BlockEnableAutoblock, $this->BlockHideName); + $this->BlockCreateAccount, $this->BlockEnableAutoblock, $this->BlockHideName, + $this->BlockEmail); if (wfRunHooks('BlockIp', array(&$block, &$wgUser))) { @@ -403,6 +437,8 @@ class IPBlockForm { $flags[] = 'nocreate'; if( !$this->BlockEnableAutoblock ) $flags[] = 'noautoblock'; + if ( $this->BlockEmail ) + $flags[] = 'noemail'; return implode( ',', $flags ); } @@ -414,6 +450,7 @@ class IPBlockForm { private function getConvenienceLinks() { global $wgUser; $skin = $wgUser->getSkin(); + $links[] = $skin->makeLink ( 'MediaWiki:ipbreason-dropdown', wfMsgHtml( 'ipb-edit-dropdown' ) ); $links[] = $this->getUnblockLink( $skin ); $links[] = $this->getBlockListLink( $skin ); return ''; @@ -455,4 +492,4 @@ class IPBlockForm { } } } -?> +