When I am logged out and search for myself I can see all the details. I set Hide living person to Yes. I also changed (manually) the privacy.php $SHOW_LIVING_NAMES to $PRIV_USER. After re-importing the gedcom it still shows my details.
After reading an other post I checked the gedindex.php and found the following:
$indi = array();
$indi["name"] = "Quartel, Huibrecht Groeneveld ";
$indi["isdead"] = 1;
$indi["gedcom"] = "0 @I1427@ INDI\r\n1 REFN 1427\r\n1 NAME Huibrecht Groeneveld/Quartel/\r\n1 SEX M\r\n1 BIRT\r\n2 PLAC Kerkwerve\r\n2 DATE 11 SEP 1972\r\n1 DEAT\r\n2 PLAC \r\n2 DATE \r\n1 BURI\r\n2 PLAC \r\n2 DATE \r\n1 NOTE 378\r\n1 FAMS @F355@\r\n1 FAMC @F353@\r\n";
It has marked me as dead, but Birt:Date is set to 11 SEP 1972.
Ithas to do with the fact that there is a DEAT record. If I look at the is_dead($indirec) function I see a person is presumed dead if there is a "1 DEAT" substring. The GedCom is generated by Oedipus and there are no options to leave out "1 DEAT" when not filled in.
So if I comment out if (strstr($indirec, "1 DEAT")) return true; and regenerate te index it all work well.
This works for me but I can imagine this is not appropriate for others. Perhaps something to look at?
Btw: I love the application!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That's an option if you search for '1 DEAT\r\n2 PLAC \r\n2 DATE \r\n'.
Still, I was looking for a general solution that could be used within phpGedCom. And the prospect of having to go through the gedcom every time I generate a new one isn't nice.
Then again, if it's only me (using Oedipus) who is experiencing the problem it is worth the effort to use the text editor.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
"The presence of a DATE tag and/or PLACe tag makes the assertion of when and/or where the event took place, and therefore that the event did happen. The absence of both of these tags require a Y(es) value on the parent TAG line to assert that the event happened. Using this convention protects GEDCOM processors which may remove (prune) lines that have no value and no subordinate lines. It also allows a note or source to be attached to the event context without implying that the event occurred.
"It is not proper to use a N(o) value with an event tag to infer that it did not happen. Inferring that an event did not occur would require a different tag. A symbol such as using an exclamation mark (!) preceding an event tag to indicate an event is known not to have happened may be defined in the future."
Hi,
When I am logged out and search for myself I can see all the details. I set Hide living person to Yes. I also changed (manually) the privacy.php $SHOW_LIVING_NAMES to $PRIV_USER. After re-importing the gedcom it still shows my details.
After reading an other post I checked the gedindex.php and found the following:
$indi = array();
$indi["name"] = "Quartel, Huibrecht Groeneveld ";
$indi["isdead"] = 1;
$indi["gedcom"] = "0 @I1427@ INDI\r\n1 REFN 1427\r\n1 NAME Huibrecht Groeneveld/Quartel/\r\n1 SEX M\r\n1 BIRT\r\n2 PLAC Kerkwerve\r\n2 DATE 11 SEP 1972\r\n1 DEAT\r\n2 PLAC \r\n2 DATE \r\n1 BURI\r\n2 PLAC \r\n2 DATE \r\n1 NOTE 378\r\n1 FAMS @F355@\r\n1 FAMC @F353@\r\n";
It has marked me as dead, but Birt:Date is set to 11 SEP 1972.
Ithas to do with the fact that there is a DEAT record. If I look at the is_dead($indirec) function I see a person is presumed dead if there is a "1 DEAT" substring. The GedCom is generated by Oedipus and there are no options to leave out "1 DEAT" when not filled in.
So if I comment out if (strstr($indirec, "1 DEAT")) return true; and regenerate te index it all work well.
This works for me but I can imagine this is not appropriate for others. Perhaps something to look at?
Btw: I love the application!
Though it solves the visibility partially, it does not account for the individuals that are dead but not older than $MAX_ALIVE_AGE.
So if a DEAT element is found the date should be checked (looking for the year) to be set.
I have been trying to write the code myself but I cannot find out what regular expression to use.
Any help?
Regards, Herbert
why not use a text editor to search/replace all occurences of
1 DEAT\r\n
(ie the empty DEAT records)
That's an option if you search for '1 DEAT\r\n2 PLAC \r\n2 DATE \r\n'.
Still, I was looking for a general solution that could be used within phpGedCom. And the prospect of having to go through the gedcom every time I generate a new one isn't nice.
Then again, if it's only me (using Oedipus) who is experiencing the problem it is worth the effort to use the text editor.
Here is what the GEDCOM spec says about this:
"The presence of a DATE tag and/or PLACe tag makes the assertion of when and/or where the event took place, and therefore that the event did happen. The absence of both of these tags require a Y(es) value on the parent TAG line to assert that the event happened. Using this convention protects GEDCOM processors which may remove (prune) lines that have no value and no subordinate lines. It also allows a note or source to be attached to the event context without implying that the event occurred.
"It is not proper to use a N(o) value with an event tag to infer that it did not happen. Inferring that an event did not occur would require a different tag. A symbol such as using an exclamation mark (!) preceding an event tag to indicate an event is known not to have happened may be defined in the future."
http://www.gendex.com/gedcom55/55gctoc.htm
So the real bug here is with Oedipus, and they should change their gedcom export function to ignore DEAT tags if the date or place are unknown.
Unfortunately I cannot make the change in PhpGedView because there are other more common programs that use the 1 DEAT line to mark the person as dead.
--John
Thanks for your answer.
I know now how to solve it.
Best regards, Herbert