[imp] db migration and sorting

Jan Schneider jan at horde.org
Tue May 24 16:56:56 UTC 2011


Zitat von Michael M Slusarz <slusarz at horde.org>:

> Quoting Jan Schneider <jan at horde.org>:
>
>> Zitat von Michael M Slusarz <slusarz at horde.org>:
>>
>>> Quoting Janis Eisaks <je at ktf.rtu.lv>:
>>>
>>>> Quoting Jan Schneider <jan at horde.org>:
>>>>
>>>>>> 2. what can be done to display folder list in alphabetical  
>>>>>> order for selected language - for example letter "č" in Latvian  
>>>>>> follows "c", not "z"
>>>>>>
>>>>>> Horde 1.0.8 places national letters before A, 1.2.9 and  
>>>>>> Horde4/IMP5 - after Z
>>>>>
>>>>> We use strnatcasecmp and strcasecmp for sorting mailboxes. Those  
>>>>> have the advantage of correctly sorting mailboxes with numbers  
>>>>> and being binary-safe. For better locale-specific sorting, we  
>>>>> would have to use strcoll, but this function doesn't support  
>>>>> either of the former features.
>>>>
>>>> so - resumé - it is not possible to get folders in correct  
>>>> alphabetical order rathen than for ASCII-named, isn't it?
>>>
>>> It looks like we might be able to use Collator::compare()  
>>> (http://www.php.net/manual/en/collator.compare.php) to do the  
>>> sorting.  But this is only available in PHP 5.3.0+.
>>
>> We could use it conditionally, it's also available through intl  
>> from pecl for PHP 5.2. But I'm not sure if that would get us  
>> anything that strcoll doesn't. The documentation is sparse, but to  
>> me it sounds like it doesn't get us natural numeric sort or binary  
>> safety (probably not necessary for mailbox sorting anyway) either.
>
> Well... I'm not sure that our current sorting method is all that  
> bad.  It's at least consistent.  And if PHP does not provide the  
> proper tools to easily do this kind of sorting, I would rather not  
> reinvent the wheel.

Yes, I absolutely agree. I could only imagine that we make it  
configurable whether we use strnatcasecmp or strcoll for sorting.  
Implementing sorting ourselves is not an option.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the imp mailing list