-
- /**
- * Given a string, convert it to a (hopefully short) key that can be used
- * for efficient sorting. A binary sort according to the sortkeys
- * corresponds to a logical sort of the corresponding strings. Current
- * code expects that a null character should sort before all others, but
- * has no other particular expectations (and that one can be changed if
- * necessary).
- *
- * @param string $string UTF-8 string
- * @return string Binary sortkey
- */
- public function convertToSortkey( $string ) {
- # Fake function for now
- return strtoupper( $string );
- }
-
- /**
- * Given a string, return the logical "first letter" to be used for
- * grouping on category pages and so on. This has to be coordinated
- * carefully with convertToSortkey(), or else the sorted list might jump
- * back and forth between the same "initial letters" or other pathological
- * behavior. For instance, if you just return the first character, but "a"
- * sorts the same as "A" based on convertToSortkey(), then you might get a
- * list like
- *
- * == A ==
- * * [[Aardvark]]
- *
- * == a ==
- * * [[antelope]]
- *
- * == A ==
- * * [[Ape]]
- *
- * etc., assuming for the sake of argument that $wgCapitalLinks is false.
- *
- * @param string $string UTF-8 string
- * @return string UTF-8 string corresponding to the first letter of input
- */
- public function firstLetterForLists( $string ) {
- if ( $string[0] == "\0" ) {
- $string = substr( $string, 1 );
- }
- return strtoupper( $this->firstChar( $string ) );
- }