}
unset( $repo ); // no global pollution; destroy reference
+$rcMaxAgeDays = $wgRCMaxAge / ( 3600 * 24 );
if ( $wgRCFilterByAge ) {
// Trim down $wgRCLinkDays so that it only lists links which are valid
// as determined by $wgRCMaxAge.
// @codingStandardsIgnoreStart Generic.CodeAnalysis.ForLoopWithTestFunctionCall.NotAllowed
for ( $i = 0; $i < count( $wgRCLinkDays ); $i++ ) {
// @codingStandardsIgnoreEnd
- if ( $wgRCLinkDays[$i] >= $wgRCMaxAge / ( 3600 * 24 ) ) {
+ if ( $wgRCLinkDays[$i] >= $rcMaxAgeDays ) {
$wgRCLinkDays = array_slice( $wgRCLinkDays, 0, $i + 1, false );
break;
}
}
}
+// Ensure that default user options are not invalid, since that breaks Special:Preferences
+$wgDefaultUserOptions['rcdays'] = min(
+ $wgDefaultUserOptions['rcdays'],
+ ceil( $rcMaxAgeDays )
+);
+$wgDefaultUserOptions['watchlistdays'] = min(
+ $wgDefaultUserOptions['watchlistdays'],
+ ceil( $rcMaxAgeDays )
+);
+unset( $rcMaxAgeDays );
if ( $wgSkipSkin ) {
$wgSkipSkins[] = $wgSkipSkin;
$wgEnotifMaxRecips = 0;
$wgEnotifMinorEdits = false;
$wgEnotifRevealEditorAddress = false;
- $wgEnotifUseJobQ = false;
$wgEnotifUseRealName = false;
$wgEnotifUserTalk = false;
$wgEnotifWatchlist = false;
// To determine the user language, use $wgLang->getCode()
$wgContLanguageCode = $wgLanguageCode;
-// Easy to forget to falsify $wgShowIPinHeader for static caches.
-// If file cache or squid cache is on, just disable this (DWIMD).
-// Do the same for $wgDebugToolbar.
+// Easy to forget to falsify $wgDebugToolbar for static caches.
+// If file cache or CDN cache is on, just disable this (DWIMD).
if ( $wgUseFileCache || $wgUseSquid ) {
- $wgShowIPinHeader = false;
$wgDebugToolbar = false;
}
$wgCookieSecure = ( WebRequest::detectProtocol() === 'https' );
}
-// Back compatibility for $wgRateLimitLog deprecated with 1.23
-if ( $wgRateLimitLog && !array_key_exists( 'ratelimit', $wgDebugLogGroups ) ) {
- $wgDebugLogGroups['ratelimit'] = $wgRateLimitLog;
-}
-
if ( $wgProfileOnly ) {
$wgDebugLogGroups['profileoutput'] = $wgDebugLogFile;
$wgDebugLogFile = '';
require_once "$IP/includes/compat/normal/UtfNormalUtil.php";
-
$ps_validation = Profiler::instance()->scopedProfileIn( $fname . '-validation' );
// T48998: Bail out early if $wgArticlePath is non-absolute
-if ( !preg_match( '/^(https?:\/\/|\/)/', $wgArticlePath ) ) {
- throw new FatalError(
- 'If you use a relative URL for $wgArticlePath, it must start ' .
- 'with a slash (<code>/</code>).<br><br>See ' .
- '<a href="https://www.mediawiki.org/wiki/Manual:$wgArticlePath">' .
- 'https://www.mediawiki.org/wiki/Manual:$wgArticlePath</a>.'
- );
+foreach ( array( 'wgArticlePath', 'wgVariantArticlePath' ) as $varName ) {
+ if ( $$varName && !preg_match( '/^(https?:\/\/|\/)/', $$varName ) ) {
+ throw new FatalError(
+ "If you use a relative URL for \$$varName, it must start " .
+ 'with a slash (<code>/</code>).<br><br>See ' .
+ "<a href=\"https://www.mediawiki.org/wiki/Manual:\$$varName\">" .
+ "https://www.mediawiki.org/wiki/Manual:\$$varName</a>."
+ );
+ }
}
Profiler::instance()->scopedProfileOut( $ps_validation );
Profiler::instance()->scopedProfileOut( $ps_extensions );
Profiler::instance()->scopedProfileOut( $ps_setup );
-