MarcoAurelio has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/405409 )
Change subject: Convert AutoProxyBlock to use extension registration
......................................................................
Convert AutoProxyBlock to use extension registration
Also other general fixes (licensing headers, etc.)
Change-Id: If92782871efb20151a4026a9cebd4c5489cf29a9
---
M AutoProxyBlock.body.php
M AutoProxyBlock.php
A extension.json
D install.php
A maintenance/install.php
5 files changed, 173 insertions(+), 76 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AutoProxyBlock
refs/changes/09/405409/1
diff --git a/AutoProxyBlock.body.php b/AutoProxyBlock.body.php
index 115df1d..0a55d5f 100644
--- a/AutoProxyBlock.body.php
+++ b/AutoProxyBlock.body.php
@@ -1,5 +1,24 @@
<?php
-
+/**
+* AutoProxyBlock. Allows to automatically block or tag edits performed
+* by proxies.
+*
+* Copyright (C) 2011 Cryptocoryne
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.*
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
+*/
class AutoProxyBlock {
static function isProxy( $ip ) {
global $wgMemc, $wgAutoProxyBlockSources;
diff --git a/AutoProxyBlock.php b/AutoProxyBlock.php
index 782c8c9..e9ef59e 100644
--- a/AutoProxyBlock.php
+++ b/AutoProxyBlock.php
@@ -1,58 +1,35 @@
<?php
-if ( !defined( 'MEDIAWIKI' ) ) {
- exit(1);
-}
-
-$dir = dirname(__FILE__);
-$wgExtensionCredits['antispam'][] = array(
- 'path' => __FILE__,
- 'name' => 'AutoProxyBlock',
- 'author' => 'Cryptocoryne',
- 'version' => '1.1.0',
- 'descriptionmsg' => 'autoproxyblock-desc',
- 'url' =>
'https://www.mediawiki.org/wiki/Extension:AutoProxyBlock',
-);
-
-$wgMessagesDirs['AutoProxyBlock'] = __DIR__ . '/i18n';
-$wgAutoloadClasses['AutoProxyBlock'] = "$dir/AutoProxyBlock.body.php";
-
-// re-add proxyunbannable to sysops (removed from core)
-$wgAvailableRights[] = 'proxyunbannable';
-$wgGroupPermissions['sysop']['proxyunbannable'] = true;
-// protect special accounts from tagging proxy edits
-$wgAvailableRights[] = 'notagproxychanges';
-
-// set hooks
-$wgHooks['getUserPermissionsErrorsExpensive'][] = 'AutoProxyBlock::checkProxy';
-$wgHooks['RecentChange_save'][] = 'AutoProxyBlock::onRecentChangeSave';
-$wgHooks['ListDefinedTags'][] = 'AutoProxyBlock::addProxyTag';
-$wgHooks['ChangeTagsListActive'][] = 'AutoProxyBlock::addProxyTag';
-$wgHooks['AbuseFilter-filterAction'][] = 'AutoProxyBlock::AFSetVar';
-$wgHooks['AbuseFilter-builder'][] = 'AutoProxyBlock::AFBuilderVars';
-
-// array of actions, allowed to perform by proxy users
-$wgProxyCanPerform = array( 'read', 'edit', 'upload' );
-
-// add "proxy" tag to all edits, matched by this extension
-$wgTagProxyActions = true;
-
-// api is mediawiki api url, raw is local path to file with raw proxylist
-// key is regexp to check reason of block, retrieved from api
-$wgAutoProxyBlockSources = array();
-$wgAutoProxyBlockSources['api'][] = 'http://en.wikipedia.org/w/api.php';
-$wgAutoProxyBlockSources['raw'][] = '/var/www/mediawiki/proxy.list';
-$wgAutoProxyBlockSources['key'] = '/blocked proxy/i';
-
-// if set to true, log all blocked actions in Special:Log/proxyblock
-$wgAutoProxyBlockLog = false;
-
-if( $wgAutoProxyBlockLog ) {
- $wgAvailableRights[] = 'autoproxyblock-log';
- $wgGroupPermissions['bureaucrat']['autoproxyblock-log'] = true;
- $wgLogTypes[] = 'proxyblock';
- $wgLogNames['proxyblock'] = 'proxyblock-log-name';
- $wgLogHeaders['proxyblock'] = 'proxyblock-log-header';
- $wgLogActions['proxyblock/proxyblock'] = 'proxyblock-logentry';
- $wgLogActions['proxyblock/blocked'] = 'proxyblock-logentry-blocked';
- $wgLogRestrictions['proxyblock'] = 'autoproxyblock-log';
+/**
+* AutoProxyBlock. Allows to automatically block or tag edits performed
+* by proxies.
+*
+* Copyright (C) 2011 Cryptocoryne
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.*
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
+*/
+if ( function_exists( 'wfLoadExtension' ) ) {
+ wfLoadExtension( 'AutoProxyBlock' );
+ // Keep i18n globals so mergeMessageFileList.php doesn't break
+ $wgMessagesDirs['AutoProxyBlock'] = __DIR__ . '/i18n';
+ $wgExtensionMessagesFiles['AutoProxyBlockAlias'] = __DIR__ .
'/AutoProxyBlock.alias.php';
+ wfWarn(
+ 'Deprecated PHP entry point used for the AutoProxyBlock
extension. ' .
+ 'Please use wfLoadExtension instead, ' .
+ 'see https://www.mediawiki.org/wiki/Extension_registration for
more details.'
+ );
+ return;
+} else {
+ die( 'This version of the AutoProxyBlock extension requires MediaWiki
1.29+' );
}
diff --git a/extension.json b/extension.json
new file mode 100644
index 0000000..a205755
--- /dev/null
+++ b/extension.json
@@ -0,0 +1,81 @@
+{
+ "name": "AutoProxyBlock",
+ "version": "1.2.0",
+ "author": "[https://www.mediawiki.org/wiki/User:Cryptocoryne
Cryptocoryne]",
+ "url": "https://www.mediawiki.org/wiki/Extension:AutoProxyBlock",
+ "descriptionmsg": "autoproxyblock-desc",
+ "license-name": "GPL-2.0-or-later",
+ "type": "antispam",
+ "AvailableRights": [
+ "proxyunbannable",
+ "notagproxychanges",
+ "autoproxyblock-log"
+ ],
+ "GroupPermissions": {
+ "sysop": {
+ "proxyunbannable": true
+ },
+ "bureaucrat": {
+ "autoproxyblock-log": true
+ }
+ },
+ "LogActions": {
+ "proxyblock/proxyblock": "proxyblock-logentry",
+ "proxyblock/blocked": "proxyblock-logentry-blocked"
+ },
+ "LogHeaders": {
+ "proxyblock": "proxyblock-log-header"
+ },
+ "LogNames": {
+ "proxyblock": "proxyblock-log-name"
+ },
+ "LogRestrictions": {
+ "proxyblock": "autoproxyblock-log"
+ },
+ "LogTypes": [
+ "proxyblock"
+ ],
+ "MessagesDirs": {
+ "AutoProxyBlock": [
+ "i18n"
+ ]
+ },
+ "AutoloadClasses": {
+ "AutoProxyBlock": "AutoProxyBlock.body.php"
+ },
+ "Hooks": {
+ "getUserPermissionsErrorsExpensive":
"AutoProxyBlock::checkProxy",
+ "RecentChange_save": "AutoProxyBlock::onRecentChangeSave",
+ "ListDefinedTags": "AutoProxyBlock::addProxyTag",
+ "ChangeTagsListActive": "AutoProxyBlock::addProxyTag",
+ "AbuseFilter-filterAction": "AutoProxyBlock::AFSetVar",
+ "AbuseFilter-builder": "AutoProxyBlock::AFBuilderVars"
+ },
+ "config": {
+ "ProxyCanPerform": {
+ "value": [
+ "read",
+ "edit",
+ "upload"
+ ]
+ },
+ "TagProxyActions": {
+ "value": true
+ },
+ "AutoProxyBlockSources": {
+ "value": {
+ "api": [
+ "http://en.wikipedia.org/w/api.php"
+ ],
+ "raw": [
+ "/var/www/mediawiki/proxy.list"
+ ],
+ "key": "/blocked proxy/i"
+ }
+ },
+ "AutoProxyBlockLog": {
+ "value": true
+ }
+ },
+ "manifest_version": 2
+}
diff --git a/install.php b/install.php
deleted file mode 100644
index b9e038c..0000000
--- a/install.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-require_once( dirname(__FILE__) . '/../../maintenance/commandLine.inc' );
-
-if ( method_exists( 'User', 'newSystemUser' ) ) {
- $user = User::newSystemUser( 'AutoProxyBlock', array( 'steal' => true )
);
-} else {
- $user = User::newFromName( 'AutoProxyBlock' );
-
- if ( !$user->getId() ) {
- $user->addToDatabase();
- $user->saveSettings();
- $ssu = new SiteStatsUpdate( 0, 0, 0, 0, 1 );
- $ssu->doUpdate();
- } else {
- $user->setPassword( null );
- $user->setEmail( null );
- $user->saveSettings();
- }
-}
diff --git a/maintenance/install.php b/maintenance/install.php
new file mode 100644
index 0000000..354a368
--- /dev/null
+++ b/maintenance/install.php
@@ -0,0 +1,39 @@
+<?php
+/**
+* AutoProxyBlock. Allows to automatically block or tag edits performed
+* by proxies.
+*
+* Copyright (C) 2011 Cryptocoryne
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.*
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
+*/
+require_once( dirname(__FILE__) . '/../../../maintenance/commandLine.inc' );
+
+if ( method_exists( 'User', 'newSystemUser' ) ) {
+ $user = User::newSystemUser( 'AutoProxyBlock', array( 'steal' => true )
);
+} else {
+ $user = User::newFromName( 'AutoProxyBlock' );
+
+ if ( !$user->getId() ) {
+ $user->addToDatabase();
+ $user->saveSettings();
+ $ssu = new SiteStatsUpdate( 0, 0, 0, 0, 1 );
+ $ssu->doUpdate();
+ } else {
+ $user->setPassword( null );
+ $user->setEmail( null );
+ $user->saveSettings();
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/405409
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If92782871efb20151a4026a9cebd4c5489cf29a9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/AutoProxyBlock
Gerrit-Branch: master
Gerrit-Owner: MarcoAurelio <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits