summaryrefslogtreecommitdiff
path: root/library/WT/Report/Base.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/WT/Report/Base.php')
-rw-r--r--library/WT/Report/Base.php20
1 files changed, 19 insertions, 1 deletions
diff --git a/library/WT/Report/Base.php b/library/WT/Report/Base.php
index e39b81b338..4d058ff8ca 100644
--- a/library/WT/Report/Base.php
+++ b/library/WT/Report/Base.php
@@ -3231,7 +3231,25 @@ function ListSHandler($attrs) {
uasort($list, array("WT_GedcomRecord", "Compare"));
break;
case "CHAN":
- uasort($list, array("WT_GedcomRecord", "CompareChanDate"));
+ uasort($list, function($x, $y) {
+ $f1 = $x->getFactByType('CHAN');
+ $f2 = $y->getFactByType('CHAN');
+ if ($f1 && $f2) {
+ $d1 = $f1->getDate();
+ $d2 = $f2->getDate();
+ $cmp = WT_Date::compare($d1, $d2);
+ if ($cmp) {
+ return $cmp;
+ } else {
+ // Same date. Compare times
+ preg_match('/\n3 TIME (.+)/', $f1->getGedcom(), $m1);
+ preg_match('/\n3 TIME (.+)/', $f2->getGedcom(), $m2);
+ return strcmp($m1[1], $m2[1]);
+ }
+ } else {
+ return 0;
+ }
+ });
break;
case "BIRT:DATE":
uasort($list, array("WT_Individual", "CompareBirtDate"));