function wfSpecialIpblocklist() { global $wgUser, $wgOut, $action, $ip; $fields = array( "wpUnblockAddress" ); wfCleanFormFields( $fields ); $ipu = new IPUnblockForm(); if ( "success" == $action ) { $msg = str_replace( "$1", $ip, wfMsg( "ipusuccess" ) ); $ipu->showList( $msg ); } else if ( "submit" == $action ) { if ( ! $wgUser->isSysop() ) { $wgOut->sysopRequired(); return; } $ipu->doSubmit(); } else if ( "unblock" == $action ) { $ipu->showForm( "" ); } else { $ipu->showList( "" ); } } class IPUnblockForm { function showForm( $err ) { global $wgOut, $wgUser, $wgLang; global $ip, $wpUnblockAddress; $wgOut->setPagetitle( wfMsg( "unblockip" ) ); $wgOut->addWikiText( wfMsg( "unblockiptext" ) ); if ( ! $wpUnblockAddress ) { $wpUnblockAddress = $ip; } $ipa = wfMsg( "ipaddress" ); $ipus = wfMsg( "ipusubmit" ); $action = wfLocalUrlE( $wgLang->specialPage( "Ipblocklist" ), "action=submit" ); if ( "" != $err ) { $wgOut->setSubtitle( wfMsg( "formerror" ) ); $wgOut->addHTML( "
{$err}\n" ); } $wgOut->addHTML( "
\n" ); } function doSubmit() { global $wgOut, $wgUser, $wgLang; global $wpUnblockAddress; $block = new Block(); if ( $wpUnblockAddress{0} == "#" ) { $block->mId = substr( $wpUnblockAddress, 1 ); } else { $block->mAddress = $wpUnblockAddress; } $block->delete(); $success = wfLocalUrl( $wgLang->specialPage( "Ipblocklist" ), "action=success&ip=" . urlencode($wpUnblockAddress) ); $wgOut->redirect( $success ); } function showList( $msg ) { global $wgOut; $wgOut->setPagetitle( wfMsg( "ipblocklist" ) ); if ( "" != $msg ) { $wgOut->setSubtitle( $msg ); } $wgOut->addHTML( "