summaryrefslogtreecommitdiff
path: root/extensions/ConfirmEdit/ConfirmEdit.php
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/ConfirmEdit/ConfirmEdit.php')
-rw-r--r--extensions/ConfirmEdit/ConfirmEdit.php190
1 files changed, 13 insertions, 177 deletions
diff --git a/extensions/ConfirmEdit/ConfirmEdit.php b/extensions/ConfirmEdit/ConfirmEdit.php
index 479abb54..8116e5a0 100644
--- a/extensions/ConfirmEdit/ConfirmEdit.php
+++ b/extensions/ConfirmEdit/ConfirmEdit.php
@@ -30,181 +30,17 @@
* @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';
+ $wgExtensionMessagesFiles['ConfirmEditAlias'] = __DIR__ . '/ConfirmEdit.alias.php';
+ /* 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';