Florianschmidtwelzow has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/212904

Change subject: Remove PHP entry point and use extension.json for ConfirmEdit
......................................................................

Remove PHP entry point and use extension.json for ConfirmEdit

Bug: T88047
Change-Id: I70b2fe13c7c236e2a894f01aba2acd3967c28559
---
M ConfirmEdit.php
A extension.json
2 files changed, 132 insertions(+), 208 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ConfirmEdit 
refs/changes/04/212904/1

diff --git a/ConfirmEdit.php b/ConfirmEdit.php
index 479abb5..5f5fedb 100644
--- a/ConfirmEdit.php
+++ b/ConfirmEdit.php
@@ -1,210 +1,13 @@
 <?php
-
-/**
- * ConfirmEdit MediaWiki extension.
- *
- * This is a framework that holds a variety of CAPTCHA tools. The
- * default one, 'SimpleCaptcha', is not intended as a production-
- * level CAPTCHA system, and another one of the options provided
- * should be used in its place for any real usages.
- *
- * Copyright (C) 2005-2007 Brion Vibber <br...@wikimedia.org>
- * http://www.mediawiki.org/
- *
- * 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.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Extensions
- */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
-       exit;
+if ( function_exists( 'wfLoadExtension' ) ) {
+       wfLoadExtension( 'ConfirmEdit' );
+       // Keep i18n globals so mergeMessageFileList.php doesn't break
+       $wgMessagesDirs['ConfirmEdit'] = __DIR__ . '/i18n';
+       /* wfWarn(
+               'Deprecated PHP entry point used for ConfirmEdit extension. 
Please use wfLoadExtension instead, ' .
+               'see https://www.mediawiki.org/wiki/Extension_registration for 
more details.'
+       ); */
+       return;
+} else {
+       die( 'This version of the ConfirmEdit extension requires MediaWiki 
1.25+' );
 }
-if ( !defined( 'MW_SUPPORTS_CONTENTHANDLER' ) ) {
-       throw Exception( 'This version of ConfirmEdit requires MediaWiki 1.21 
or later' );
-}
-
-$wgExtensionCredits['antispam'][] = array(
-       'path' => __FILE__,
-       'name' => 'ConfirmEdit',
-       'author' => array( 'Brion Vibber', '...' ),
-       'url' => 'https://www.mediawiki.org/wiki/Extension:ConfirmEdit',
-       'version' => '1.3',
-       'descriptionmsg' => 'captcha-desc',
-       'license-name' => 'GPL-2.0+',
-);
-
-/**
- * The 'skipcaptcha' permission key can be given out to
- * let known-good users perform triggering actions without
- * having to go through the captcha.
- *
- * By default, sysops and registered bot accounts will be
- * able to skip, while others have to go through it.
- */
-$wgGroupPermissions['*'            ]['skipcaptcha'] = false;
-$wgGroupPermissions['user'         ]['skipcaptcha'] = false;
-$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false;
-$wgGroupPermissions['bot'          ]['skipcaptcha'] = true; // registered bots
-$wgGroupPermissions['sysop'        ]['skipcaptcha'] = true;
-$wgAvailableRights[] = 'skipcaptcha';
-
-/**
- * List of IP ranges to allow to skip the captcha, similar to the group 
setting:
- * "$wgGroupPermission[...]['skipcaptcha'] = true"
- *
- * Specific IP addresses or CIDR-style ranges may be used,
- * for instance:
- * $wgCaptchaWhitelistIP = array('192.168.1.0/24', '10.1.0.0/16');
- */
-$wgCaptchaWhitelistIP = false;
-
-$wgCaptcha = null;
-$wgCaptchaClass = 'SimpleCaptcha';
-
-/**
- * Actions which can trigger a captcha
- *
- * If the 'edit' trigger is on, *every* edit will trigger the captcha.
- * This may be useful for protecting against vandalbot attacks.
- *
- * If using the default 'addurl' trigger, the captcha will trigger on
- * edits that include URLs that aren't in the current version of the page.
- * This should catch automated linkspammers without annoying people when
- * they make more typical edits.
- *
- * The captcha code should not use $wgCaptchaTriggers, but CaptchaTriggers()
- * which also takes into account per namespace triggering.
- */
-$wgCaptchaTriggers = array();
-$wgCaptchaTriggers['edit']          = false; // Would check on every edit
-$wgCaptchaTriggers['create']        = false; // Check on page creation.
-$wgCaptchaTriggers['sendemail']     = false; // Special:Emailuser
-$wgCaptchaTriggers['addurl']        = true;  // Check on edits that add URLs
-$wgCaptchaTriggers['createaccount'] = true;  // Special:Userlogin&type=signup
-$wgCaptchaTriggers['badlogin']      = true;  // Special:Userlogin after failure
-
-/**
- * You may wish to apply special rules for captcha triggering on some 
namespaces.
- * $wgCaptchaTriggersOnNamespace[<namespace id>][<trigger>] forces an always 
on /
- * always off configuration with that trigger for the given namespace.
- * Leave unset to use the global options ($wgCaptchaTriggers).
- *
- * Shall not be used with 'createaccount' (it is not checked).
- */
-$wgCaptchaTriggersOnNamespace = array();
-
-# Example:
-# $wgCaptchaTriggersOnNamespace[NS_TALK]['create'] = false; //Allow creation 
of talk pages without captchas.
-# $wgCaptchaTriggersOnNamespace[NS_PROJECT]['edit'] = true; //Show captcha 
whenever editing Project pages.
-
-/**
- * Indicate how to store per-session data required to match up the
- * internal captcha data with the editor.
- *
- * 'CaptchaSessionStore' uses PHP's session storage, which is cookie-based
- * and may fail for anons with cookies disabled.
- *
- * 'CaptchaCacheStore' uses $wgMemc, which avoids the cookie dependency
- * but may be fragile depending on cache configuration.
- */
-$wgCaptchaStorageClass = 'CaptchaSessionStore';
-
-/**
- * Number of seconds a captcha session should last in the data cache
- * before expiring when managing through CaptchaCacheStore class.
- *
- * Default is a half hour.
- */
-$wgCaptchaSessionExpiration = 30 * 60;
-
-/**
- * Number of seconds after a bad login that a captcha will be shown to
- * that client on the login form to slow down password-guessing bots.
- *
- * Has no effect if 'badlogin' is disabled in $wgCaptchaTriggers or
- * if there is not a caching engine enabled.
- *
- * Default is five minutes.
- */
-$wgCaptchaBadLoginExpiration = 5 * 60;
-
-/**
- * Allow users who have confirmed their email addresses to post
- * URL links without being harassed by the captcha.
- */
-$ceAllowConfirmedEmail = false;
-
-/**
- * Number of bad login attempts before triggering the captcha.  0 means the
- * captcha is presented on the first login.
- */
-$wgCaptchaBadLoginAttempts = 3;
-
-/**
- * Regex to whitelist URLs to known-good sites...
- * For instance:
- * $wgCaptchaWhitelist = 
'#^https?://([a-z0-9-]+\\.)?(wikimedia|wikipedia)\.org/#i';
- * Local admins can define a whitelist under 
[[MediaWiki:captcha-addurl-whitelist]]
- */
-$wgCaptchaWhitelist = false;
-
-/**
- * Additional regexes to check for. Use full regexes; can match things
- * other than URLs such as junk edits.
- *
- * If the new version matches one and the old version doesn't,
- * toss up the captcha screen.
- *
- * @fixme Add a message for local admins to add items as well.
- */
-$wgCaptchaRegexes = array();
-
-/** Register special page */
-$wgSpecialPages['Captcha'] = 'CaptchaSpecialPage';
-
-$wgMessagesDirs['ConfirmEdit'] = __DIR__ . '/i18n';
-$wgExtensionMessagesFiles['ConfirmEditAlias'] = __DIR__ . 
"/ConfirmEdit.alias.php";
-
-$wgHooks['EditPageBeforeEditButtons'][] = 'ConfirmEditHooks::confirmEditPage';
-$wgHooks['UserCreateForm'][] = 'ConfirmEditHooks::injectUserCreate';
-$wgHooks['AbortNewAccount'][] = 'ConfirmEditHooks::confirmUserCreate';
-$wgHooks['LoginAuthenticateAudit'][] = 'ConfirmEditHooks::triggerUserLogin';
-$wgHooks['UserLoginForm'][] = 'ConfirmEditHooks::injectUserLogin';
-$wgHooks['AbortLogin'][] = 'ConfirmEditHooks::confirmUserLogin';
-$wgHooks['EmailUserForm'][] = 'ConfirmEditHooks::injectEmailUser';
-$wgHooks['EmailUser'][] = 'ConfirmEditHooks::confirmEmailUser';
-$wgHooks['EditPage::showEditForm:fields'][] = 
'ConfirmEditHooks::showEditFormFields';
-$wgHooks['EditFilterMergedContent'][] = 'ConfirmEditHooks::confirmEditMerged';
-
-if ( !defined( 'MW_EDITFILTERMERGED_SUPPORTS_API' ) ) {
-       $wgHooks['APIEditBeforeSave'][] = 'ConfirmEditHooks::confirmEditAPI';
-}
-
-$wgHooks['APIGetAllowedParams'][] = 'ConfirmEditHooks::APIGetAllowedParams';
-$wgHooks['APIGetParamDescription'][] = 
'ConfirmEditHooks::APIGetParamDescription';
-$wgHooks['AddNewAccountApiForm'][] = 'ConfirmEditHooks::addNewAccountApiForm';
-$wgHooks['AddNewAccountApiResult'][] = 
'ConfirmEditHooks::addNewAccountApiResult';
-$wgHooks['UnitTestsList'][] = 'ConfirmEditHooks::onUnitTestsList';
-
-$wgExtensionFunctions[] = 'ConfirmEditHooks::confirmEditSetup';
-
-$wgAutoloadClasses['ConfirmEditHooks'] = __DIR__ . 
'/includes/ConfirmEditHooks.php';
-$wgAutoloadClasses['SimpleCaptcha'] = __DIR__ . '/SimpleCaptcha/Captcha.php';
-$wgAutoloadClasses['CaptchaStore'] = __DIR__ . '/includes/CaptchaStore.php';
-$wgAutoloadClasses['CaptchaSessionStore'] = __DIR__ . 
'/includes/CaptchaStore.php';
-$wgAutoloadClasses['CaptchaCacheStore'] = __DIR__ . 
'/includes/CaptchaStore.php';
-$wgAutoloadClasses['CaptchaSpecialPage'] = __DIR__ . 
'/includes/specials/SpecialCaptcha.php';
diff --git a/extension.json b/extension.json
new file mode 100644
index 0000000..3a33c3a
--- /dev/null
+++ b/extension.json
@@ -0,0 +1,121 @@
+{
+       "name": "ConfirmEdit",
+       "version": "1.4",
+       "author": [
+               "Brion Vibber",
+               "..."
+       ],
+       "url": "https://www.mediawiki.org/wiki/Extension:ConfirmEdit";,
+       "descriptionmsg": "captcha-desc",
+       "license-name": "GPL-2.0+",
+       "type": "antispam",
+       "GroupPermissions": {
+               "*": {
+                       "skipcaptcha": false
+               },
+               "user": {
+                       "skipcaptcha": false
+               },
+               "autoconfirmed": {
+                       "skipcaptcha": false
+               },
+               "bot": {
+                       "skipcaptcha": true
+               },
+               "sysop": {
+                       "skipcaptcha": true
+               }
+       },
+       "AvailableRights": [
+               "skipcaptcha"
+       ],
+       "ExtensionFunctions": [
+               "ConfirmEditHooks::confirmEditSetup"
+       ],
+       "SpecialPages": {
+               "Captcha": "CaptchaSpecialPage"
+       },
+       "MessagesDirs": {
+               "ConfirmEdit": [
+                       "i18n"
+               ]
+       },
+       "ExtensionMessagesFiles": {
+               "ConfirmEditAlias": "ConfirmEdit.alias.php"
+       },
+       "AutoloadClasses": {
+               "ConfirmEditHooks": "includes/ConfirmEditHooks.php",
+               "SimpleCaptcha": "SimpleCaptcha/Captcha.php",
+               "CaptchaStore": "includes/CaptchaStore.php",
+               "CaptchaSessionStore": "includes/CaptchaStore.php",
+               "CaptchaCacheStore": "includes/CaptchaStore.php",
+               "CaptchaSpecialPage": "includes/specials/SpecialCaptcha.php"
+       },
+       "Hooks": {
+               "EditPageBeforeEditButtons": [
+                       "ConfirmEditHooks::confirmEditPage"
+               ],
+               "UserCreateForm": [
+                       "ConfirmEditHooks::injectUserCreate"
+               ],
+               "AbortNewAccount": [
+                       "ConfirmEditHooks::confirmUserCreate"
+               ],
+               "LoginAuthenticateAudit": [
+                       "ConfirmEditHooks::triggerUserLogin"
+               ],
+               "UserLoginForm": [
+                       "ConfirmEditHooks::injectUserLogin"
+               ],
+               "AbortLogin": [
+                       "ConfirmEditHooks::confirmUserLogin"
+               ],
+               "EmailUserForm": [
+                       "ConfirmEditHooks::injectEmailUser"
+               ],
+               "EmailUser": [
+                       "ConfirmEditHooks::confirmEmailUser"
+               ],
+               "EditPage::showEditForm:fields": [
+                       "ConfirmEditHooks::showEditFormFields"
+               ],
+               "EditFilterMergedContent": [
+                       "ConfirmEditHooks::confirmEditMerged"
+               ],
+               "APIGetAllowedParams": [
+                       "ConfirmEditHooks::APIGetAllowedParams"
+               ],
+               "APIGetParamDescription": [
+                       "ConfirmEditHooks::APIGetParamDescription"
+               ],
+               "AddNewAccountApiForm": [
+                       "ConfirmEditHooks::addNewAccountApiForm"
+               ],
+               "AddNewAccountApiResult": [
+                       "ConfirmEditHooks::addNewAccountApiResult"
+               ],
+               "UnitTestsList": [
+                       "ConfirmEditHooks::onUnitTestsList"
+               ]
+       },
+       "config": {
+               "CaptchaWhitelistIP": false,
+               "Captcha": null,
+               "CaptchaClass": "SimpleCaptcha",
+               "CaptchaTriggers": {
+                       "edit": false,
+                       "create": false,
+                       "sendemail": false,
+                       "addurl": true,
+                       "createaccount": true,
+                       "badlogin": true
+               },
+               "CaptchaTriggersOnNamespace": [],
+               "CaptchaStorageClass": "CaptchaSessionStore",
+               "CaptchaSessionExpiration": 1800,
+               "CaptchaBadLoginExpiration": 300,
+               "CaptchaBadLoginAttempts": 3,
+               "CaptchaWhitelist": false,
+               "CaptchaRegexes": []
+       }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/212904
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I70b2fe13c7c236e2a894f01aba2acd3967c28559
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ConfirmEdit
Gerrit-Branch: master
Gerrit-Owner: Florianschmidtwelzow <florian.schmidt.wel...@t-online.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to