From: Bartosz DziewoƄski Date: Tue, 29 Dec 2015 13:24:27 +0000 (+0100) Subject: Setup.php: Ensure that defaults for 'rcdays' and 'watchlistdays' are not invalid X-Git-Tag: 1.31.0-rc.0~8422^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22suivi_revisions%22%29%20.%20%22?a=commitdiff_plain;h=8451d2bd3bc6640e305c95bead0319081c13f7e9;p=lhc%2Fweb%2Fwiklou.git Setup.php: Ensure that defaults for 'rcdays' and 'watchlistdays' are not invalid I ran into this when I set $wgRCMaxAge = 3600*24 (1 day) when testing recent changes stuff. Change-Id: Ib618f0e47f30ebe1ad44f4c70fee5789bfa8c095 --- diff --git a/includes/Setup.php b/includes/Setup.php index c86372286a..9e4d2a3702 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -264,6 +264,7 @@ foreach ( $wgForeignFileRepos as &$repo ) { } 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. @@ -273,12 +274,22 @@ if ( $wgRCFilterByAge ) { // @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;