diff options
| author | Greg Roach <fisharebest@gmail.com> | 2013-12-30 17:39:45 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2013-12-30 17:39:45 +0000 |
| commit | 04efc542b4623fa414cb1178a4390890ec5fc31a (patch) | |
| tree | c887d7c556c2e346c7a935f26c49bed42e04fc7e | |
| parent | d68c5d2556610dd3f84e5c07ea8accfa8a6f1d21 (diff) | |
| download | webtrees-04efc542b4623fa414cb1178a4390890ec5fc31a.tar.gz webtrees-04efc542b4623fa414cb1178a4390890ec5fc31a.tar.bz2 webtrees-04efc542b4623fa414cb1178a4390890ec5fc31a.zip | |
Issue #64 - validation of report parameters
| -rw-r--r-- | reportengine.php | 34 |
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; |
