File: pedigree_html.ll

package info (click to toggle)
lifelines 3.0.50-2
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 11,140 kB
  • ctags: 6,517
  • sloc: ansic: 57,468; xml: 8,014; sh: 4,255; makefile: 848; yacc: 601; perl: 170; sed: 16
file content (63 lines) | stat: -rw-r--r-- 1,212 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
 * @progname       pedigree_html.ll
 * @version        1.3
 * @author         Scott McGee (smcgee@microware.com)
 * @category       
 * @output         HTML
 * @description
 *
 *   Select and produce an ancestor report for the person selected.
 *
 *   @(#)pedigree_html.ll	1.3 10/4/95
 *
 *   By Scott McGee (smcgee@microware.com)
 *   Based on pedigreel by Tom Wetmore, ttw@cbnewsl.att.com
 *   And Cliff Manis
 */

include("cgi_html.li")


proc main () {
  call set_cgi_html_globals()

  set (nl,nl())
  getindi(indi)

  call do_chart_head(indi, "Pedigree")
  "<PRE>\n"
  call pedigree(0, indi)
  "</PRE>\n"
  call do_tail(indi)
}

proc pedigree (level, indi) {
  set(has_parent, or(father(indi), mother(indi)))
  if(and(lt(level, 4), has_parent)) {
    set(par, father(indi))
    call pedigree(add(1,level), par)
  }
  if(indi) {
    col(mul(4,level))
    href(indi, "Pedigree")
    if (evt, birth(indi)) {
      ", b. "
      if(gt(level, 3)) {
        short(evt)
      }
      else {
        long(evt)
      }
    }
    nl()
  }
  else {
  	col(mul(4,level))
  	"(Spouse not known)"
    nl()
  }
  if(and(lt(level, 4), has_parent)) {
    set(par, mother(indi))
    call pedigree(add(1,level), par)
  }
}