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"; - } 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"; + } 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 {