User "Catrope" posted a comment on MediaWiki.r86088. Full URL: https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Special:Code/MediaWiki/86088#c16007 Commit summary:
Completely rewritten table sorting script. Fixes Bug 8028, Bug 8115, Bug 15406, Bug 17141, Bug 8732 1. Sites can specify custom collations. The script accepts an object "tableSorterCollation" which contains a lookup table, how specific characters should be treated. For example, after setting "tableSorterCollation={'ä':'ae', 'ß':'ss'};" in the site's common.js any string containing an ä or Ä will be sorted as if it were a 'ae'. 2. Table rows can be forced to use a specific data type. By setting class="sort-{Parsername}", the row will be parsed with the specified algorithm. class="sort-date" would force date sorting etc. The following parsers are available: text, IPAddress, number, url, currency, date, isoDate, usLongDate, time 3. Execution time is reduced by half or more. Sorting a 935 row * 8 columns table: Browser Before After -------- ------ ----- Chrome 10 90ms 42ms Safari 5 115ms 48ms Firefox 4 412ms 87ms IE8 720ms 115ms 4. Based on the content language and the mdy vs dmy preference, the parser can understand dates such as "17. März '11". wgMonthNames=[] and wgMonthNamesShort=[] in the content language and the mdy vs dmy preference are exported to js; A table containing the following dates would be sorted correctly: 17. Jan. 01 23 Feb 1992 9.02.05 13 November 2001 14 Oktober '76 Was tested in ie6-8, chrome, safari 5, ff3 & ff4 Comment: <pre> + #$localDateFormats = $wgContLang->getDateFormats(); + #$localPreferedFormat = $localDateFormats[$wgContLang->getDefaultDateFormat().' date']; + </pre> Please don't introduce commented-out code. There's another commented-out line a few lines down. <pre> + $monthNames = array(''); + $monthNamesShort = array(''); + for ($i=1; $i < 13; $i++) { + $monthNames[]=$wgContLang->getMonthName($i); + $monthNamesShort[]=$wgContLang->getMonthAbbreviation($i); + } </pre> This does not conform to whitespace conventions. Also, this array building code should be moved into the Language class so you can just call e.g. <code>$wgContLang->getMonthNames()</code> _______________________________________________ MediaWiki-CodeReview mailing list mediawiki-coderev...@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-codereview