Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1426805
Collation.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
Collation.php
View Options
<?php
/**
* Database row sorting.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
*/
/**
* @since 1.16.3
* @author Tim Starling
* @stable to extend
*/
abstract
class
Collation
{
/**
* 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 line feed character should sort before all others, but
* has no other particular expectations (and that one can be changed if
* necessary).
*
* @since 1.16.3
*
* @param string $string UTF-8 string
* @return string Binary sortkey
*/
abstract
public
function
getSortKey
(
$string
);
/**
* Get multiple sort keys
*
* @param string[] $strings
* @return string[]
*/
public
function
getSortKeys
(
$strings
)
{
$ret
=
[];
foreach
(
$strings
as
$key
=>
$s
)
{
$ret
[
$key
]
=
$this
->
getSortKey
(
$s
);
}
return
$ret
;
}
/**
* 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 getSortKey(), then you might get a
* list like
*
* == A ==
* * [[Aardvark]]
*
* == a ==
* * [[antelope]]
*
* == A ==
* * [[Ape]]
*
* etc., assuming for the sake of argument that $wgCapitalLinks is false.
*
* @since 1.16.3
*
* @param string $string UTF-8 string
* @return string UTF-8 string corresponding to the first letter of input
*/
abstract
public
function
getFirstLetter
(
$string
);
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 13:43 (1 d, 21 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
e4/a2/7883cb1cd08b6393484bb7841a76
Default Alt Text
Collation.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment