summaryrefslogtreecommitdiff
path: root/includes/classes/class_reportbase.php
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2010-04-19 21:02:09 +0000
committerfisharebest <fisharebest@gmail.com>2010-04-19 21:02:09 +0000
commit1bea948b6991f5825b1dccff120b283a0cb70f27 (patch)
tree3887788f61745db5ab3674cae4127c311d8329ed /includes/classes/class_reportbase.php
parentfe7cda0b409e31b7055889ee6a1acef6eafc9947 (diff)
downloadwebtrees-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.php28
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":