X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_listingSortIterator.inc;h=af18544aa898fe213b04fee7442e292b6c1fdaaa;hb=c24abf1e4216c3cea0eff19346e6c7da1a346e47;hp=7f46512e51c9ed003f086500b5f30eb1062e5915;hpb=85b1487a79ac9ed611dfcae17c4ff7a0437e152d;p=gosa.git diff --git a/gosa-core/include/class_listingSortIterator.inc b/gosa-core/include/class_listingSortIterator.inc index 7f46512e5..af18544aa 100644 --- a/gosa-core/include/class_listingSortIterator.inc +++ b/gosa-core/include/class_listingSortIterator.inc @@ -52,11 +52,27 @@ class listingSortIterator implements Iterator { // Take a look at the several types switch ($_sortType) { case 'string': - return strnatcmp($a, $b); + return strcoll($a, $b); + + case 'integer': + return $b - $a; + + case 'date': + if ($a == "") { + $a= "31.12.0000"; + } + if ($b == "") { + $b= "31.12.0000"; + } + list($d, $m, $y)= split('\.', $a); + $a= (int)sprintf("%04d%02d%02d", $y, $m, $d); + list($d, $m, $y)= split('\.', $b); + $b= (int)sprintf("%04d%02d%02d", $y, $m, $d); + return $b-$a; // Sort for string by default default: - return strnatcmp($a, $b); + return strcoll($a, $b); } }