diff options
| author | fisharebest <fisharebest@gmail.com> | 2010-04-19 21:02:09 +0000 |
|---|---|---|
| committer | fisharebest <fisharebest@gmail.com> | 2010-04-19 21:02:09 +0000 |
| commit | 1bea948b6991f5825b1dccff120b283a0cb70f27 (patch) | |
| tree | 3887788f61745db5ab3674cae4127c311d8329ed /includes/classes/class_reportbase.php | |
| parent | fe7cda0b409e31b7055889ee6a1acef6eafc9947 (diff) | |
| download | webtrees-1bea948b6991f5825b1dccff120b283a0cb70f27.tar.gz webtrees-1bea948b6991f5825b1dccff120b283a0cb70f27.tar.bz2 webtrees-1bea948b6991f5825b1dccff120b283a0cb70f27.zip | |
Diffstat (limited to 'includes/classes/class_reportbase.php')
| -rw-r--r-- | includes/classes/class_reportbase.php | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/includes/classes/class_reportbase.php b/includes/classes/class_reportbase.php index e4d6bf3931..cb18d64c68 100644 --- a/includes/classes/class_reportbase.php +++ b/includes/classes/class_reportbase.php @@ -3171,7 +3171,7 @@ function PGVRLineSHandler($attrs) { */ function PGVRListSHandler($attrs) { global $gedrec, $repeats, $repeatBytes, $list, $repeatsStack, $processRepeats, $parser, $vars, $sortby; - global $pgv_changes, $GEDCOM, $TBLPREFIX; + global $GEDCOM, $TBLPREFIX; $processRepeats++; if ($processRepeats > 1) return; @@ -3195,21 +3195,19 @@ function PGVRListSHandler($attrs) { // Some filters/sorts can be applied using SQL, while others require PHP switch ($listname) { case "pending": + $rows=WT_DB::prepare( + "SELECT CASE new_gedcom WHEN '' THEN old_gedcom ELSE new_gedcom END AS gedcom". + " FROM {$TBLPREFIX}change". + " WHERE (xref, change_id) IN (". + " SELECT xref, MAX(change_id)". + " FROM {$TBLPREFIX}change". + " WHERE status='pending' AND gedcom_id=?". + " GROUP BY xref". + " )" + )->execute(array(WT_GED_ID))->fetchAll(); $list=array(); - foreach ($pgv_changes as $changes) { - $change=end($changes); - if ($change["gedcom"]==$GEDCOM) { - switch ($change["type"]) { - case "replace": - // Update - show the latest version of the record - $list[]=new GedcomRecord($change["undo"]); - break; - case "delete": - // Delete - show the last accepted version of the record - $list[]=GedcomRecord::getInstance($change["gid"]); - break; - } - } + foreach ($rows as $row) { + $list[]=new GedcomRecord($row->gedcom); } break; case "individual": |
