<?php
+/**
+ *
+ * @package MediaWiki
+ * @subpackage SpecialPage
+ */
+
+/**
+ *
+ */
function wfSpecialBlockme()
{
- global $wgIP, $wgBlockOpenProxies, $wgOut;
+ global $wgBlockOpenProxies, $wgOut, $wgProxyKey;
+
+ $ip = wfGetIP();
- if ( !$wgBlockOpenProxies ) {
+ if ( !$wgBlockOpenProxies || $_REQUEST['ip'] != md5( $ip . $wgProxyKey ) ) {
$wgOut->addWikiText( wfMsg( "disabled" ) );
return;
}
$reason = wfMsg( "proxyblockreason" );
$success = wfMsg( "proxyblocksuccess" );
- $id = User::idForName( $blockerName );
+ $u = User::newFromName( $blockerName );
+ $id = $u->idForName();
if ( !$id ) {
$u = User::newFromName( $blockerName );
$u->addToDatabase();
$id = $u->getID();
}
- $block = new Block( $wgIP, 0, $id, $reason, wfTimestampNow() );
+ $block = new Block( $ip, 0, $id, $reason, wfTimestampNow() );
$block->insert();
$wgOut->addWikiText( $success );