summaryrefslogtreecommitdiff
path: root/reportengine.php
diff options
context:
space:
mode:
Diffstat (limited to 'reportengine.php')
-rw-r--r--reportengine.php34
1 files changed, 18 insertions, 16 deletions
diff --git a/reportengine.php b/reportengine.php
index 3fcc468b01..930ee3594b 100644
--- a/reportengine.php
+++ b/reportengine.php
@@ -65,24 +65,26 @@ function get_tag_values($tag) {
$newvars = array();
foreach ($vars as $name=>$var) {
$newvars[$name]['id'] = $var;
- if (!empty($type[$name]) && (($type[$name]=='INDI') || ($type[$name]=='FAM') || ($type[$name]=='SOUR'))) {
- $record = WT_GedcomRecord::getInstance($var);
- if (!$record) {
- $action='setup';
+ if (!empty($type[$name])) {
+ switch ($type[$name]) {
+ case 'INDI':
+ $record = WT_Individual::getInstance($var);
+ break;
+ case 'FAM':
+ $record = WT_Family::getInstance($var);
+ break;
+ case 'SOUR':
+ $record = WT_Source::getInstance($var);
+ break;
+ default:
+ $record = null;
+ break;
}
- $gedcom = $record->getGedcom();
- // If we wanted a FAM, and were given an INDI, look for a spouse
- if ($type[$name]=='FAM' && $record instanceof WT_Individual) {
- $tmp = false;
- foreach ($record->getSpouseFamilies() as $family) {
- $gedcom = $family->getGedcom();
- $tmp = true;
- }
- if (!$tmp) {
- $action='setup';
- }
+ if ($record && $record->canShowName()) {
+ $newvars[$name]['gedcom'] = $record->privatizeGedcom(WT_USER_ACCESS_LEVEL);
+ } else {
+ $action = 'setup';
}
- $newvars[$name]['gedcom'] = $gedcom;
}
}
$vars = $newvars;