diff options
| author | Łukasz Wilenski <wooc@gazeta.pl> | 2010-12-27 22:46:06 +0000 |
|---|---|---|
| committer | Łukasz Wilenski <wooc@gazeta.pl> | 2010-12-27 22:46:06 +0000 |
| commit | 246d092d74f0968db839d170ab9076da2ef1a84d (patch) | |
| tree | be3e237a3c825b641a1904ed9c5e24aa7dd8d7cf | |
| parent | 35b897a2e06b705b6163042139a2d38481c45a11 (diff) | |
| download | webtrees-246d092d74f0968db839d170ab9076da2ef1a84d.tar.gz webtrees-246d092d74f0968db839d170ab9076da2ef1a84d.tar.bz2 webtrees-246d092d74f0968db839d170ab9076da2ef1a84d.zip | |
fix some source bugs
don't display IDs
add new reports
| -rw-r--r-- | modules/ancestry_report/module.php | 71 | ||||
| -rw-r--r-- | modules/ancestry_report/report.xml | 582 | ||||
| -rw-r--r-- | modules/fact_sources/module.php | 63 | ||||
| -rw-r--r-- | modules/fact_sources/report.xml (renamed from modules/source_report/report_s.xml) | 241 | ||||
| -rw-r--r-- | modules/missing_facts_report/report.xml | 2 | ||||
| -rw-r--r-- | modules/source_report/module.php | 9 | ||||
| -rw-r--r-- | modules/source_report/report.xml | 243 |
7 files changed, 961 insertions, 250 deletions
diff --git a/modules/ancestry_report/module.php b/modules/ancestry_report/module.php new file mode 100644 index 0000000000..f032b958af --- /dev/null +++ b/modules/ancestry_report/module.php @@ -0,0 +1,71 @@ +<?php +/** + * Classes and libraries for module system + * + * webtrees: Web based Family History software + * Copyright (C) 2010 webtrees development team. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * @package webtrees + * @subpackage Modules + * @version $Id$ + */ + +if (!defined('WT_WEBTREES')) { + header('HTTP/1.0 403 Forbidden'); + exit; +} +require_once WT_ROOT.'includes/classes/class_module.php'; + +class ancestry_report_WT_Module extends WT_Module implements WT_Module_Report { + // Extend class WT_Module + public function getTitle() { + return i18n::translate('Ancestry Report'); + } + + // Extend class WT_Module + public function getDescription() { + return i18n::translate('Prints an Ancestral report for the selected individual'); + } + + // Extend class WT_Module + public function defaultAccessLevel() { + return WT_PRIV_PUBLIC; + } + + // Implement WT_Module_Report - a module can provide many reports + public function getReportMenus() { + global $controller, $WT_IMAGES, $TEXT_DIRECTION; + + if ($TEXT_DIRECTION=="rtl") $ff="_rtl"; else $ff=""; + + if ($controller && isset($controller->pid)) { + $pid='&pid='.$controller->pid; + } elseif ($controller && isset($controller->rootid)) { + $pid='&pid='.$controller->rootid; + } else { + $pid=''; + } + + $menus=array(); + $menu=new Menu($this->getTitle(), 'reportengine.php?ged='.WT_GEDURL.'&action=setup&report=modules/'.$this->getName().'/report.xml'.$pid); + $menu->addIcon('ancestry'); + $menu->addClass("submenuitem$ff", "submenuitem_hover$ff", "submenu$ff", "icon_small_reports"); + $menus[]=$menu; + + return $menus; + } +} diff --git a/modules/ancestry_report/report.xml b/modules/ancestry_report/report.xml new file mode 100644 index 0000000000..4521230e9c --- /dev/null +++ b/modules/ancestry_report/report.xml @@ -0,0 +1,582 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Report> +<!-- $Id$ --> + <Title><var var="i18n::translate('Ancestry Report')" /></Title> + <Description>Prints an Ancestral report for the selected individual</Description> + <Input name="pid" lookup="INDI" type="text" default=""><var var="i18n::translate('Enter Individual ID')" /></Input> + <Input name="maxgen" type="select" options="3=>3|4=>4|5=>5|6=>6|7=>7|8=>8|9=>9|*=>*"><var var="i18n::translate('Generations')" /></Input> + <Input name="sources" type="checkbox" default="1"><var var="i18n::translate('Show sources?')" /></Input> + <Input name="notes" type="checkbox" default="1"><var var="i18n::translate('Show notes?')" /></Input> + <Input name="pageSize" type="select" default="A4" options="letter=>i18n::translate_c('paper size','Letter')|A3=>i18n::translate_c('paper size', 'A3')|A4=>i18n::translate_c('paper size','A4')|legal=>i18n::translate_c('paper size','Legal')"><var var="i18n::translate('Page size')" /></Input> + <Input name="fonts" type="select" default="dejavusans" options="arialunicid0=>i18n::translate_c('font name', 'Arial')|dejavusans=>i18n::translate_c('font name', 'DejaVu')|helvetica=>i18n::translate_c('font name', 'Helvetica')"><var var="i18n::translate('Font')"/></Input> + + <!-- Header --> + <Style name="header" font="$fonts" size="18"/> + <!-- Page numbers text --> + <Style name="pagenum" font="$fonts" size="8"/> + <!-- Standard text --> + <Style name="text" font="$fonts" size="9"/> + <!-- Source text - FootnoteTexts - required style name by the generator --> + <Style name="footnote" font="$fonts" size="8"/> + <!-- Links to sources - required style name by the generator --> + <Style name="footnotenum" font="$fonts" size="7"/> + <!-- Generated by style - required style name by the generator --> + <Style name="genby" font="$fonts" size="8" /> + <!-- Date text --> + <Style name="date" font="$fonts" size="8"/> + <!-- Note Text --> + <Style name="note" font="$fonts" size="9"/> + <Style name="subheader" font="$fonts" size="12" style="b" /> + <Style name="label1" font="$fonts" size="8"/> + <Style name="label2" font="$fonts" size="10"/> + <Style name="name" font="$fonts" size="9"/> + + <SetVar name="num" value="1" /> + <SetVar name="empty_name" value="f" /> + <SetVar name="empty_start_value" value="0" /> + <SetVar name="generation" value="0" /> + <!-- New Page for Sources controller if SOUR exist --> + <SetVar name="source_exist" value="0" /> + <SetVar name="nametokeep" value=" " /> + <SetVar name="individual" value=" " /> + <SetVar name="spouse" value="" /> + <SetVar name="personNumber" value="1" /> + <SetVar name="childNumber" value="1" /> + + <Doc pageSize="$pageSize" orientation="P" margin="24"> + <Header> + <Cell align="center" height="30" newline="1" style="header"><var var="i18n::translate('Ancestry Report for ')" /><GetPersonName id="$pid" /></Cell> + <Cell align="rightrtl" newline="1" style="pagenum"><var var="i18n::translate('Page')" /> <PageNum /> <var var="i18n::translate('of')" /> <TotalPages /></Cell> + </Header> + <Body> + <Relatives id="$pid" group="direct-ancestors" sortby="none" maxgen="$maxgen" showempty="true"> + <SetVar name="gender" value="m" /> + <if condition="@SEX=='F'"> + <SetVar name="gender" value="f" /> + </if> + <if condition="$generation!=@generation"> + <if condition="$empty_name=='t'" > + <TextBox width="50" height="20"> + <SetVar name="empty_end_value" value="$num-1" /> + <Text style="text"><var var="empty_start_value" />-<var var="empty_end_value" />.</Text> + </TextBox> + <TextBox width="475" height="12" newline="1" > + <Text style="text"><br /></Text> + </TextBox> + <TextBox width="25" height="20" newline="1"> + <Text style="text"><br /></Text> + </TextBox> + <SetVar name="empty_start_value" value="$num" /> + </if> + <Cell align="center" height="30" newline="1" style="subheader"><var var="i18n::translate('Generation ')" /><Generation /></Cell> + <SetVar name="generation" value="@generation" /> + </if> + <SetVar name="indiname" value="@NAME" /> + <if condition="$indiname==''"> + <if condition="$empty_name=='f'"> + <SetVar name="empty_name" value="t" /> + <SetVar name="empty_start_value" value="$num" /> + </if> + </if> + <if condition="$indiname!=''"> + <if condition="$empty_name=='t'" > + <TextBox width="50" height="20"> + <SetVar name="empty_end_value" value="$num-1" /> + <Text style="text"><var var="empty_start_value" />-<var var="empty_end_value" />.</Text> + </TextBox> + <TextBox width="475" height="12" newline="1"> + <Text style="text"><br /></Text> + </TextBox> + <TextBox width="25" height="20" newline="1"> + <Text style="text"><br /></Text> + </TextBox> + <SetVar name="empty_name" value="f" /> + </if> + + <!-- Generation counter --> + <TextBox width="25" height="30"> + <Text style="text"><var var="num" />.</Text> + </TextBox> + + <!-- Sentence 1 + Individual, name... --> + <TextBox height="12" newline="1"> + <Text style="name"><GetPersonName id="" /> </Text> + <if condition="$sources==1"> + <!-- print level 1 sources --> + <RepeatTag tag="SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + <!-- print level 2 sources attached to NAME --> + <RepeatTag tag="NAME:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1" /> + </RepeatTag> + </if> + <!-- Individual, birth... --> + <Gedcom id="BIRT"> + <Text style="text"> + <if condition="$gender=='m'"> + <var var="i18n::translate_c('MALE', 'was born')" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate_c('FEMALE', 'was born')" /> + </if> + </Text> + <if condition="$sources==1"> + <RepeatTag tag="BIRT:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <if condition="@DATE!=''"> + <Text style="text"><var var=" " /> <GedcomValue tag="DATE" level="2" /></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="text"><var var="i18n::translate(' in ')" /> <GedcomValue tag="PLAC" level="2" /></Text> + </if> + <if condition="(@desc=='Y') or (@DATE=='' and @PLAC=='')"> + <Text style="text"><var var="i18n::translate(' but the details are unknown')" /></Text> + </if> + <Text style="text">.</Text> + </Gedcom> + + <!-- Sentence 2 + Individual, christened... --> + <Gedcom id="CHR"> + <Text style="text"> + <if condition="$gender=='m'"> + <var var="i18n::translate('He was christened')" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate('She was christened')" /> + </if> + </Text> + <if condition="$sources==1"> + <RepeatTag tag="CHR:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <if condition="@DATE!=''"> + <Text style="text"><var var=" " /> <GedcomValue tag="DATE" level="2" /></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="text"><var var="i18n::translate(' in ')" /> <GedcomValue tag="PLAC" level="2" /></Text> + </if> + <if condition="(@desc=='Y') or (@DATE=='' and @PLAC=='')"> + <Text style="text"><var var="i18n::translate(' but the details are unknown')" /></Text> + </if> + <Text style="text">.</Text> + </Gedcom> + <!-- Individual, occupation... --> + <Gedcom id="OCCU"> + <Text style="text"> + <if condition="$gender=='m'"> + <var var="i18n::translate('He was a')" /> <GedcomValue tag="OCCU" level="1" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate('She was a')" /> <GedcomValue tag="OCCU" level="1" /> + </if> + </Text> + <if condition="$sources==1"> + <RepeatTag tag="OCCU:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <if condition="@DATE!=''"> + <Text style="text"><var var=" " /> <GedcomValue tag="DATE" level="2" /></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="text"><var var="i18n::translate(' in ')" /> <GedcomValue tag="PLAC" level="2" /></Text> + </if> + <if condition="(@desc=='Y') or (@DATE=='' and @PLAC=='')"> + <Text style="text"><var var="i18n::translate(' but the details are unknown')" /></Text> + </if> + <Text style="text">.</Text> + </Gedcom> + <!-- Individual, residence... --> + <Gedcom id="RESI"> + <Text style="text"> + <if condition="$gender=='m'"> + <var var="i18n::translate('He lived')" /> <GedcomValue tag="RESI" level="1" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate('She lived')" /> <GedcomValue tag="RESI" level="1" /> + </if> + </Text> + <if condition="$sources==1"> + <RepeatTag tag="RESI:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <if condition="@DATE!=''"> + <Text style="text"><var var=" " /> <GedcomValue tag="DATE" level="2" /></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="text"><var var="i18n::translate(' in ')" /> <GedcomValue tag="PLAC" level="2" /></Text> + </if> + <if condition="(@desc=='Y') or (@DATE=='' and @PLAC=='')"> + <Text style="text"><var var="i18n::translate(' but the details are unknown')" /></Text> + </if> + <Text style="text">.</Text> + </Gedcom> + <SetVar name="cpid" value="@ID" /> + <if condition="$cpid!=$spid"> + <Gedcom id="@FAMS"> + <if condition="$cpid==@HUSB"> + <SetVar name="spid" value="@WIFE" /> + </if> + <if condition="$cpid==@WIFE"> + <SetVar name="spid" value="@HUSB" /> + </if> + <Gedcom id="MARR"> + <if condition="$spid!='' and @DATE!='' and @PLAC!=''"> + <Text style="text"><br /> + <if condition="$gender=='m'"> + <var var="i18n::translate('He married')" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate('She married')" /> + </if> + </Text> + <if condition="$sources==1"> + <RepeatTag tag="MARR:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <if condition="$spid!=''"> + <Text style="text"> <GetPersonName id="$spid" /></Text> + </if> + <Text style="text"> <var var=" " /></Text> + <if condition="@DATE!=''"> + <Text style="text"><var var=" " /> <GedcomValue tag="DATE" level="2" /><if condition="@PLAC==''"> </if></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="text"><var var="i18n::translate(' in ')" /> <GedcomValue tag="PLAC" level="2" /></Text> + </if> + <if condition="((@desc=='Y') or (@DATE=='' and @PLAC=='')) and ($spid=='')"> + <Text style="text"><var var="i18n::translate(' but the details are unknown')" /></Text> + </if> + <Text style="text">.</Text> + </if> + </Gedcom> + </Gedcom> + </if> + <Gedcom id="DEAT"> + <Text style="text"><br /> + <if condition="$gender=='m'"> + <var var="i18n::translate('He died')" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate('She died')" /> + </if> + </Text> + <if condition="$sources==1"> + <RepeatTag tag="DEAT:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <if condition="@DATE!=''"> + <Text style="text"><var var=" " /> <GedcomValue tag="DATE" level="2" /></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="text"><var var="i18n::translate(' in ')" /> <GedcomValue tag="PLAC" level="2" /></Text> + </if> + <if condition="(@desc=='Y') or (@DATE=='' and @PLAC=='')"> + <Text style="text"><var var="i18n::translate(' but the details are unknown')" /></Text> + </if> + <Text style="text">. </Text> + </Gedcom> + <Gedcom id="CREM"> + <Text style="text"><br /> + <if condition="$gender=='m'"> + <var var="i18n::translate('He was cremated')" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate('She was cremated')" /> + </if> + </Text> + <if condition="$sources==1"> + <RepeatTag tag="CREM:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <if condition="@DATE!=''"> + <Text style="text"><var var=" " /> <GedcomValue tag="DATE" level="2" /></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="text"><var var="i18n::translate(' in ')" /> <GedcomValue tag="PLAC" level="2" /></Text> + </if> + <if condition="(@desc=='Y') or (@DATE=='' and @PLAC=='')"> + <Text style="text"><var var="i18n::translate(' but the details are unknown')" /></Text> + </if> + <Text style="text">. </Text> + </Gedcom> + <Gedcom id="BURI"> + <!-- Look for Level 2 CREM subordinate to BURI (should have been at Level 1) --> + <RepeatTag tag="BURI:CREM"> + <if condition="$gender=='m'"> + <var var="i18n::translate('He was cremated')" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate('She was cremated')" /> + </if> + <Text style="text">.</Text> + </RepeatTag> + <!-- Now for the real BURI information --> + <Text style="text"> + <if condition="$gender=='m'"> + <var var="i18n::translate('He was buried')" /> + </if> + <if condition="$gender=='f'"> + <var var="i18n::translate('She was buried')" /> + </if> + </Text> + <if condition="$sources==1"> + <RepeatTag tag="BURI:SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <if condition="@DATE!=''"> + <Text style="text"><var var=" " /> <GedcomValue tag="DATE" level="2" /></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="text"><var var="i18n::translate(' in ')" /> <GedcomValue tag="PLAC" level="2" /></Text> + </if> + <if condition="(@desc=='Y') or (@DATE=='' and @PLAC=='')"> + <Text style="text"><var var="i18n::translate(' but the details are unknown')" /></Text> + </if> + <Text style="text">.</Text> + </Gedcom> + </TextBox> + <if condition="$notes==1"> + <RepeatTag tag="NOTE"> + <TextBox height="3" newline="1" padding="0"/> + <Cell height="12" left="30" newline="1" style="note"><GedcomValue tag="NOTE"/></Cell> + </RepeatTag> + </if> + <TextBox height="10" newline="1" padding="0"/> + </if> + <SetVar name="num" value="$num+1" /> + <!-- this section gets the children.--> + <RepeatTag tag="FAMS"> + <SetVar name="individual" value="$cpid" /> + <SetVar name="spouse" value="$spid" /> + <Gedcom id="@FAMS"> + <if condition="@CHIL!=''"> + <SetVar name="numberOfChildren" value="0" /> + <RepeatTag tag="CHIL"> + <Gedcom id="@CHIL"> + <SetVar name="numberOfChildren" value="$numberOfChildren+1" /> + </Gedcom> + </RepeatTag> + <if condition="$individual == $spouse"> + <TextBox height="20" left="25" newline="1"> + <if condition="$numberOfChildren==1"> + <Text style="label1"><var var="i18n::translate('Child of ')" /></Text> + </if> + <if condition="$numberOfChildren>1"> + <Text style="label1"><var var="i18n::translate('Children of ')" /></Text> + </if> + <Text style="name"><GetPersonName id="@HUSB" /></Text> + <Text style="label1"> <var var="i18n::translate('and')" /> </Text> + <Text style="name"><GetPersonName id="@WIFE" /></Text> + <Text style="label1">:</Text> + </TextBox> + <SetVar name="familyChildNumber" value ="1" /> + <RepeatTag tag="CHIL"> + <Gedcom id="@CHIL"> + <if condition="$familyChildNumber==1"><SetVar name="familyChildRoman" value="i" /></if> + <if condition="$familyChildNumber==2"><SetVar name="familyChildRoman" value="ii" /></if> + <if condition="$familyChildNumber==3"><SetVar name="familyChildRoman" value="iii" /></if> + <if condition="$familyChildNumber==4"><SetVar name="familyChildRoman" value="iv" /></if> + <if condition="$familyChildNumber==5"><SetVar name="familyChildRoman" value="v" /></if> + <if condition="$familyChildNumber==6"><SetVar name="familyChildRoman" value="vi" /></if> + <if condition="$familyChildNumber==7"><SetVar name="familyChildRoman" value="vii" /></if> + <if condition="$familyChildNumber==8"><SetVar name="familyChildRoman" value="viii" /></if> + <if condition="$familyChildNumber==9"><SetVar name="familyChildRoman" value="ix" /></if> + <if condition="$familyChildNumber==10"><SetVar name="familyChildRoman" value="x" /></if> + <if condition="$familyChildNumber==11"><SetVar name="familyChildRoman" value="xi" /></if> + <if condition="$familyChildNumber==12"><SetVar name="familyChildRoman" value="xii" /></if> + <if condition="$familyChildNumber==13"><SetVar name="familyChildRoman" value="xiii" /></if> + <if condition="$familyChildNumber==14"><SetVar name="familyChildRoman" value="xiv" /></if> + <if condition="$familyChildNumber==15"><SetVar name="familyChildRoman" value="xv" /></if> + <if condition="$familyChildNumber==16"><SetVar name="familyChildRoman" value="xvi" /></if> + <if condition="$familyChildNumber==17"><SetVar name="familyChildRoman" value="xvii" /></if> + <if condition="$familyChildNumber==18"><SetVar name="familyChildRoman" value="xviii" /></if> + <if condition="$familyChildNumber==19"><SetVar name="familyChildRoman" value="xix" /></if> + <if condition="$familyChildNumber==20"><SetVar name="familyChildRoman" value="xx" /></if> + <TextBox left="25" height="20" newline="1"> + <Text style="label1"><var var="familyChildRoman" /></Text> + <Text style="name"> <GetPersonName id="" /> </Text> + <if condition="$sources==1"> + <RepeatTag tag="SOUR"> + <Footnote> + <Gedcom id="@SOUR"> + <if condition="@AUTH!=''"><GedcomValue tag="AUTH" />, </if> + «<GedcomValue tag="TITL" />» + <if condition="@PUBL!=''"> (<GedcomValue tag="PUBL" />)</if> + </Gedcom> + <if condition="@PAGE!=''">: <GedcomValue tag="SOUR:PAGE" /></if> + <GedcomValue tag="SOUR:DATA:TEXT" /> + </Footnote> + <SetVar name="source_exist" value="1"/> + </RepeatTag> + </if> + <Gedcom id="BIRT"> + <Text style="label1"> + <varLetter var="BIRT" />:<GedcomValue tag="DATE" level="2"/> <GedcomValue tag="PLAC" level="2"/></Text> + </Gedcom> + <SetVar name="showMarriage" value="T" /> + <RepeatTag tag="FAMS"> + <Gedcom id="@FAMS:@CHIL"> + <SetVar name="showMarriage" value="F" /> + </Gedcom> + </RepeatTag> + <if condition="$showMarriage=='T'"> + <if condition="@SEX=='M'"> + <SetVar name="gender" value="male" /> + </if> + <if condition="@SEX=='F'"> + <SetVar name="gender" value="female" /> + </if> + <RepeatTag tag="FAMS"> + <Gedcom id="@FAMS"> + <Text style="label1"> <varLetter var="MARR" />: </Text> + <if condition="$gender=='male'"> + <Text style="name"><GetPersonName id="@WIFE" /></Text> + </if> + <if condition="$gender=='female'"> + <Text style="name"><GetPersonName id="@HUSB" /></Text> + </if> + <Gedcom id="MARR"> + <if condition="@DATE!=''"> + <Text style="label1">, <GedcomValue tag="DATE" level="2" /></Text> + </if> + <if condition="@PLAC!=''"> + <Text style="label1">, <GedcomValue tag="PLAC" level="2" /></Text> + </if> + </Gedcom> + </Gedcom> + </RepeatTag> + </if> + <Gedcom id="DEAT"> + <Text style="label1"> + <varLetter var="DEAT" />: + <GedcomValue tag="DATE" level="2"/> + <GedcomValue tag="PLAC" level="2"/> + </Text> + </Gedcom> + </TextBox> + </Gedcom> + <SetVar name="familyChildNumber" value="$familyChildNumber+1" /> + </RepeatTag> + </if> + </if> + </Gedcom> + </RepeatTag> + <SetVar name="personNumber" value="$personNumber + 1" /> + <TextBox height="10" newline="1" padding="0"/> + </Relatives> + <!-- if the sources were on, print the source citations as footnotes --> + <if condition="$source_exist==1"> + <NewPage/> + <TextBox width="$width" height="20" newline="1"> + <Text style="subheader"><var var="i18n::translate('Sources')" /><br /><br /></Text> + <FootnoteTexts /> + </TextBox> + </if> + </Body> + <Footer> + <Cell align="rightrtl" style="date"><Now /></Cell> + </Footer> + </Doc> +</Report> diff --git a/modules/fact_sources/module.php b/modules/fact_sources/module.php new file mode 100644 index 0000000000..ad7dda6b0f --- /dev/null +++ b/modules/fact_sources/module.php @@ -0,0 +1,63 @@ +<?php +/** + * Classes and libraries for module system + * + * webtrees: Web based Family History software + * Copyright (C) 2010 webtrees development team. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * @package webtrees + * @subpackage Modules + * @version $Id$ + */ + +if (!defined('WT_WEBTREES')) { + header('HTTP/1.0 403 Forbidden'); + exit; +} +require_once WT_ROOT.'includes/classes/class_module.php'; + +class fact_sources_WT_Module extends WT_Module implements WT_Module_Report { + // Extend class WT_Module + public function getTitle() { + return i18n::translate('Fact Sources'); + } + + // Extend class WT_Module + public function getDescription() { + return i18n::translate('Prints a list of individuals and families with a specific source for facts or records'); + } + + // Extend class WT_Module + public function defaultAccessLevel() { + return WT_PRIV_USER; + } + + // Implement WT_Module_Report - a module can provide many reports + public function getReportMenus() { + global $WT_IMAGES, $TEXT_DIRECTION; + + if ($TEXT_DIRECTION=="rtl") $ff="_rtl"; else $ff=""; + + $menus=array(); + $menu=new Menu($this->getTitle(), 'reportengine.php?ged='.WT_GEDURL.'&action=setup&report=modules/'.$this->getName().'/report.xml'); + $menu->addIcon('menu_source'); + $menu->addClass("submenuitem$ff", "submenuitem_hover$ff", "submenu$ff", "icon_small_reports"); + $menus[]=$menu; + + return $menus; + } +} diff --git a/modules/source_report/report_s.xml b/modules/fact_sources/report.xml index 8e4225c545..6f7a5ca6cc 100644 --- a/modules/source_report/report_s.xml +++ b/modules/fact_sources/report.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <Report> <!-- $Id$ --> - <Title><var var="i18n::translate('Sources Report')" /></Title> - <Description>Prints a list of individuals and families with a specific source</Description> + <Title><var var="i18n::translate('Fact Sources')" /></Title> + <Description>Prints a list of individuals and families with a specific source for facts or records</Description> <Input name="sid" lookup="SOUR" default="" type="text"><var var="i18n::translate('Find Source ID')" /></Input> - <Input name="sortby" type="select" default="BIRT:DATE" options="NAME=>i18n::translate('Name')|BIRT:DATE=>i18n::translate('Date of birth')|DEAT:DATE=>i18n::translate('Date of death')"><var var="i18n::translate('Sort by')" /></Input> + <Input name="stype" type="select" default="facts" options="facts=>i18n::translate('facts')|records=>i18n::translate('records')"><var var="i18n::translate('Source type')" /></Input> + <Input name="sortby" type="select" default="BIRT:DATE" options="NAME=>i18n::translate('Name')|BIRT:DATE=>i18n::translate('Date of birth')"><var var="i18n::translate('Sort by')" /></Input> <Input name="pageSize" type="select" default="A4" options="letter=>i18n::translate_c('paper size','Letter')|A3=>i18n::translate_c('paper size', 'A3')|A4=>i18n::translate_c('paper size','A4')|legal=>i18n::translate_c('paper size','Legal')"><var var="i18n::translate('Page size')" /></Input> <Input name="fonts" type="select" default="dejavusans" options="arialunicid0=>i18n::translate_c('font name', 'Arial')|dejavusans=>i18n::translate_c('font name', 'DejaVu')|helvetica=>i18n::translate_c('font name', 'Helvetica')"><var var="i18n::translate('Font')"/></Input> @@ -26,15 +27,15 @@ <!-- List values - CSS Style name --> <Style name="list_value" font="$fonts" size="8"/> - <SetVar name="nameindi" value="194" /> - <SetVar name="namefam" value="300" /> + <SetVar name="nameindi" value="200" /> + <SetVar name="datebirth" value="120" /> + <SetVar name="namefam" value="$nameindi + $datebirth" /> + <SetVar name="fact" value="100" /> <SetVar name="dateevent" value="110" /> - <SetVar name="fact" value="110" /> - <SetVar name="age" value="38" /> - <SetVar name="placeevent" value="107" /> <SetVar name="vspace" value="5" /> <SetVar name="printedsource" value="0" /> - <SetVar name="ignore" value="CHAN,CHIL,FAMC,FAMS,HUSB,NAME,NOTE,OBJE,RESN,SEX,SOUR,TITL,WIFE,_UID,_WT_OBJE_SORT"/> + <SetVar name="moresourcespaceindi" value="$nameindi + $datebirth" /> + <SetVar name="ignore" value="CHAN,CHIL,FAMC,FAMS,HUSB,OBJE,RESN,SEX,SOUR,TITL,WIFE,_UID,_WT_OBJE_SORT"/> <Doc pageSize="$pageSize" orientation="landscape"> <Header> @@ -46,8 +47,8 @@ </Gedcom> </Header> - <Line /> <Body> + <if condition="$stype=='facts'"> <!-- List type --> <Cell align="center" newline="1" style="listtype"><var var="i18n::translate('Individuals')" /></Cell> <TextBox height="$vspace" newline="1" padding="0"/> @@ -63,18 +64,11 @@ <if condition="$sortby=='BIRT:DATE'"> <SetVar name="fill" value="#AAAAAA" /> </if> - <Cell bgcolor="$fill" border="1" style="list_label" width="$dateevent"><var var="translate_fact('BIRT:DATE')" /></Cell> - <!-- Birth place --> - <Cell border="1" style="list_label" width="$placeevent"><var var="translate_fact('BIRT:PLAC')" /></Cell> - <!-- Death date --> - <SetVar name="fill" value="" /> - <if condition="$sortby=='DEAT:DATE'"> - <SetVar name="fill" value="#AAAAAA" /> - </if> - <Cell bgcolor="$fill" border="1" style="list_label" width="$dateevent"><var var="translate_fact('DEAT:DATE')" /></Cell> - <Cell border="1" style="list_label" width="$age"><var var="translate_fact('AGE')" /></Cell> - <!-- Death place --> - <Cell border="1" style="list_label" width="$placeevent"><var var="translate_fact('DEAT:PLAC')" /></Cell> + <Cell bgcolor="$fill" border="1" style="list_label" width="$datebirth"><var var="translate_fact('BIRT:DATE')" /></Cell> + <!-- Name of the fact that contains the source --> + <Cell border="1" style="list_label" width="$fact"><var var="i18n::translate('Event')" /></Cell> + <!-- Date of the fact --> + <Cell border="1" style="list_label" width="$dateevent"><var var="translate_fact('DATE')" /></Cell> <!-- Detailed source text --> <Cell border="1" newline="1" style="list_label"><var var="translate_fact('SOUR:PAGE')" /></Cell> <TextBox height="$vspace" newline="1" padding="0"/> @@ -85,21 +79,11 @@ <SetVar name="printsource" value="0" /> <!-- Printed List counter --> <SetVar name="printedsource" value="$printedsource + 1" /> + <!-- Individual Name --> - <Cell style="list_value" width="$nameindi"><GetPersonName id="" /> - <Gedcom id="@FAMC"> - <br /> <var var="i18n::translate('Father')" />: <GetPersonName id="@HUSB"/> - <br /> <var var="i18n::translate('Mother')" />: <GetPersonName id="@WIFE"/> - </Gedcom> - </Cell> - <!-- Birth --> - <Cell style="list_value" width="$dateevent"><GedcomValue tag="BIRT:DATE" /></Cell> - <Cell style="list_value" width="$placeevent"><GedcomValue tag="BIRT:PLAC" /></Cell> - <!-- Death --> - <Cell style="list_value" width="$dateevent"><GedcomValue tag="DEAT:DATE"/></Cell> - <Cell style="list_value" width="$age"><AgeAtDeath /></Cell> - <Cell style="list_value" width="$placeevent"><GedcomValue tag="DEAT:PLAC" /></Cell> - <Cell style="list_value" newline="1"> + <Cell style="list_value" width="$nameindi"><GetPersonName id="" /></Cell> + <!-- Birth date --> + <Cell style="list_value" width="$datebirth"><GedcomValue tag="BIRT:DATE" /></Cell> <Facts ignore="$ignore"> <SetVar name="printfact" value="0" /> <RepeatTag tag="@fact:SOUR"> @@ -109,41 +93,47 @@ </if> </Gedcom> </RepeatTag> + <if condition="$printfact==1"> <SetVar name="printsource" value="0" /> - <!-- Intend the fact line if more then one fact has source --> + <!-- Indent the fact line if more then one fact has source --> <if condition="$moresource==1"> - <br /> + <Cell style="list_value" width="$moresourcespaceindi"> </Cell> </if> + + <!-- Name of the fact that contains the source --> + <Cell style="list_value" width="$fact"><var var="@fact" /></Cell> + <!-- Date of the fact --> + <Cell style="list_value" width="$dateevent"><GedcomValue tag="@fact:DATE"/></Cell> <!-- Detailed source text --> - <RepeatTag tag="@fact:SOUR"> - <Gedcom id="@SOUR"> - <if condition="@ID==$sid"> - <SetVar name="printsource" value="1" /> - </if> - </Gedcom> - <if condition="$printsource==1"> - <if condition="@fact=='CHR'"> - <varLetter var="BIRT" /> <GedcomValue tag="SOUR:PAGE"/> - <if condition="@SOUR:DATA:TEXT!=''"> - <br /><GedcomValue tag="SOUR:DATA:TEXT"/> + <Cell style="list_value" newline="1"> + <SetVar name="repeatedSource" value="0" /> + <RepeatTag tag="@fact:SOUR"> + <Gedcom id="@SOUR"> + <if condition="@ID==$sid"> + <SetVar name="printsource" value="1" /> </if> - </if> - <if condition="@fact=='BURI'"> - <varLetter var="DEAT" /> <GedcomValue tag="SOUR:PAGE"/> + </Gedcom> + <if condition="$printsource==1"> + <if condition="$repeatedSource==1">; </if> + <if condition="@SOUR:PAGE!='' or @SOUR:DATA:TEXT!=''"> + <SetVar name="repeatedSource" value="1" /> + </if> + <GedcomValue tag="SOUR:PAGE"/> <if condition="@SOUR:DATA:TEXT!=''"> - <br /><GedcomValue tag="SOUR:DATA:TEXT"/> + <if condition="@SOUR:PAGE!=''"> + <br /> + </if> + <GedcomValue tag="SOUR:DATA:TEXT" /> </if> + <SetVar name="printsource" value="0" /> </if> - <SetVar name="printsource" value="0" /> - </if> - </RepeatTag> + </RepeatTag> + </Cell> <SetVar name="moresource" value="1" /> </if> <SetVar name="printfact" value="0" /> </Facts> - </Cell> - <Line /> </List> <!-- Print the list counter --> @@ -154,6 +144,7 @@ <TextBox height="$vspace" newline="1" padding="0"/> <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total individuals')"/>: <var var="printedsource" /></Cell> </if> + <NewPage /> <!-- Family List --> <TextBox height="$vspace" newline="1" padding="0"/> @@ -165,8 +156,6 @@ <Cell border="1" style="list_label" width="$fact"><var var="i18n::translate('Event')" /></Cell> <!-- Date of the fact --> <Cell bgcolor="#AAAAAA" border="1" style="list_label" width="$dateevent"><var var="translate_fact('DATE')" /></Cell> - <!-- Date of the fact --> - <Cell border="1" style="list_label" width="$placeevent"><var var="translate_fact('PLAC')" /></Cell> <!-- Detailed source text --> <Cell border="1" newline="1" style="list_label"><var var="translate_fact('SOUR:PAGE')" /></Cell> @@ -180,14 +169,7 @@ <SetVar name="printedsource" value="$printedsource + 1" /> <!-- Family Name --> - <Cell style="list_value" width="$namefam"><GetPersonName id="" /> - <Gedcom id="@HUSB:@FAMC"> - <br /> <var var="i18n::translate('Husband\'s parents')" />: <GetPersonName id=""/> - </Gedcom> - <Gedcom id="@WIFE:@FAMC"> - <br /> <var var="i18n::translate('Wife\'s parents')" />: <GetPersonName id=""/> - </Gedcom> - </Cell> + <Cell style="list_value" width="$namefam"><GetPersonName id="" /></Cell> <Facts ignore="$ignore"> <SetVar name="printfact" value="0" /> <RepeatTag tag="@fact:SOUR"> @@ -200,7 +182,7 @@ <if condition="$printfact==1"> <SetVar name="printsource" value="0" /> - <!-- Intend the fact line if more then one fact has source --> + <!-- Indent the fact line if more then one fact has source --> <if condition="$moresource==1"> <Cell style="list_value" width="$namefam"> </Cell> </if> @@ -225,19 +207,13 @@ <if condition="@fact!='MARR'"> <var var="@fact" /> </if> - <RepeatTag tag="@fact:NOTE"> - <if condition="@NOTE!=''"> - <br /><GedcomValue tag="NOTE"/> - </if> - </RepeatTag> </Cell> <!-- Date of the fact --> <Cell style="list_value" width="$dateevent"><GedcomValue tag="@fact:DATE"/></Cell> - <!-- Place of the fact --> - <Cell style="list_value" width="$placeevent"><GedcomValue tag="@fact:PLAC"/></Cell> <!-- Detailed source text --> <Cell style="list_value" newline="1"> + <SetVar name="repeatedSource" value="0" /> <RepeatTag tag="@fact:SOUR"> <Gedcom id="@SOUR"> <if condition="@ID==$sid"> @@ -245,9 +221,16 @@ </if> </Gedcom> <if condition="$printsource==1"> + <if condition="$repeatedSource==1">; </if> + <if condition="@SOUR:PAGE!='' or @SOUR:DATA:TEXT!=''"> + <SetVar name="repeatedSource" value="1" /> + </if> <GedcomValue tag="SOUR:PAGE"/> <if condition="@SOUR:DATA:TEXT!=''"> - <br /><GedcomValue tag="SOUR:DATA:TEXT"/> + <if condition="@SOUR:PAGE!=''"> + <br /> + </if> + <GedcomValue tag="SOUR:DATA:TEXT" /> </if> <SetVar name="printsource" value="0" /> </if> @@ -257,7 +240,6 @@ </if> <SetVar name="printfact" value="0" /> </Facts> - <Line /> </List> <!-- Print the list counter --> @@ -269,6 +251,109 @@ <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total families')"/>: <var var="printedsource" /></Cell> </if> <TextBox height="$vspace" newline="1" padding="0"/> + </if> + <if condition="$stype=='records'"> + <!-- List type --> + <Cell align="center" newline="1" style="listtype"><var var="i18n::translate('Individuals')" /></Cell> + <TextBox height="$vspace" newline="1" padding="0"/> + + <!-- Individual Name --> + <SetVar name="fill" value="" /> + <if condition="$sortby=='NAME'"> + <SetVar name="fill" value="#AAAAAA" /> + </if> + <Cell bgcolor="$fill" border="1" style="list_label" width="$nameindi"><var var="i18n::translate('Name')" /></Cell> + <!-- Birth date --> + <SetVar name="fill" value="" /> + <if condition="$sortby=='BIRT:DATE'"> + <SetVar name="fill" value="#AAAAAA" /> + </if> + <Cell bgcolor="$fill" border="1" style="list_label" width="$fact"><var var="translate_fact('BIRT:DATE')" /></Cell> + <Cell border="1" style="list_label" width="$dateevent"><var var="translate_fact('BIRT:PLAC')" /></Cell> + <Cell border="1" style="list_label" width="$fact"><var var="translate_fact('DEAT:DATE')" /></Cell> + <Cell border="1" style="list_label" width="$dateevent"><var var="translate_fact('DEAT:PLAC')" /></Cell> + <!-- Detailed source text --> + <Cell border="1" newline="1" style="list_label"><var var="translate_fact('SOUR:PAGE')" /></Cell> + <TextBox height="$vspace" newline="1" padding="0"/> + + <!-- Individual List --> + <List list="individual" filter1="SOUR CONTAINS @$sid@" sortby="$sortby"> + <!-- Printed List counter --> + <SetVar name="printedsource" value="$printedsource + 1" /> + <!-- Individual Name --> + <Cell style="list_value" width="$nameindi"><GetPersonName id="" /></Cell> + <!-- Birth date --> + <Cell style="list_value" width="$dateevent"><GedcomValue tag="BIRT:DATE" /></Cell> + <!-- Birth place --> + <Cell style="list_value" width="$fact"><GedcomValue tag="BIRT:PLAC" /></Cell> + <!-- Death date --> + <Cell style="list_value" width="$dateevent"><GedcomValue tag="DEAT:DATE" /></Cell> + <!-- Death place --> + <Cell style="list_value" width="$fact"><GedcomValue tag="DEAT:PLAC" /></Cell> + <!-- Detailed source text --> + <Cell style="list_value" newline="1"> + <GedcomValue tag="SOUR:PAGE"/> + <if condition="@SOUR:DATA:TEXT!=''"> + <br /><GedcomValue tag="SOUR:DATA:TEXT"/> + </if> + </Cell> + </List> + + <!-- Print the list counter --> + <if condition="$printedsource==0"> + <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total individuals')"/>: 0</Cell> + </if> + <if condition="$printedsource > 0"> + <TextBox height="$vspace" newline="1" padding="0"/> + <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total individuals')"/>: <var var="printedsource" /></Cell> + </if> + <NewPage /> + <!-- Family List --> + <TextBox height="$vspace" newline="1" padding="0"/> + <Cell align="center" newline="1" style="listtype"><var var="i18n::translate('Families')" /></Cell> + <TextBox height="$vspace" newline="1" padding="0"/> + <!-- Family Name --> + <Cell border="1" style="list_label" width="$namefam"><var var="i18n::translate('Name')" /></Cell> + <!-- Name of the fact that contains the source --> + <Cell bgcolor="#AAAAAA" border="1" style="list_label" width="$dateevent"><var var="translate_fact('MARR:DATE')" /></Cell> + <!-- Date of the fact --> + <Cell border="1" style="list_label" width="$fact"><var var="translate_fact('MARR:PLAC')" /></Cell> + <!-- Detailed source text --> + <Cell border="1" newline="1" style="list_label"><var var="translate_fact('SOUR:PAGE')" /></Cell> + + <!-- Family List --> + <TextBox height="$vspace" newline="1" padding="0"/> + <SetVar name="printedsource" value="0" /> + <List list="family" filter1="SOUR CONTAINS @$sid@" sortby="MARR:DATE"> + <SetVar name="printsource" value="0" /> + <!-- Printed List counter --> + <SetVar name="printedsource" value="$printedsource + 1" /> + + <!-- Family Name --> + <Cell style="list_value" width="$namefam"><GetPersonName id="" /></Cell> + <!-- Date of the fact --> + <Cell style="list_value" width="$dateevent"><GedcomValue tag="MARR:DATE"/></Cell> + <!-- Place of the fact --> + <Cell style="list_value" width="$fact"><GedcomValue tag="MARR:PLAC"/></Cell> + <!-- Detailed source text --> + <Cell style="list_value" newline="1"> + <GedcomValue tag="SOUR:PAGE"/> + <if condition="@SOUR:DATA:TEXT!=''"> + <br /><GedcomValue tag="SOUR:DATA:TEXT"/> + </if> + </Cell> + </List> + + <!-- Print the list counter --> + <if condition="$printedsource==0"> + <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total families')"/>: 0</Cell> + </if> + <if condition="$printedsource > 0"> + <TextBox height="$vspace" newline="1" padding="0"/> + <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total families')"/>: <var var="printedsource" /></Cell> + </if> + <TextBox height="$vspace" newline="1" padding="0"/> + </if> </Body> <Footer> diff --git a/modules/missing_facts_report/report.xml b/modules/missing_facts_report/report.xml index 335ddf7a5b..5d3ba75424 100644 --- a/modules/missing_facts_report/report.xml +++ b/modules/missing_facts_report/report.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Report> -<!-- $Id: --> +<!-- $Id$ --> <Title><var var="i18n::translate('Missing relatives facts')" /></Title> <Description>Prints a list of individuals who has missing information</Description> <Input name="pid" type="text" default="" lookup="INDI"><var var="i18n::translate('Enter Individual ID')"/></Input> diff --git a/modules/source_report/module.php b/modules/source_report/module.php index d8d3384e6c..928029cf4e 100644 --- a/modules/source_report/module.php +++ b/modules/source_report/module.php @@ -36,12 +36,12 @@ require_once WT_ROOT.'includes/classes/class_module.php'; class source_report_WT_Module extends WT_Module implements WT_Module_Report { // Extend class WT_Module public function getTitle() { - return i18n::translate('Fact Sources'); + return i18n::translate('Sources Report'); } // Extend class WT_Module public function getDescription() { - return i18n::translate('Fact Sources'); + return i18n::translate('Prints a list of individuals and families with a specific source'); } // Extend class WT_Module @@ -61,11 +61,6 @@ class source_report_WT_Module extends WT_Module implements WT_Module_Report { $menu->addClass("submenuitem$ff", "submenuitem_hover$ff", "submenu$ff", "icon_small_reports"); $menus[]=$menu; - $menu=new Menu(i18n::translate('Sources Report'), 'reportengine.php?ged='.WT_GEDURL.'&action=setup&report=modules/'.$this->getName().'/report_s.xml'); - $menu->addIcon('menu_source'); - $menu->addClass("submenuitem$ff", "submenuitem_hover$ff", "submenu$ff", "icon_small_reports"); - $menus[]=$menu; - return $menus; } } diff --git a/modules/source_report/report.xml b/modules/source_report/report.xml index e62eeaa5d1..8e4225c545 100644 --- a/modules/source_report/report.xml +++ b/modules/source_report/report.xml @@ -1,12 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <Report> -<!-- $Id: --> - <Title><var var="i18n::translate('Fact Sources')" /></Title> - <Description>Prints a list of individuals and families with a specific source for facts or records</Description> +<!-- $Id$ --> + <Title><var var="i18n::translate('Sources Report')" /></Title> + <Description>Prints a list of individuals and families with a specific source</Description> <Input name="sid" lookup="SOUR" default="" type="text"><var var="i18n::translate('Find Source ID')" /></Input> - <Input name="stype" type="select" default="facts" options="facts=>i18n::translate('facts')|records=>i18n::translate('records')"><var var="i18n::translate('Source type')" /></Input> - <Input name="sortby" type="select" default="BIRT:DATE" options="NAME=>i18n::translate('Name')|BIRT:DATE=>i18n::translate('Date of birth')"><var var="i18n::translate('Sort by')" /></Input> + <Input name="sortby" type="select" default="BIRT:DATE" options="NAME=>i18n::translate('Name')|BIRT:DATE=>i18n::translate('Date of birth')|DEAT:DATE=>i18n::translate('Date of death')"><var var="i18n::translate('Sort by')" /></Input> <Input name="pageSize" type="select" default="A4" options="letter=>i18n::translate_c('paper size','Letter')|A3=>i18n::translate_c('paper size', 'A3')|A4=>i18n::translate_c('paper size','A4')|legal=>i18n::translate_c('paper size','Legal')"><var var="i18n::translate('Page size')" /></Input> <Input name="fonts" type="select" default="dejavusans" options="arialunicid0=>i18n::translate_c('font name', 'Arial')|dejavusans=>i18n::translate_c('font name', 'DejaVu')|helvetica=>i18n::translate_c('font name', 'Helvetica')"><var var="i18n::translate('Font')"/></Input> @@ -27,15 +26,15 @@ <!-- List values - CSS Style name --> <Style name="list_value" font="$fonts" size="8"/> - <SetVar name="nameindi" value="200" /> - <SetVar name="datebirth" value="120" /> - <SetVar name="namefam" value="$nameindi + $datebirth" /> - <SetVar name="fact" value="100" /> + <SetVar name="nameindi" value="194" /> + <SetVar name="namefam" value="300" /> <SetVar name="dateevent" value="110" /> + <SetVar name="fact" value="110" /> + <SetVar name="age" value="38" /> + <SetVar name="placeevent" value="107" /> <SetVar name="vspace" value="5" /> <SetVar name="printedsource" value="0" /> - <SetVar name="moresourcespaceindi" value="$nameindi + $datebirth" /> - <SetVar name="ignore" value="CHAN,CHIL,FAMC,FAMS,HUSB,OBJE,RESN,SEX,SOUR,TITL,WIFE,_UID,_WT_OBJE_SORT"/> + <SetVar name="ignore" value="CHAN,CHIL,FAMC,FAMS,HUSB,NAME,NOTE,OBJE,RESN,SEX,SOUR,TITL,WIFE,_UID,_WT_OBJE_SORT"/> <Doc pageSize="$pageSize" orientation="landscape"> <Header> @@ -47,8 +46,8 @@ </Gedcom> </Header> + <Line /> <Body> - <if condition="$stype=='facts'"> <!-- List type --> <Cell align="center" newline="1" style="listtype"><var var="i18n::translate('Individuals')" /></Cell> <TextBox height="$vspace" newline="1" padding="0"/> @@ -64,11 +63,18 @@ <if condition="$sortby=='BIRT:DATE'"> <SetVar name="fill" value="#AAAAAA" /> </if> - <Cell bgcolor="$fill" border="1" style="list_label" width="$datebirth"><var var="translate_fact('BIRT:DATE')" /></Cell> - <!-- Name of the fact that contains the source --> - <Cell border="1" style="list_label" width="$fact"><var var="i18n::translate('Event')" /></Cell> - <!-- Date of the fact --> - <Cell border="1" style="list_label" width="$dateevent"><var var="translate_fact('DATE')" /></Cell> + <Cell bgcolor="$fill" border="1" style="list_label" width="$dateevent"><var var="translate_fact('BIRT:DATE')" /></Cell> + <!-- Birth place --> + <Cell border="1" style="list_label" width="$placeevent"><var var="translate_fact('BIRT:PLAC')" /></Cell> + <!-- Death date --> + <SetVar name="fill" value="" /> + <if condition="$sortby=='DEAT:DATE'"> + <SetVar name="fill" value="#AAAAAA" /> + </if> + <Cell bgcolor="$fill" border="1" style="list_label" width="$dateevent"><var var="translate_fact('DEAT:DATE')" /></Cell> + <Cell border="1" style="list_label" width="$age"><var var="translate_fact('AGE')" /></Cell> + <!-- Death place --> + <Cell border="1" style="list_label" width="$placeevent"><var var="translate_fact('DEAT:PLAC')" /></Cell> <!-- Detailed source text --> <Cell border="1" newline="1" style="list_label"><var var="translate_fact('SOUR:PAGE')" /></Cell> <TextBox height="$vspace" newline="1" padding="0"/> @@ -79,11 +85,21 @@ <SetVar name="printsource" value="0" /> <!-- Printed List counter --> <SetVar name="printedsource" value="$printedsource + 1" /> - <!-- Individual Name --> - <Cell style="list_value" width="$nameindi"><GetPersonName id="" /></Cell> - <!-- Birth date --> - <Cell style="list_value" width="$datebirth"><GedcomValue tag="BIRT:DATE" /></Cell> + <Cell style="list_value" width="$nameindi"><GetPersonName id="" /> + <Gedcom id="@FAMC"> + <br /> <var var="i18n::translate('Father')" />: <GetPersonName id="@HUSB"/> + <br /> <var var="i18n::translate('Mother')" />: <GetPersonName id="@WIFE"/> + </Gedcom> + </Cell> + <!-- Birth --> + <Cell style="list_value" width="$dateevent"><GedcomValue tag="BIRT:DATE" /></Cell> + <Cell style="list_value" width="$placeevent"><GedcomValue tag="BIRT:PLAC" /></Cell> + <!-- Death --> + <Cell style="list_value" width="$dateevent"><GedcomValue tag="DEAT:DATE"/></Cell> + <Cell style="list_value" width="$age"><AgeAtDeath /></Cell> + <Cell style="list_value" width="$placeevent"><GedcomValue tag="DEAT:PLAC" /></Cell> + <Cell style="list_value" newline="1"> <Facts ignore="$ignore"> <SetVar name="printfact" value="0" /> <RepeatTag tag="@fact:SOUR"> @@ -93,47 +109,41 @@ </if> </Gedcom> </RepeatTag> - <if condition="$printfact==1"> <SetVar name="printsource" value="0" /> - <!-- Indent the fact line if more then one fact has source --> + <!-- Intend the fact line if more then one fact has source --> <if condition="$moresource==1"> - <Cell style="list_value" width="$moresourcespaceindi"> </Cell> + <br /> </if> - - <!-- Name of the fact that contains the source --> - <Cell style="list_value" width="$fact"><var var="@fact" /></Cell> - <!-- Date of the fact --> - <Cell style="list_value" width="$dateevent"><GedcomValue tag="@fact:DATE"/></Cell> <!-- Detailed source text --> - <Cell style="list_value" newline="1"> - <SetVar name="repeatedSource" value="0" /> - <RepeatTag tag="@fact:SOUR"> - <Gedcom id="@SOUR"> - <if condition="@ID==$sid"> - <SetVar name="printsource" value="1" /> - </if> - </Gedcom> - <if condition="$printsource==1"> - <if condition="$repeatedSource==1">; </if> - <if condition="@SOUR:PAGE!='' or @SOUR:DATA:TEXT!=''"> - <SetVar name="repeatedSource" value="1" /> + <RepeatTag tag="@fact:SOUR"> + <Gedcom id="@SOUR"> + <if condition="@ID==$sid"> + <SetVar name="printsource" value="1" /> + </if> + </Gedcom> + <if condition="$printsource==1"> + <if condition="@fact=='CHR'"> + <varLetter var="BIRT" /> <GedcomValue tag="SOUR:PAGE"/> + <if condition="@SOUR:DATA:TEXT!=''"> + <br /><GedcomValue tag="SOUR:DATA:TEXT"/> </if> - <GedcomValue tag="SOUR:PAGE"/> + </if> + <if condition="@fact=='BURI'"> + <varLetter var="DEAT" /> <GedcomValue tag="SOUR:PAGE"/> <if condition="@SOUR:DATA:TEXT!=''"> - <if condition="@SOUR:PAGE!=''"> - <br /> - </if> - <GedcomValue tag="SOUR:DATA:TEXT" /> + <br /><GedcomValue tag="SOUR:DATA:TEXT"/> </if> - <SetVar name="printsource" value="0" /> </if> - </RepeatTag> - </Cell> + <SetVar name="printsource" value="0" /> + </if> + </RepeatTag> <SetVar name="moresource" value="1" /> </if> <SetVar name="printfact" value="0" /> </Facts> + </Cell> + <Line /> </List> <!-- Print the list counter --> @@ -144,7 +154,6 @@ <TextBox height="$vspace" newline="1" padding="0"/> <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total individuals')"/>: <var var="printedsource" /></Cell> </if> - <NewPage /> <!-- Family List --> <TextBox height="$vspace" newline="1" padding="0"/> @@ -156,6 +165,8 @@ <Cell border="1" style="list_label" width="$fact"><var var="i18n::translate('Event')" /></Cell> <!-- Date of the fact --> <Cell bgcolor="#AAAAAA" border="1" style="list_label" width="$dateevent"><var var="translate_fact('DATE')" /></Cell> + <!-- Date of the fact --> + <Cell border="1" style="list_label" width="$placeevent"><var var="translate_fact('PLAC')" /></Cell> <!-- Detailed source text --> <Cell border="1" newline="1" style="list_label"><var var="translate_fact('SOUR:PAGE')" /></Cell> @@ -169,7 +180,14 @@ <SetVar name="printedsource" value="$printedsource + 1" /> <!-- Family Name --> - <Cell style="list_value" width="$namefam"><GetPersonName id="" /></Cell> + <Cell style="list_value" width="$namefam"><GetPersonName id="" /> + <Gedcom id="@HUSB:@FAMC"> + <br /> <var var="i18n::translate('Husband\'s parents')" />: <GetPersonName id=""/> + </Gedcom> + <Gedcom id="@WIFE:@FAMC"> + <br /> <var var="i18n::translate('Wife\'s parents')" />: <GetPersonName id=""/> + </Gedcom> + </Cell> <Facts ignore="$ignore"> <SetVar name="printfact" value="0" /> <RepeatTag tag="@fact:SOUR"> @@ -182,7 +200,7 @@ <if condition="$printfact==1"> <SetVar name="printsource" value="0" /> - <!-- Indent the fact line if more then one fact has source --> + <!-- Intend the fact line if more then one fact has source --> <if condition="$moresource==1"> <Cell style="list_value" width="$namefam"> </Cell> </if> @@ -207,13 +225,19 @@ <if condition="@fact!='MARR'"> <var var="@fact" /> </if> + <RepeatTag tag="@fact:NOTE"> + <if condition="@NOTE!=''"> + <br /><GedcomValue tag="NOTE"/> + </if> + </RepeatTag> </Cell> <!-- Date of the fact --> <Cell style="list_value" width="$dateevent"><GedcomValue tag="@fact:DATE"/></Cell> + <!-- Place of the fact --> + <Cell style="list_value" width="$placeevent"><GedcomValue tag="@fact:PLAC"/></Cell> <!-- Detailed source text --> <Cell style="list_value" newline="1"> - <SetVar name="repeatedSource" value="0" /> <RepeatTag tag="@fact:SOUR"> <Gedcom id="@SOUR"> <if condition="@ID==$sid"> @@ -221,16 +245,9 @@ </if> </Gedcom> <if condition="$printsource==1"> - <if condition="$repeatedSource==1">; </if> - <if condition="@SOUR:PAGE!='' or @SOUR:DATA:TEXT!=''"> - <SetVar name="repeatedSource" value="1" /> - </if> <GedcomValue tag="SOUR:PAGE"/> <if condition="@SOUR:DATA:TEXT!=''"> - <if condition="@SOUR:PAGE!=''"> - <br /> - </if> - <GedcomValue tag="SOUR:DATA:TEXT" /> + <br /><GedcomValue tag="SOUR:DATA:TEXT"/> </if> <SetVar name="printsource" value="0" /> </if> @@ -240,6 +257,7 @@ </if> <SetVar name="printfact" value="0" /> </Facts> + <Line /> </List> <!-- Print the list counter --> @@ -251,109 +269,6 @@ <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total families')"/>: <var var="printedsource" /></Cell> </if> <TextBox height="$vspace" newline="1" padding="0"/> - </if> - <if condition="$stype=='records'"> - <!-- List type --> - <Cell align="center" newline="1" style="listtype"><var var="i18n::translate('Individuals')" /></Cell> - <TextBox height="$vspace" newline="1" padding="0"/> - - <!-- Individual Name --> - <SetVar name="fill" value="" /> - <if condition="$sortby=='NAME'"> - <SetVar name="fill" value="#AAAAAA" /> - </if> - <Cell bgcolor="$fill" border="1" style="list_label" width="$nameindi"><var var="i18n::translate('Name')" /></Cell> - <!-- Birth date --> - <SetVar name="fill" value="" /> - <if condition="$sortby=='BIRT:DATE'"> - <SetVar name="fill" value="#AAAAAA" /> - </if> - <Cell bgcolor="$fill" border="1" style="list_label" width="$fact"><var var="translate_fact('BIRT:DATE')" /></Cell> - <Cell border="1" style="list_label" width="$dateevent"><var var="translate_fact('BIRT:PLAC')" /></Cell> - <Cell border="1" style="list_label" width="$fact"><var var="translate_fact('DEAT:DATE')" /></Cell> - <Cell border="1" style="list_label" width="$dateevent"><var var="translate_fact('DEAT:PLAC')" /></Cell> - <!-- Detailed source text --> - <Cell border="1" newline="1" style="list_label"><var var="translate_fact('SOUR:PAGE')" /></Cell> - <TextBox height="$vspace" newline="1" padding="0"/> - - <!-- Individual List --> - <List list="individual" filter1="SOUR CONTAINS @$sid@" sortby="$sortby"> - <!-- Printed List counter --> - <SetVar name="printedsource" value="$printedsource + 1" /> - <!-- Individual Name --> - <Cell style="list_value" width="$nameindi"><GetPersonName id="" /></Cell> - <!-- Birth date --> - <Cell style="list_value" width="$dateevent"><GedcomValue tag="BIRT:DATE" /></Cell> - <!-- Birth place --> - <Cell style="list_value" width="$fact"><GedcomValue tag="BIRT:PLAC" /></Cell> - <!-- Death date --> - <Cell style="list_value" width="$dateevent"><GedcomValue tag="DEAT:DATE" /></Cell> - <!-- Death place --> - <Cell style="list_value" width="$fact"><GedcomValue tag="DEAT:PLAC" /></Cell> - <!-- Detailed source text --> - <Cell style="list_value" newline="1"> - <GedcomValue tag="SOUR:PAGE"/> - <if condition="@SOUR:DATA:TEXT!=''"> - <br /><GedcomValue tag="SOUR:DATA:TEXT"/> - </if> - </Cell> - </List> - - <!-- Print the list counter --> - <if condition="$printedsource==0"> - <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total individuals')"/>: 0</Cell> - </if> - <if condition="$printedsource > 0"> - <TextBox height="$vspace" newline="1" padding="0"/> - <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total individuals')"/>: <var var="printedsource" /></Cell> - </if> - <NewPage /> - <!-- Family List --> - <TextBox height="$vspace" newline="1" padding="0"/> - <Cell align="center" newline="1" style="listtype"><var var="i18n::translate('Families')" /></Cell> - <TextBox height="$vspace" newline="1" padding="0"/> - <!-- Family Name --> - <Cell border="1" style="list_label" width="$namefam"><var var="i18n::translate('Name')" /></Cell> - <!-- Name of the fact that contains the source --> - <Cell bgcolor="#AAAAAA" border="1" style="list_label" width="$dateevent"><var var="translate_fact('MARR:DATE')" /></Cell> - <!-- Date of the fact --> - <Cell border="1" style="list_label" width="$fact"><var var="translate_fact('MARR:PLAC')" /></Cell> - <!-- Detailed source text --> - <Cell border="1" newline="1" style="list_label"><var var="translate_fact('SOUR:PAGE')" /></Cell> - - <!-- Family List --> - <TextBox height="$vspace" newline="1" padding="0"/> - <SetVar name="printedsource" value="0" /> - <List list="family" filter1="SOUR CONTAINS @$sid@" sortby="MARR:DATE"> - <SetVar name="printsource" value="0" /> - <!-- Printed List counter --> - <SetVar name="printedsource" value="$printedsource + 1" /> - - <!-- Family Name --> - <Cell style="list_value" width="$namefam"><GetPersonName id="" /></Cell> - <!-- Date of the fact --> - <Cell style="list_value" width="$dateevent"><GedcomValue tag="MARR:DATE"/></Cell> - <!-- Place of the fact --> - <Cell style="list_value" width="$fact"><GedcomValue tag="MARR:PLAC"/></Cell> - <!-- Detailed source text --> - <Cell style="list_value" newline="1"> - <GedcomValue tag="SOUR:PAGE"/> - <if condition="@SOUR:DATA:TEXT!=''"> - <br /><GedcomValue tag="SOUR:DATA:TEXT"/> - </if> - </Cell> - </List> - - <!-- Print the list counter --> - <if condition="$printedsource==0"> - <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total families')"/>: 0</Cell> - </if> - <if condition="$printedsource > 0"> - <TextBox height="$vspace" newline="1" padding="0"/> - <Cell align="rightrtl" newline="1" style="list_label"><var var="i18n::translate('Total families')"/>: <var var="printedsource" /></Cell> - </if> - <TextBox height="$vspace" newline="1" padding="0"/> - </if> </Body> <Footer> |
