fisharebest/webtrees

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

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" ?>
<Report>
    <Title><var var="I18N::translate('Related individuals')" /></Title>
    <Description><var var="I18N::translate('A report of the individuals that are closely related to an individual.')" /></Description>
    <Input name="pid" lookup="INDI" type="text"><var var="I18N::translate('Individual')" /></Input>
    <Input name="relatives" type="select" options="child-family=>I18N::translate('Parents and siblings')|spouse-family=>I18N::translate('Spouses and children')|direct-ancestors=>I18N::translate('Direct line ancestors')|ancestors=>I18N::translate('Direct line ancestors and their families')|descendants=>I18N::translate('Descendants')|all=>I18N::translate('All')"><var var="I18N::translate('Choose relatives')" /></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')|DEAT:DATE=>I18N::translate('sort by date of death')"><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="14" />
    <!-- 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 -->
    <Style name="date" font="$fonts" size="8"/>
    <Style name="text" font="$fonts" size="10" />
    <Style name="bold" font="$fonts" size="10" style="b" />
    <Style name="mini" font="$fonts" size="8" />
    <Style name="minibold" font="$fonts" size="8" style="b" />
    <Style name="label" font="$fonts" size="10" style="b" />

    <SetVar name="height1" value="14" />
    <SetVar name="height2" value="10" />
    <SetVar name="width1" value="45" />
    <SetVar name="width2" value="195" />
    <SetVar name="width3" value="120" />
    <SetVar name="width4" value="120" />
    <SetVar name="width5" value="150" />
    <SetVar name="width6" value="150" />
    <SetVar name="widthB2" value="280" />
    <SetVar name="widthB3" value="40" />
    <SetVar name="widthB4" value="375" />
    <SetVar name="leftbdp" value="$width1+$width2" />

    <if condition="$relatives=='child-family'"><SetVar name="explain" value="I18N::translate('Parents and siblings')"/></if>
    <if condition="$relatives=='spouse-family'"><SetVar name="explain" value="I18N::translate('Spouses and children')"/></if>
    <if condition="$relatives=='direct-ancestors'"><SetVar name="explain" value="I18N::translate('Direct line ancestors')"/></if>
    <if condition="$relatives=='ancestors'"><SetVar name="explain" value="I18N::translate('Direct line ancestors and their families')"/></if>
    <if condition="$relatives=='descendants'"><SetVar name="explain" value="I18N::translate('Descendants')"/></if>
    <if condition="$relatives=='all'"><SetVar name="explain" value="I18N::translate('All')"/></if>

    <Doc pageSize="$pageSize" orientation="landscape">
        <Header>
            <Cell align="center" height="20" newline="1" style="header"><GetPersonName id="$pid" /> — <var var="$explain"/></Cell>
            <Cell align="rightrtl" newline="1" style="pagenum"><var var="I18N::translate('Page')" /> <PageNum /> <var var="I18N::translate('of')" /> <TotalPages /></Cell>

            <SetVar name="fill" value="" />
            <if condition="$sortby=='NAME'">
                <SetVar name="fill" value="#AAAAAA" />
            </if>
            <Cell bgcolor="$fill" border="1" height="$height1" style="label" width="$width2"> <var var="I18N::translate('Name')" /></Cell>

            <SetVar name="fill" value="" />
            <if condition="$sortby=='BIRT:DATE'">
                <SetVar name="fill" value="#AAAAAA" />
            </if>
            <Cell bgcolor="$fill" border="1" height="$height1" style="label" width="$width3"> <var var="I18N::translate('Birth')" /></Cell>

            <SetVar name="fill" value="" />
            <if condition="$sortby=='DEAT:DATE'">
                <SetVar name="fill" value="#AAAAAA" />
            </if>
            <Cell bgcolor="$fill" border="1" height="$height1" style="label" width="$width4"> <var var="I18N::translate('Death')" /></Cell>

            <Cell border="1" height="$height1" style="label" width="$width5"> <var var="I18N::translate('Father')" /></Cell>
            <Cell border="1" height="$height1" newline="1" style="label"> <var var="I18N::translate('Mother')" /></Cell>
        </Header>

        <Body>
            <Relatives id="$pid" group="$relatives" sortby="$sortby">
                <SetVar name="sex" value="@SEX" />
                <!-- 1. Block -->
                <TextBox height="$height1" width="$width2">
                    <Text style="bold"><GetPersonName id="" /></Text>
                </TextBox>
                <TextBox height="$height1" width="$width3">
                    <Text style="text"><GedcomValue tag="BIRT:DATE" truncate="20" /><br/></Text>
                    <Text style="mini"><GedcomValue tag="BIRT:PLAC" /></Text>
                </TextBox>
                <TextBox height="$height1" width="$width4">
                    <Text style="text"><GedcomValue tag="DEAT:DATE" truncate="20" /><br/></Text>
                    <Text style="mini"><GedcomValue tag="DEAT:PLAC" /></Text>
                </TextBox>
                <!-- If FAMC is empty all lines will be ignored. So, don't place any newline break in here -->
                <Gedcom id="@FAMC">
                    <TextBox height="$height1" width="$width5">
                        <Gedcom id="@HUSB">
                            <Text style="text"><GetPersonName id="" /></Text>
                        </Gedcom>
                    </TextBox>
                    <TextBox height="$height1" newline="1">
                        <Gedcom id="@WIFE">
                            <Text style="text"><GetPersonName id="" /></Text>
                        </Gedcom>
                    </TextBox>
                </Gedcom>
                <!-- one way or the other, we need a new line -->
                <if condition="@FAMC==''">
                    <TextBox height="2" newline="1"/>
                </if>
                <RepeatTag tag="FAMS">
                    <Gedcom id="@FAMS">
                        <TextBox height="$height2" left="$width1" width="$widthB2">
                            <if condition="$sex=='M'">
                                <Text style="minibold"><var var="I18N::translate('Wife')" />: </Text>
                                <Text style="mini"><GetPersonName id="@WIFE" /> <GedcomValue tag="MARR:DATE" />
                                </Text>
                            </if>
                            <if condition="$sex=='F'">
                                <Text style="minibold"><var var="I18N::translate('Husband')" />: </Text>
                                <Text style="mini"><GetPersonName id="@HUSB" /> <GedcomValue tag="MARR:DATE" />
                                </Text>
                            </if>
                        </TextBox>
                        <TextBox height="$height2" width="50">
                            <Text style="minibold"><var var="I18N::translate('Children')" />:</Text>
                        </TextBox>
                        <TextBox height="$height2" newline="1">
                            <SetVar name="morechildren" value="0" />
                            <RepeatTag tag="CHIL">
                                <Gedcom id="@CHIL">
                                    <Text style="mini">
                                        <!-- Print this only when more than one child exist -->
                                        <if condition="$morechildren==1">, </if>
                                        <GetPersonName id="" />
                                    </Text>
                                    <SetVar name="morechildren" value="1" />
                                </Gedcom>
                            </RepeatTag>
                        </TextBox>
                    </Gedcom>
                </RepeatTag>

                <!-- keep distance between line -->
                <TextBox height="2" newline="1" padding="0"/>
                <Line />
                <TextBox height="2" newline="1" padding="0"/>

            </Relatives>
            <Cell align="rightrtl" height="15" newline="1" style="label">
                <br /><var var="I18N::translate('Total individuals')" />: <ListTotal />
            </Cell>
        </Body>
        
        <Footer>
            <Cell align="rightrtl" newline="1" style="date"><Now /></Cell>
        </Footer>
    </Doc>
</Report>