*/
$wgResourceLoaderValidateStaticJS = false;
-/**
- * Global LESS variables. An associative array binding variable names to
- * LESS code snippets representing their values.
- *
- * Adding an item here is equivalent to writing `@variable: value;`
- * at the beginning of all your .less files, with all the consequences.
- * In particular, string values must be escaped and quoted.
- *
- * Changes to this configuration do NOT trigger cache invalidation.
- *
- * @par Example:
- * @code
- * $wgResourceLoaderLESSVars = [
- * 'exampleFontSize' => '1em',
- * 'exampleBlue' => '#36c',
- * ];
- * @endcode
- * @since 1.22
- * @deprecated since 1.30 Use ResourceLoaderModule::getLessVars() instead to
- * add variables to individual modules that need them.
- */
-$wgResourceLoaderLESSVars = [
- /**
- * Minimum available screen width at which a device can be considered a tablet
- * The number is currently based on the device width of a Samsung Galaxy S5 mini and is low
- * enough to cover iPad (768px). Number is prone to change with new information.
- * @since 1.27
- * @deprecated 1.31 Use mediawiki.ui/variables instead
- */
- 'deviceWidthTablet' => '720px',
-];
-
/**
* Whether ResourceLoader should attempt to persist modules in localStorage on
* browsers that support the Web Storage API.
'PasswordCannotMatchUsername' => true,
'PasswordCannotBePopular' => 25,
],
+ 'interface-admin' => [
+ 'MinimalPasswordLength' => 8,
+ 'MinimumPasswordLengthToLogin' => 1,
+ 'PasswordCannotMatchUsername' => true,
+ 'PasswordCannotBePopular' => 25,
+ ],
'bot' => [
'MinimalPasswordLength' => 8,
'MinimumPasswordLengthToLogin' => 1,
$wgGroupPermissions['sysop']['deletedtext'] = true;
$wgGroupPermissions['sysop']['undelete'] = true;
$wgGroupPermissions['sysop']['editinterface'] = true;
-$wgGroupPermissions['sysop']['editusercss'] = true;
+$wgGroupPermissions['sysop']['editsitejson'] = true;
$wgGroupPermissions['sysop']['edituserjson'] = true;
-$wgGroupPermissions['sysop']['edituserjs'] = true;
$wgGroupPermissions['sysop']['import'] = true;
$wgGroupPermissions['sysop']['importupload'] = true;
$wgGroupPermissions['sysop']['move'] = true;
$wgGroupPermissions['sysop']['managechangetags'] = true;
$wgGroupPermissions['sysop']['deletechangetags'] = true;
+$wgGroupPermissions['interface-admin']['editinterface'] = true;
+$wgGroupPermissions['interface-admin']['editsitecss'] = true;
+$wgGroupPermissions['interface-admin']['editsitejson'] = true;
+$wgGroupPermissions['interface-admin']['editsitejs'] = true;
+$wgGroupPermissions['interface-admin']['editusercss'] = true;
+$wgGroupPermissions['interface-admin']['edituserjson'] = true;
+$wgGroupPermissions['interface-admin']['edituserjs'] = true;
+
// Permission to change users' group assignments
$wgGroupPermissions['bureaucrat']['userrights'] = true;
$wgGroupPermissions['bureaucrat']['noratelimit'] = true;
$wgGrantPermissions['editinterface'] = $wgGrantPermissions['editpage'];
$wgGrantPermissions['editinterface']['editinterface'] = true;
-$wgGrantPermissions['editinterface']['editusercss'] = true;
$wgGrantPermissions['editinterface']['edituserjson'] = true;
-$wgGrantPermissions['editinterface']['edituserjs'] = true;
+$wgGrantPermissions['editinterface']['editsitejson'] = true;
+
+$wgGrantPermissions['editsiteconfig'] = $wgGrantPermissions['editinterface'];
+$wgGrantPermissions['editsiteconfig']['editusercss'] = true;
+$wgGrantPermissions['editsiteconfig']['edituserjs'] = true;
+$wgGrantPermissions['editsiteconfig']['editsitecss'] = true;
+$wgGrantPermissions['editsiteconfig']['editsitejs'] = true;
$wgGrantPermissions['createeditmovepage'] = $wgGrantPermissions['editpage'];
$wgGrantPermissions['createeditmovepage']['createpage'] = true;
'editmyoptions' => 'customization',
'editinterface' => 'administration',
+ 'editsiteconfig' => 'administration',
'rollback' => 'administration',
'blockusers' => 'administration',
'delete' => 'administration',
'GET' => [
'masterConns' => 0,
'writes' => 0,
- 'readQueryTime' => 5
+ 'readQueryTime' => 5,
+ 'readQueryRows' => 10000
],
// HTTP POST requests.
// Master reads and writes will happen for a subset of these.
'POST' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
+ 'readQueryRows' => 100000,
'maxAffected' => 1000
],
'POST-nonwrite' => [
'masterConns' => 0,
'writes' => 0,
- 'readQueryTime' => 5
+ 'readQueryTime' => 5,
+ 'readQueryRows' => 10000
],
// Deferred updates that run after HTTP response is sent for GET requests
'PostSend-GET' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
+ 'readQueryRows' => 10000,
'maxAffected' => 1000,
// Log master queries under the post-send entry point as they are discouraged
'masterConns' => 0,
'PostSend-POST' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
+ 'readQueryRows' => 100000,
'maxAffected' => 1000
],
// Background job runner
'JobRunner' => [
'readQueryTime' => 30,
'writeQueryTime' => 5,
+ 'readQueryRows' => 100000,
'maxAffected' => 500 // ballpark of $wgUpdateRowsPerQuery
],
// Command-line scripts
* Whether to show "we're sorry, but there has been a database error" pages.
* Displaying errors aids in debugging, but may display information useful
* to an attacker.
+ *
+ * @deprecated and nonfunctional since 1.32: set $wgShowExceptionDetails and/or
+ * $wgShowHostnames instead.
*/
$wgShowSQLErrors = false;
/**
- * If set to true, uncaught exceptions will print a complete stack trace
- * to output. This should only be used for debugging, as it may reveal
- * private information in function parameters due to PHP's backtrace
- * formatting.
+ * If set to true, uncaught exceptions will print the exception message and a
+ * complete stack trace to output. This should only be used for debugging, as it
+ * may reveal private information in function parameters due to PHP's backtrace
+ * formatting. If set to false, only the exception's class will be shown.
*/
$wgShowExceptionDetails = false;
* reported in the normal manner. $wgShowExceptionDetails applies in other cases,
* including those in which an uncaught exception is thrown from within the
* exception handler.
+ *
+ * @deprecated and nonfunctional since 1.32: set $wgShowExceptionDetails instead.
*/
$wgShowDBErrorBacktrace = false;
/**
* If either $wgRightsUrl or $wgRightsPage is specified then this variable gives the text for the
- * link.
+ * link. Otherwise, it will be treated as raw HTML.
* If using $wgRightsUrl then this value must be specified. If using $wgRightsPage then the name
* of the page will also be used as the link if this variable is not set.
*/
* general category and can be viewed as a named subset of all logs; and
* an action, which is a specific kind of event that can exist in that
* log type.
+ *
+ * Note that code should call LogPage::validTypes() to get a list of valid
+ * log types instead of checking the global variable.
*/
$wgLogTypes = [
'',
* @since 1.27
* @var string path to file
*/
-$wgPopularPasswordFile = __DIR__ . '/../serialized/commonpasswords.cdb';
+$wgPopularPasswordFile = __DIR__ . '/password/commonpasswords.cdb';
/*
* Max time (in seconds) a user-generated transaction can spend in writes.