fisharebest/webtrees

View on GitHub
resources/xml/reports/fact_sources.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" ?>
<Report>
    <Title><var var="I18N::translate('Source')" /></Title>
    <Description><var var="I18N::translate('A report of facts which are supported by a given source.')" /></Description>
    <Input name="sid" lookup="SOUR" default="" type="text"><var var="I18N::translate('Find a source')" /></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('sort by name')|BIRT:DATE=>I18N::translate('sort by date of birth')"><var var="I18N::translate('Sort order')" /></Input>
    <Input name="pageSize" type="select" options="A4=>I18N::translateContext('paper size','A4')|A3=>I18N::translateContext('paper size', 'A3')|US-Letter=>I18N::translateContext('paper size','Letter')|US-Tabloid=>I18N::translateContext('paper size','Tabloid')"><var var="I18N::translate('Page size')" /></Input>
    <!--
    <Input name="fonts" type="select" default="dejavusans" options="arialunicid0=>I18N::translateContext('font name', 'Arial')|dejavusans=>I18N::translateContext('font name', 'DejaVu')|helvetica=>I18N::translateContext('font name', 'Helvetica')"><var var="I18N::translate('Font')"/></Input>
    -->
    <SetVar name="fonts" value="dejavusans" />

    <!-- Header -->
    <Style name="header" font="$fonts" size="18" style="b" />
    <!-- Source Title -->
    <Style name="header2" font="$fonts" size="14" style="b" />
    <!-- Name of the List Type. INDI or FAM -->
    <Style name="listtype" font="$fonts" size="12" style="b" />
    <!-- Page numbers text -->
    <Style name="pagenum" font="$fonts" size="8" />
    <!-- Generated by style - required style name by the generator -->
    <Style name="genby" font="$fonts" size="8" />
    <!-- Date Text - CSS Style name -->
    <Style name="date" font="$fonts" size="8"/>
    <!-- Column list labels - CSS Style name -->
    <Style name="list_label" font="$fonts" size="9" style="b"/>
    <!-- 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="dateevent" value="110" />
    <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"/>

    <Doc pageSize="$pageSize" orientation="landscape">
        <Header>
            <Cell align="center" newline="1" style="header"><var var="I18N::translate('Source')" /></Cell>
            <Cell align="rightrtl" newline="1" style="pagenum"><var var="I18N::translate('Page')" /> <PageNum /> <var var="I18N::translate('of')" /> <TotalPages /></Cell>
            <!-- Source Title -->
            <Gedcom id="$sid">
                <Cell align="center" newline="1" style="header2"><GedcomValue tag="TITL" /></Cell>
            </Gedcom>
        </Header>

        <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"/>

            <!-- 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="$datebirth"><var var="I18N::translate('Date of birth')" /></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="I18N::translate('Date')" /></Cell>
            <!-- Detailed source text -->
            <Cell border="1" newline="1" style="list_label"><var var="I18N::translate('Citation details')" /></Cell>
            <TextBox height="$vspace" newline="1" padding="0"/>

            <!-- Individual List -->
            <List list="individual" filter1=":SOUR CONTAINS @$sid@" sortby="$sortby">
                <SetVar name="moresource" value="0" />
                <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>
                <Facts ignore="$ignore">
                    <SetVar name="printfact" value="0" />
                    <RepeatTag tag="@fact:SOUR">
                        <Gedcom id="@SOUR">
                            <if condition="@ID==$sid">
                                <SetVar name="printfact" value="1" />
                            </if>
                        </Gedcom>
                    </RepeatTag>

                    <if condition="$printfact==1">
                        <SetVar name="printsource" value="0" />
                        <!-- Indent the fact line if more then one fact has source -->
                        <if condition="$moresource==1">
                            <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 -->
                        <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" />
                                    </if>
                                    <GedcomValue tag="SOUR:PAGE"/>
                                    <if condition="@SOUR:DATA:TEXT!=''">
                                        <if condition="@SOUR:PAGE!=''">
                                            <br />
                                        </if>
                                        <GedcomValue tag="SOUR:DATA:TEXT" />
                                    </if>
                                    <SetVar name="printsource" value="0" />
                                </if>
                            </RepeatTag>
                        </Cell>
                        <SetVar name="moresource" value="1" />
                    </if>
                    <SetVar name="printfact" value="0" />
                </Facts>
            </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 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="I18N::translate('Date')" /></Cell>
            <!-- Detailed source text -->
            <Cell border="1" newline="1" style="list_label"><var var="I18N::translate('Citation details')" /></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="moresource" value="0" />
                <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>
                <Facts ignore="$ignore">
                    <SetVar name="printfact" value="0" />
                    <RepeatTag tag="@fact:SOUR">
                        <Gedcom id="@SOUR">
                            <if condition="@ID==$sid">
                                <SetVar name="printfact" value="1" />
                            </if>
                        </Gedcom>
                    </RepeatTag>

                    <if condition="$printfact==1">
                        <SetVar name="printsource" value="0" />
                        <!-- Indent the fact line if more then one fact has source -->
                        <if condition="$moresource==1">
                            <Cell style="list_value" width="$namefam"> </Cell>
                        </if>

                        <!-- Name of the fact that contains the source -->
                        <Cell style="list_value" width="$fact">
                            <if condition="@fact=='MARR'">
                                <!-- Print different type of marriages -->
                                <if condition="@MARR:TYPE==''">
                                    <var var="@fact" />
                                </if>
                                <if condition="@MARR:TYPE=='Religious'">
                                    <var var="I18N::translate('Religious marriage')" />
                                </if>
                                <if condition="@MARR:TYPE=='Civil'">
                                    <var var="I18N::translate('Civil marriage')" />
                                </if>
                                <if condition="@MARR:TYPE=='Partners'">
                                    <var var="I18N::translate('Registered partnership')" />
                                </if>
                            </if>
                            <if condition="@fact!='MARR'">
                                <var var="@fact" />
                            </if>
                        </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" />
                                    </if>
                                    <GedcomValue tag="SOUR:PAGE"/>
                                    <if condition="@SOUR:DATA:TEXT!=''">
                                        <if condition="@SOUR:PAGE!=''">
                                            <br />
                                        </if>
                                        <GedcomValue tag="SOUR:DATA:TEXT" />
                                    </if>
                                    <SetVar name="printsource" value="0" />
                                </if>
                            </RepeatTag>
                        </Cell>
                        <SetVar name="moresource" value="1" />
                    </if>
                    <SetVar name="printfact" value="0" />
                </Facts>
            </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>
        <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="I18N::translate('Date of birth')" /></Cell>
            <Cell border="1" style="list_label" width="$dateevent"><var var="I18N::translate('Place of birth')" /></Cell>
            <Cell border="1" style="list_label" width="$fact"><var var="I18N::translate('Date of death')" /></Cell>
            <Cell border="1" style="list_label" width="$dateevent"><var var="I18N::translate('Place of death')" /></Cell>
            <!-- Detailed source text -->
            <Cell border="1" newline="1" style="list_label"><var var="I18N::translate('Citation details')" /></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="I18N::translate('Date of marriage')" /></Cell>
            <!-- Date of the fact -->
            <Cell border="1" style="list_label" width="$fact"><var var="I18N::translate('Place of marriage')" /></Cell>
            <!-- Detailed source text -->
            <Cell border="1" newline="1" style="list_label"><var var="I18N::translate('Citation details')" /></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>
            <Cell align="rightrtl" newline="1" style="date"><Now/></Cell>
        </Footer>

    </Doc>
</Report>