%let;central_index;%index;%in;
%let;central_person;%first_name_key_strip;%sp;%surname_key_strip;%in;
%define;ext_link(xx)
%end;
%( initialise le compteur à/avec la valeur passée en paramètre %)
%define;init_count(prev_count)
%reset_count;
%for;i;0;prev_count;
%incr_count;
%end;
%end;
%define;li_SD_box(xx)
%nn;
%end;
%define;li_SDC_box(xx)
%if;xx.has_families;
%reset_count;
%foreach;family;
%if;(nb_children>0)%incr_count;%end;
%end;
%end;
%nn;
%end;
%define;li_SD(xx)
%nn;
%end;
%define;li_SDC(xx)
%if;xx.has_families;
%reset_count;
%foreach;family;
%if;(nb_children>0)%incr_count;%end;
%end;
%end;
%nn;
%end;
%define;image_MF(xx)
%if;(wizard and not cancel_links)
%nn;
%end;
%if;xx.is_male;
%nn;
%elseif;xx.is_female;
%nn;
%else;
%nn;
%end;%nn;
%if;(wizard and not cancel_links and not xx.is_restricted)%end;
%end;
%(
définition affichage de la puce d'un individu en compte tenu de ses éventuels enfants
- aucune union, donc aucun enfant => cercle
- au moins une union avec en tout aucun enfant => disque
- au moins une union avec au moins un enfant => carré
%)
%define;type_puce_desc(nnn)
%end;
%(
définition affichage de la puce d'un individu en compte tenu de ses éventuels parents
- aucun parent connu => cercle
- au moins un parent connu => disque
- les deux parents connus => carré
%)
%define;type_puce_asc(nnn)
%if;nnn.has_parents;
%if;(nnn.father != "? ?" and nnn.mother != "? ?" and nnn.mother != "de l'une de ses épouses")
%else;
%end;
%else;
%end;
%end;
%define;type_wedding()
%if;are_married;
%if;(nb_children != 0)
%else;
%end;
%elseif;are_not_married;
%elseif;are_engaged;
%elseif;is_no_sexes_check;
%elseif;is_no_mention;
%end;
%end;
%define;image_sosa(xxx,yyy)
%nn;
%end;
%define;nav_with_sosa_ref(xxx)
[*navigation with %t as Sosa reference:::xxx]
%end;
%define;witness_relation(xxx, yyy)
[*witness at marriage of %s and %s:::xxx:yyy]
%end;
%define;age_at_birth_of(xxx)
[age at %s birth date:::xxx]%sp;
%end;
%define;display_shared_parent(xxx)
[*on %s's side:::xxx]
%end;
%define;nav_with_sosa_ref(xxx)
[*navigation with %t as Sosa reference:::xxx]%nn;
%end;
%define;thegen(xx)
[the %s generation:::xx]%nn;
%end;
%define;gena(xx)
%if;(xx = 1)[*specify::generation/generations]0%nn;
%elseif;(xx = 2)[*the parents]%nn;
%elseif;(xx = 3)[*the grandparents]%nn;
%elseif;(xx = 4)[*the great-grandparents]%nn;
%else;
%apply;thegen%with;
%apply;nth([nth (generation)], xx)
%end;
%end;
%end;
%define;letter(xx)
%apply;nth%with;
/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/
%and;xx%end;
%end;
%define;tothegen(xx)
[to the %s generation:::xx]%nn;
%end;
%define;togena(xx)
%if;(xx = 1)[specify::generation/generations]0%nn;
%elseif;(xx = 2)[to the parents]%nn;
%elseif;(xx = 3)[to the grandparents]%nn;
%elseif;(xx = 4)[to the great-grandparents]%nn;
%else;
%apply;tothegen%with;
%apply;nth([nth (generation)], xx)
%end;
%end;
%end;
%define;togend(xx)
%if;(xx = 0)[specify::generation/generations]0%nn;
%elseif;(xx = 1)[to the children]%nn;
%elseif;(xx = 2)[to the grandchildren]%nn;
%elseif;(xx = 3)[to the great-grandchildren]%nn;
%else;
%apply;tothegen%with;
%apply;nth([nth (generation)], xx)
%end;
%end;
%end;
%define;gend(xx)
%if;(evar.xx = 0)[specify::generation/generations]0%nn;
%elseif;(evar.xx = 1)[the children]%nn;
%elseif;(evar.xx = 2)[the grandchildren]%nn;
%elseif;(evar.xx = 3)[the great-grandchildren]%nn;
%else;
%apply;thegen%with;
%apply;nth([nth (generation)], evar.xx)
%end;
%end;
%end;
%define;desc_count(xxx)
%foreach;descendant_level;
%if;(level=xxx)%number_of_descendants;%end;
%end;
%end;
%define;desc_count_l(xxx)
%foreach;descendant_level;
%if;(level=xxx)%number_of_descendants_at_level;%end;
%end;
%end;
%define;on_side(xx)
[*on %s's side:::xx]
%end;
%define;display_sosa(xx)
%if;(xx.has_sosa and bvar.display_sosa="yes")
%if;not cancel_links;%end;
%apply;image_sosa%with;%sosa_ref.first_name_key_strip;%sp;
%sosa_ref.surname_key_strip;
%and;%xx.sosa;%end;
%if;not cancel_links;%end;%nn;
%end;
%end;
%define;short_display_person(xx)
%apply;image_MF("xx")
%apply;display_sosa("xx")
%if;(xx.index=central_index)%xx;%else;
%if;(cancel_links or xx.is_restricted)%xx;
%else;%xx;
%end;
%end;
%xx.dates;%if;(xx.title!=""), %xx.title;%end;%nn;
%end;
%define;short_display_person_tree(xx)
%if;(xx.has_sosa)%apply;display_sosa("xx")%end;
%if;(cancel_links or xx.is_restricted)%if;(xx.public_name!="")%xx.public_name;%else;%xx.first_name;%end;
%xx.surname;
%else;%if;(xx.public_name!="")%xx.public_name;%else;%xx.first_name;%end;
%xx.surname;%nn;
%end;
%nn;
%if;(wizard and not cancel_links)
%end;
%nn;
%if;(xx.dates!="")%xx.dates;%nn;
%elseif;(wizard and not cancel_links)-%nn;
%elseif;(cancel_links)
%end;%nn;
%nn;
%if;(wizard and not cancel_links)%end;
%end;
%define;short_display_person_noname(xx,yy,zz,uu,ii)
%if;("ii"="MF")%apply;image_MF("xx")%end;
%apply;display_sosa("xx")
%if;(xx.index=central_index)%if;(xx.surname=father.surname)%if;(xx.public_name!="")%xx.public_name;%else;%xx.first_name;%end;%else;%xx;%end;%else;
%if;(cancel_links or xx.is_restricted)%if;(bvar.always_surname!="yes" and xx.surname=father.surname)%if;(xx.public_name!="")%xx.public_name;%else;%xx.first_name;%end;%else;%xx;%end;%nn;
%else;%if;(bvar.always_surname!="yes" and xx.surname=father.surname)%if;(xx.public_name!="")%xx.public_name;%else;%xx.first_name;%end;%else;%xx;%end;%nn;
%end;
%end;
%if;("yy"="br")
%end;%if;(wizard and not cancel_links)
%end;%xx.dates;%if;(wizard and not cancel_links)%end;%nn;
%if;("zz"="age")
%xx.age;%xx.death_age;%nn;%end;
%end;
%define;short_display_person_f(xx)
%apply;very_short_display_person("xx")
%( test for index_central? %)
%sp;%xx.title;%xx.dates;%nn;
%if;xx.birthday; ([happy birthday to you!])%end;
%end;
%define;access_ind(nnn)
%if;(cancel_links or nnn.is_restricted)
%nnn;
%else;
%nnn;%nnn.title;
%end;
%nnn.dates;%nl;
%end;
%define;very_short_display_person(xx)
%apply;image_MF("xx")
%apply;display_sosa("xx")
%if;(xx.index=central_index)%xx;%else;
%if;(cancel_links or xx.is_restricted)%xx;
%else;%xx;%end;
%end;
%end;
%define;very_short_display_person_no_sex(xx)
%apply;display_sosa("xx")
%if;(xx.index=central_index)%xx;%else;
%if;(cancel_links or xx.is_restricted)%xx;
%else;%xx;%nn;
%end;
%end;
%end;
%define;very_short_display_person_name(xx)
%apply;image_MF("xx")
%apply;display_sosa("xx")
%if;(xx.index=central_index)%xx_name;%else;
%if;(cancel_links or xx.is_restricted)%xx_name;
%else;%xx_name;%end;
%end;
%end;
%define;long_display_person(xx)
%apply;image_MF("xx")
%apply;display_sosa("xx")
%if;(xx.index=central_index)%xx;%else;
%if;(cancel_links or xx.is_restricted)%xx;
%else;%xx;%nn;
%end;
%if;xx.has_nobility_titles;
%foreach;xx.nobility_title;, %nobility_title;%end;
%end;
%end;
%nn;
%if;xx.has_birth_date;, %apply;nth([born],xx.sex) %xx.on_birth_date;
%if;xx.birthday; ([happy birthday to you!])%end;
%if;xx.has_birth_place; - %xx.birth_place;%end;
%else;
%if;xx.has_birth_place;, %apply;nth([born],xx.sex) - %xx.birth_place;%end;
%end;
%if;xx.has_baptism_date;, %apply;nth([baptized],xx.sex) %xx.on_baptism_date;
%if;xx.has_baptism_place; - %xx.baptism_place;%end;
%else;
%if;xx.has_baptism_place;, %apply;nth([baptized],xx.sex) - %xx.baptism_place;%end;
%end;
%if;xx.computable_age;, [age] : %xx.age;%end;
%if;xx.is_dead;, %xx.died;
%if;xx.has_death_date; %xx.on_death_date;%end;
%if;xx.has_death_place; - %xx.death_place;%end;
%if;xx.computable_death_age; [age at death:] %xx.death_age;%end;
%end;
%if;xx.is_buried; , %apply;nth([buried],xx.sex)%sp;
%if;xx.has_burial_date; %xx.on_burial_date;%end;
%if;xx.has_burial_place; - %xx.burial_place;%end;
%end;
%if;xx.is_cremated; , %apply;nth([cremated],xx.sex)%sp;
%if;xx.has_cremation_date; %xx.on_cremation_date;%end;
%if;xx.has_cremation_place; - %xx.cremation_place;%end;
%end;
%if;xx.has_occupation;, %xx.occupation;%end;
%if;(xx.has_consanguinity and bvar.show_consang!="no"),%sp;
[consanguinity] : %xx.consanguinity;%end;
%nn;
%end;
%define;display_vertical(xx)
%if;(xx.has_birth_date or xx.has_birth_place or
xx.has_baptism_date or xx.has_baptism_place or
xx.is_dead or xx.is_buried or xx.is_cremated or
xx.has_event or
(xx.has_consanguinity and bvar.show_consang!="no") or
xx.has_occupation or (xx.has_linked_page.OCCU and xx.linked_page.OCCU !=""))
%if;(xx.index!=central_index)
-
%apply;image_MF("xx")
%apply;display_sosa("xx")
%if;(cancel_links or xx.is_restricted)%xx;
%else;%xx;%end;%sp;
%nl;
%if;xx.has_nobility_titles;
%foreach;xx.nobility_title;
- %apply;capitalize(nobility_title)
%nl;
%end;
%end;
%end;
%if;xx.has_birth_date;
- %apply;capitalize(nth([born],xx.sex)) %xx.on_birth_date;
%if;xx.birthday; ([happy birthday to you!])%end;
%if;xx.has_birth_place; - %xx.birth_place;%end;
%nl;
%else;
%if;xx.has_birth_place;
- %apply;capitalize(nth([born],xx.sex)) - %xx.birth_place;
%nl;
%end;
%end;
%if;xx.has_baptism_date;
- %apply;capitalize(nth([baptized],xx.sex)) %xx.on_baptism_date;
%if;xx.has_baptism_place; - %xx.baptism_place;%end;
%nl;
%else;
%if;xx.has_baptism_place;
- %apply;capitalize(nth([baptized],xx.sex)) - %xx.baptism_place;
%nl;
%end;
%end;
%if;xx.computable_age;
- [*age] : %xx.age;
%nl;
%end;
%if;xx.has_event;
%foreach;xx.event;
%if;(event.name!=[birth] and
event.name!=[baptism] and
event.name!=[marriage event] and
event.name!=[death] and
event.name!=[burial])
- %apply;capitalize(event.name) :%nn;
%if;event.has_date; %event.date;%end;
%if;event.has_place; - %event.place;%end;
%nl;
%end;
%end;
%end;
%if;xx.is_dead;
- %apply;capitalize(xx.died)
%if;xx.has_death_date; %xx.on_death_date;%end;
%if;xx.has_death_place; - %xx.death_place;%end;
%if;(xx.has_linked_page.DEATH and xx.linked_page.DEATH !="") %xx.linked_page.DEATH;%end;
%if;xx.computable_death_age;, [age at death:] %xx.death_age;%end;
%nl;
%if;xx.is_buried;
- %apply;capitalize(nth([buried],xx.sex))
%if;xx.has_burial_date; %xx.on_burial_date;%end;
%if;xx.has_burial_place; - %xx.burial_place;%end;
%nl;
%end;
%if;xx.is_cremated;
- %apply;capitalize(nth([cremated],xx.sex))
%if;xx.has_cremation_date; %xx.on_cremation_date;%end;
%if;xx.has_cremation_place; - %xx.cremation_place;%end;
%nl;
%end;
%end;
%if;xx.has_occupation;
- %apply;capitalize(xx.occupation)
%nl;
%end;
%if;(xx.has_linked_page.OCCU and xx.linked_page.OCCU!="")
- %apply;capitalize(xx.linked_page.OCCU)
%nl;
%end;
%if;(xx.has_consanguinity and bvar.show_consang!="no")
- [*consanguinity] : %xx.consanguinity;
%nl;
%end;
%else; %end;
%end;
%define;display_horizontal(xx)
%if;(xx.index!=central_index)
%apply;image_MF("xx")
%apply;display_sosa("xx")
%if;(cancel_links or xx.is_restricted)%xx;%nn;
%else;%xx;%end;%nn;
%if;xx.has_nobility_titles;
%foreach;xx.nobility_title;, %nobility_title;%end;
%end;
%end;
%nn;
%if;has_parents;
%if;(xx.index=father.index or xx.index=mother.index)
%if;(has_birth_date and xx.has_birth_date)%sp;
(%xx_age_at_birth)%end;
%end;
%end;
%if;xx.has_birth_date;, %apply;nth([born],xx.sex) %xx.on_birth_date;
%if;xx.birthday; ([happy birthday to you!])%end;
%if;xx.has_birth_place; - %xx.birth_place;%end;
%else;
%if;xx.has_birth_place;, %apply;nth([born],xx.sex) - %xx.birth_place;%end;
%end;
%if;xx.has_baptism_date;, %apply;nth([baptized],xx.sex) %xx.on_baptism_date;
%if;xx.has_baptism_place; - %xx.baptism_place;%end;
%else;
%if;xx.has_baptism_place;, %apply;nth([baptized],xx.sex) - %xx.baptism_place;%end;
%end;
%if;xx.computable_age;, [age][:] %xx.age; %end;
%if;xx.is_dead;, %xx.died;
%if;xx.has_death_date; %xx.on_death_date;%end;
%if;xx.has_death_place; - %xx.death_place;%end;
%if;xx.computable_death_age; [age at death:] %xx.death_age;%end;
%if;xx.is_buried; , %apply;nth([buried],xx.sex)%sp;
%if;xx.has_burial_date; %xx.on_burial_date;%end;
%if;xx.has_burial_place; - %xx.burial_place;%end;
%end;
%if;xx.is_cremated; , %apply;nth([cremated],xx.sex)%sp;
%if;xx.has_cremation_date; %xx.on_cremation_date;%end;
%if;xx.has_cremation_place; - %xx.cremation_place;%end;
%end;
%end;
%if;xx.has_occupation;, %xx.occupation;%end;
%if;(xx.has_consanguinity and bvar.show_consang!="no"),%sp;
[consanguinity][:] %xx.consanguinity;%end;
%end;
%define;married_to(sexx, date_place)
%if;(sexx = 0 or sexx = 2)
%if;are_married;[*married%t to:::date_place]0%nn;
%elseif;are_not_married;[*relationship%t to:::date_place]0%nn;
%elseif;are_engaged;[*engaged%t to:::date_place]0%nn;
%elseif;is_no_sexes_check;[*relationship%t to:::date_place]0%nn;
%elseif;is_no_mention;[*with]%nn;
%elseif;are_marriage_banns;[*marriage banns%t to:::date_place]0%nn;
%elseif;are_marriage_contract;[*marriage contract%t with:::date_place]0%nn;
%elseif;are_marriage_license;[*married%t to:::date_place]0%nn;
%elseif;are_pacs;[*pacsed%t to:::date_place]0%nn;
%elseif;are_residence;[*residence%t to:::date_place]0%nn;
%end;
%else;
%if;are_married;[*married%t to:::date_place]1%nn;
%elseif;are_not_married;[*relationship%t to:::date_place]1%nn;
%elseif;are_engaged;[*engaged%t to:::date_place]1%nn;
%elseif;is_no_sexes_check;[*relationship%t to:::date_place]1%nn;
%elseif;is_no_mention;[*with]%nn;
%elseif;are_marriage_banns;[*marriage banns%t to:::date_place]1%nn;
%elseif;are_marriage_contract;[*marriage contract%t with:::date_place]1%nn;
%elseif;are_marriage_license;[*married%t to:::date_place]1%nn;
%elseif;are_pacs;[*pacsed%t to:::date_place]1%nn;
%elseif;are_residence;[*residence%t to:::date_place]1%nn;
%end;
%end;
%end;
%define;married_to_f(UP_lo, m_f, date_place)
%if;(wizard and not cancel_links)
%nn;
%nn;
%sp;
%end;
%let;marr_text;
%if;(m_f=1)
%if;are_married;[married%t to:::date_place]1%nn;
%elseif;are_not_married;[relationship%t to:::date_place]1%nn;
%elseif;are_engaged;[engaged%t to:::date_place]1%nn;
%elseif;is_no_sexes_check;[relationship%t to:::date_place]1%nn;
%elseif;is_no_mention;date_place [with]%nn;
%end;
%else;
%if;are_married;[married%t to:::date_place]0%nn;
%elseif;are_not_married;[relationship%t to:::date_place]0%nn;
%elseif;are_engaged;[engaged%t to:::date_place]0%nn;
%elseif;is_no_sexes_check;[relationship%t to:::date_place]0%nn;
%elseif;is_no_mention;date_place [with]%nn;
%end;
%end;
%in;
%if;("UP_lo"="UPPER")%apply;capitalize(marr_text)%else;%marr_text;%end;
%end;
%define;long_married(xx)
%apply;married_to%with;%xx.sex%and;
%if;(marriage_place = "")
%if;(on_marriage_date = "")
%else; %on_marriage_date;%nn;
%if;wedding_birthday; ([happy birthday to them!])%end;
%end;
%else;
%if;(on_marriage_date = ""), %marriage_place;,
%else; %on_marriage_date;
%if;wedding_birthday; ([happy birthday to them!])%end;
, %marriage_place,
%end;
%end;
%end;
%end;
%define;long_married_f(xx, UP_lo)
%apply;married_to_f%with;UP_lo%and;%xx.sex%and;
%if;(marriage_place="")
%if;(on_marriage_date="")%nn;
%else; %on_marriage_date;
%if;wedding_birthday; ([happy birthday to them!])%end;
%end;
%else;
%if;(on_marriage_date=""), %marriage_place;,
%else; %on_marriage_date;
%if;wedding_birthday; ([happy birthday to them!])%end;
, %marriage_place, %end;
%end;
%end;
%end;
%define;display_date_marriage_parent(xx)
%foreach;xx.mother.family;
%if;(spouse.access=xx.father.access)
%if;(marriage_date.year!="")
%if;(wizard and not cancel_links)%end;%marriage_date.prec;%marriage_date.year;%if;(wizard and not cancel_links)%end;
%else; %end;
%end;
%end;
%end;
%define;not_married_no_descendants()
%end;
%define;short_display_siblings()
%apply;li_SDC("child")
%apply;short_display_person("child")%nn;
%end;
%define;short_display_siblings_noname()
%apply;li_SDC("child")
%apply;short_display_person_noname("child","","","","MF")%nn;
%end;
%define;long_display_siblings()
%apply;li_SDC("child")
%apply;short_display_person("child")%nn;
%if;child.has_families;
%foreach;child.family;
%if;(family_cnt!=1)
%child;%child.title;%child.dates;
%end;
%apply;long_married_f("child", "lower")
%apply;short_display_person("spouse")
%end;
%end;
%end;
%define;display_sibling()
%apply;li_SDC("child")
%(if;(child.has_image and child.index!=central_index%)
%if;(child.has_image)
%if;(evar.cgl!="on")
%else;
%end;
|
%end;
%apply;short_display_person_f("child")
%if;child.has_families;
%foreach;child.family;
%if;(family_cnt!=1)
%child;%child.title;%child.dates;
%end;
%apply;long_married_f("child", "lower")
%apply;short_display_person_f("spouse")
%end;
%end;
%(if;(child.has_image and child.index!=central_index%)
%if;(child.has_image)
|
%end;
%end;
%define;list_half_siblings()
%apply;li_SD("spouse")
%if;spouse.has_image;
[with]
%apply;short_display_person("spouse")
|
%if;(evar.cgl!="on")
%else;
%end;
|
%else;
[with]
%apply;short_display_person("spouse")
%end;
%if;has_children;
%foreach;child;
%apply;display_sibling()
%end;
%end;
%end;
%( ATTENTION nb_families ne marche que pour la personne et les boucles sur enfants.
Pour les relations (him, her et related) cela donne le nb_families de la
personne d'où l'affichage sans nb d'enfants si la personne n'a qu'un mariage %)
%define;detail_wedding()
%apply;type_wedding()
%if(marriage_date.year != "")%marriage_date.year;%end;
%end;
%define;detail_children()
%nb_children;
%if;(nb_children<=1)[child/children]0
%else;[child/children]1
%end;
%end;
%( note that type_puce_desc add a that need to be closed %)
%define;desc_seq(yyy, bi)
%foreach;child;
%apply;type_puce_desc("child")
%apply;image_MF("child")
%apply;display_sosa("child")
%if;(child.index!=bi)
%apply;access_ind("child")
%else;
%child.first_name; %child.surname; %child.dates;
%end;
%if;child.has_families;
%foreach;child.family;
└ %apply;detail_wedding()%sp;
%apply;short_display_person("spouse")
%if;(nb_children!=0)%nb_children;
%end;
%end;
%else;
%( %apply;not_married_no_descendants() ciseaux non affiché %)
%end;
%end;
%end;
%define;descendancy_grand_fathers(mmm,yyy, bi)
%foreach;mmm.father.family;
%apply;type_puce_asc("mmm.father")
%apply;image_MF("mmm.father")
%apply;display_sosa("mmm.father")
%apply;access_ind("mmm.father")
%apply;type_wedding()
%if(family.marriage_date.year != "")%family.marriage_date.year;%end;
%apply;type_puce_asc("spouse")
%apply;image_MF("spouse")
%apply;display_sosa("spouse")
%if;(spouse.access = self.access)
%spouse;%spouse.title;%spouse.dates;
%apply;detail_wedding()
%else;
%apply;access_ind("spouse")
%apply;desc_seq("yyy", bi)
%end;
%end;
%end;
%define;descendancy_grand_mothers(mmm,yyy, bi)
%foreach;mmm.mother.family;
%if;(spouse.access != mmm.father.access)
%apply;type_puce_asc("mmm.mother")
%apply;image_MF("mmm.mother")
%apply;display_sosa("mmm.mother")
%apply;access_ind("mmm.mother")
%apply;type_wedding()
%if(family.marriage_date.year != "")%family.marriage_date.year;%end;
%apply;type_puce_asc("spouse")
%apply;image_MF("spouse")
%apply;display_sosa("spouse")
%if;(spouse.access = self.access)
%spouse;%spouse.title;%spouse.dates;
%apply;detail_wedding()
%else;
%apply;access_ind("spouse")
%apply;desc_seq("yyy", bi)
%end;
%end;
%end;
%end;
%let;p_mod;%if;(bvar.p_mod!="" and evar.p_mod="")%bvar.p_mod;%elseif;(evar.p_mod!="")%evar.p_mod;%end;%in;
%define;mm(i)%mi;%end;
%define;oo(i)%oi;%end;
%let;m0;%apply;nth_c%with;%p_mod;%and;%expr(0)%end;%in;
%let;o0;%apply;nth_c%with;%p_mod;%and;%expr(1)%end;%in;
%let;m1;%apply;nth_c%with;%p_mod;%and;%expr(2)%end;%in;
%let;o1;%apply;nth_c%with;%p_mod;%and;%expr(3)%end;%in;
%let;m2;%apply;nth_c%with;%p_mod;%and;%expr(4)%end;%in;
%let;o2;%apply;nth_c%with;%p_mod;%and;%expr(5)%end;%in;
%let;m3;%apply;nth_c%with;%p_mod;%and;%expr(6)%end;%in;
%let;o3;%apply;nth_c%with;%p_mod;%and;%expr(7)%end;%in;
%let;m4;%apply;nth_c%with;%p_mod;%and;%expr(8)%end;%in;
%let;o4;%apply;nth_c%with;%p_mod;%and;%expr(9)%end;%in;
%let;m5;%apply;nth_c%with;%p_mod;%and;%expr(10)%end;%in;
%let;o5;%apply;nth_c%with;%p_mod;%and;%expr(11)%end;%in;
%let;m6;%apply;nth_c%with;%p_mod;%and;%expr(12)%end;%in;
%let;o6;%apply;nth_c%with;%p_mod;%and;%expr(13)%end;%in;
%let;m7;%apply;nth_c%with;%p_mod;%and;%expr(14)%end;%in;
%let;o7;%apply;nth_c%with;%p_mod;%and;%expr(15)%end;%in;
%let;m8;%apply;nth_c%with;%p_mod;%and;%expr(16)%end;%in;
%let;o8;%apply;nth_c%with;%p_mod;%and;%expr(17)%end;%in;
%let;m9;%apply;nth_c%with;%p_mod;%and;%expr(18)%end;%in;
%let;o9;%apply;nth_c%with;%p_mod;%and;%expr(19)%end;%in;
%let;m10;%apply;nth_c%with;%p_mod;%and;%expr(20)%end;%in;
%let;o10;%apply;nth_c%with;%p_mod;%and;%expr(21)%end;%in;
%let;m11;%apply;nth_c%with;%p_mod;%and;%expr(22)%end;%in;
%let;o11;%apply;nth_c%with;%p_mod;%and;%expr(23)%end;%in;
%let;m12;%apply;nth_c%with;%p_mod;%and;%expr(24)%end;%in;
%let;o12;%apply;nth_c%with;%p_mod;%and;%expr(25)%end;%in;
%let;m13;%apply;nth_c%with;%p_mod;%and;%expr(26)%end;%in;
%let;o13;%apply;nth_c%with;%p_mod;%and;%expr(27)%end;%in;
%let;m14;%apply;nth_c%with;%p_mod;%and;%expr(28)%end;%in;
%let;o14;%apply;nth_c%with;%p_mod;%and;%expr(29)%end;%in;
%reset_count;
%for;i;0;15;
%let;mnb;%apply;mm(i)%in;
%if;(mnb!="")%incr_count;%end;
%end;
%let;p_mod_nbr;%count;%in;
%define;show_templ(tpl)
%include.tpl
%end;
%define;get_templ(tplnum)
%let;templ;modules/%bvar.perso_module_tplnum;%in
%apply;show_templ(templ)
%end;
%define;get_mod(modnum, optx)
%let;modx;modules/%bvar.perso_module_modnum;%in;
%let;op_m;optx%in;
%apply;show_templ(modx)
%end;
%define;test_templ(ix)
%if;(bvar.module_perso_ix="timeline")%incr_count;%end;
%end;
%reset_count;
%if;(p_mod!="" and p_mod!="zz")
%for;i;0;26;
%apply;test_templ%with;%apply;letter(i)%end;
%end;
%elseif;(bvar.module_perso_tplnb!="" and bvar.module_perso_tplnb>0)
%for;i;0;bvar.module_perso_tplnb;
%apply;test_templ(i)
%end;
%end;
%let;timeline;%if;(count>0)yes%else;no%end;%in;