'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
/**
* 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.