var locale_date_format=''; function findIndi(field, indiname) { pastefield = field; findwin = window.open('find.php?type=indi', '_blank', 'left=50, top=50, width=600, height=500, resizable=1, scrollbars=1'); return false; } function findPlace(field) { pastefield = field; findwin = window.open('find.php?type=place', '_blank', 'left=50, top=50, width=600, height=500, resizable=1, scrollbars=1'); return false; } function findMedia(field, choose, ged) { pastefield = field; if (!choose) choose="0all"; findwin = window.open('find.php?type=media&choose='+choose+'&ged='+ged, '_blank', 'left=50, top=50, width=600, height=500, resizable=1, scrollbars=1'); return false; } function findSource(field) { pastefield = field; findwin = window.open('find.php?type=source', '_blank', 'left=50, top=50, width=600, height=500, resizable=1, scrollbars=1'); return false; } // Shared Notes ========================= function findnote(field) { pastefield = field; findwin = window.open('find.php?type=note', '_blank', 'left=50, top=50, width=600, height=520, resizable=1, scrollbars=1'); return false; } // ===================================== function findRepository(field) { pastefield = field; findwin = window.open('find.php?type=repo', '_blank', 'left=50, top=50, width=600, height=500, resizable=1, scrollbars=1'); return false; } function findFamily(field) { pastefield = field; findwin = window.open('find.php?type=fam', '_blank', 'left=50, top=50, width=600, height=500, resizable=1, scrollbars=1'); return false; } function addnewrepository(field) { pastefield = field; window.open('edit_interface.php?action=addnewrepository&pid=newrepo', '_blank', 'top=70, left=70, width=600, height=500, resizable=1, scrollbars=1'); return false; } function openerpasteid(id) { window.opener.paste_id(id); window.close(); } function paste_id(value) { pastefield.value = value; } function paste_char(value, lang, mag) { pastefield.value += value; language_filter = lang; magnify = mag; if (pastefield.id=='NPFX' || pastefield.id=='GIVN' || pastefield.id=='SPFX' || pastefield.id=='SURN' || pastefield.id=='NSFX') { updatewholename(); } } function edit_close(newurl) { if (newurl) window.opener.location=newurl; else if (window.opener.showchanges) window.opener.showchanges(); window.close(); } 0) { $match[1] = strtolower(trim($match[1])); $gt = preg_match("/0 @(.+)@ (.+)/", $gedrec, $gmatch); if ($gt > 0) { $gid = trim($gmatch[1]); $type = trim($gmatch[2]); if (WT_USER_GEDCOM_ID == $gid) { return true; } if ($type=='FAM') { $parents = find_parents_in_record($gedrec); if (WT_USER_GEDCOM_ID == $parents["HUSB"] || WT_USER_GEDCOM_ID == $parents["WIFE"]) { return true; } } } return false; } return true; } //-- end checkFactEdit function if (!empty($pid)) { if (($pid!="newsour") && ($pid!="newrepo") && ($noteid!="newnote")) { if (!isset($pgv_changes[$pid."_".WT_GEDCOM])) { $gedrec = find_gedcom_record($pid, WT_GED_ID); } else { $gedrec = find_updated_record($pid, WT_GED_ID); } $ct = preg_match("/0 @$pid@ (.*)/", $gedrec, $match); if ($ct>0) { $type = trim($match[1]); $disp = displayDetailsById($pid, $type); } // Don't allow edits if the record has changed since the edit-link was created checkChangeTime($pid, $gedrec, safe_GET('accesstime', WT_REGEX_INTEGER)); } else { $disp = true; } } else if (!empty($famid)) { if ($famid != "new") { if (!isset($pgv_changes[$famid."_".WT_GEDCOM])) { $gedrec = find_gedcom_record($famid, WT_GED_ID); } else { $gedrec = find_updated_record($famid, WT_GED_ID); } $ct = preg_match("/0 @$famid@ (.*)/", $gedrec, $match); if ($ct>0) { $type = trim($match[1]); $disp = displayDetailsById($famid, $type); } // Don't allow edits if the record has changed since the edit-link was created checkChangeTime($famid, $gedrec, safe_GET('accesstime', WT_REGEX_INTEGER)); } } else if (($action!="addchild")&&($action!="addchildaction")&&($action!="addnewsource")&&($action!="mod_edit_fact")&&($action!="addnewnote")&&($action!="addmedia_links")&&($action!="addnoteaction")&&($action!="addnoteaction_assisted")) { echo "The \$pid variable was empty. Unable to perform $action xxx."; print_simple_footer(); $disp = true; } else { $disp = true; } if (!WT_USER_CAN_EDIT || !$disp || !$ALLOW_EDIT_GEDCOM) { //echo "pid: $pid
"; //echo "gedrec: $gedrec
"; echo i18n::translate('Access Denied
You do not have access to this resource.'); //-- display messages as to why the editing access was denied if (!WT_USER_CAN_EDIT) { echo "
", i18n::translate('This user name cannot edit this GEDCOM.'); } if (!$ALLOW_EDIT_GEDCOM) { echo "
", i18n::translate('Editing this GEDCOM has been disabled by the administrator.'); } if (!$disp) { echo "
", i18n::translate('Privacy settings prevent you from editing this record.'); if (!empty($pid)) { echo "
", i18n::translate('You have no access to'), " pid $pid."; } if (!empty($famid)) { echo "
", i18n::translate('You have no access to'), " famid $famid."; } } if (empty($gedrec)) { echo "
", i18n::translate('The requested GEDCOM record could not be found. This could be caused by a link to an invalid person or by a corrupt GEDCOM file.'), ""; } echo "

", i18n::translate('Close Window'), "
\n"; print_simple_footer(); exit; } //-- privatize the record so that line numbers etc. match what was in the display //-- data that is hidden because of privacy is stored in the $pgv_private_records array //-- any private data will be restored when the record is replaced if (isset($gedrec)) { $gedrec = privatize_gedcom($gedrec); } if (!isset($type)) { $type=""; } $level0type = $type; if ($type=="INDI") { $record=Person::getInstance($pid); echo "", PrintReady($record->getFullName()), "
"; } elseif ($type=="FAM") { if (!empty($pid)) { $record=Family::getInstance($pid); } else { $record=Family::getInstance($famid); } echo "", PrintReady($record->getFullName()), "
"; } elseif ($type=="SOUR") { $record=Source::getInstance($pid); echo "", PrintReady($record->getFullName()), "   "; if ($TEXT_DIRECTION=="rtl") { echo getRLM(); } echo "(", $pid, ")"; if ($TEXT_DIRECTION=="rtl") { echo getRLM(); } echo "
"; } if (strstr($action, "addchild")) { if (empty($famid)) { echo '', i18n::translate('Add an unlinked person'), '', help_link('edit_add_unlinked_person'); } else { echo '', i18n::translate('Add child'), '', help_link('edit_add_child'); } } else if (strstr($action, "addspouse")) { if ($famtag=="WIFE") { echo '', i18n::translate('Add wife'), ''; } else { echo '', i18n::translate('Add husband'), ''; } echo help_link('edit_add_spouse'); } else if (strstr($action, "addnewparent")) { if ($famtag=="WIFE") { echo '', i18n::translate('Add a new mother'), ''; } else { echo '', i18n::translate('Add a new father'), ''; } echo help_link('edit_add_parent'); }else if (strstr($action, "addopfchild")) { echo '', i18n::translate('Add a child to create a one-parent family'), '', help_link('edit_add_child'); } else { echo '', i18n::translate($type), ''; } //------------------------------------------------------------------------------ switch ($action) { case 'delete': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } if (!empty($linenum)) { if ($linenum===0) { if (delete_gedrec($pid)) { echo i18n::translate('GEDCOM record successfully deleted.'); } } else { $mediaid=''; if (isset($_REQUEST['mediaid'])) { $mediaid = $_REQUEST['mediaid']; } //-- when deleting a media link //-- $linenum comes is an OBJE and the $mediaid to delete should be set if (!is_numeric($linenum)) { $newged = remove_subrecord($gedrec, $linenum, $mediaid); } else { $newged = remove_subline($gedrec, $linenum); } $success = (replace_gedrec($pid, $newged, $update_CHAN)); if ($success) { echo "

", i18n::translate('GEDCOM record successfully deleted.'); } } } break; //------------------------------------------------------------------------------ //-- echo a form to edit the raw gedcom record in a large textarea case 'editraw': if (!checkFactEdit($gedrec)) { echo "
", i18n::translate('Privacy settings prevent you from editing this record.'); if (!empty($pid)) { echo "
", i18n::translate('You have no access to'), " pid $pid."; } if (!empty($famid)) { echo "
", i18n::translate('You have no access to'), " famid $famid."; } print_simple_footer(); exit; } else { echo "
", i18n::translate('Edit raw GEDCOM record'), '', help_link('edit_edit_raw'); echo "
\n"; echo "\n"; echo "\n"; echo "
\n"; print_specialchar_link("newgedrec", true); echo "
\n"; echo "\n
"; if (WT_USER_IS_ADMIN) { echo "\n"; echo "\n"; echo "
"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", $gedrec)); echo format_fact_date($event, false, true); echo "
"; } echo "
"; echo "
"; echo WT_JS_START; echo "textbox = document.getElementById('newgedrec');"; echo "savebutton = document.getElementById('savebutton');"; echo "if (textbox && savebutton) {"; echo " window.resizeTo(textbox.offsetLeft+textbox.offsetWidth+100, savebutton.offsetTop+savebutton.offsetHeight+150);"; echo "}"; echo WT_JS_END; } break; //------------------------------------------------------------------------------ //-- edit a fact record in a form case 'edit': init_calendar_popup(); echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "

\n"; echo ""; $level1type = create_edit_form($gedrec, $linenum, $level0type); if (WT_USER_IS_ADMIN) { echo "\n"; } echo "
"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", $gedrec)); echo format_fact_date($event, false, true); echo "
"; if ($level0type=="SOUR" || $level0type=="REPO" || $level0type=="OBJE") { if ($level1type!="NOTE") print_add_layer("NOTE"); } else { if ($level1type!="SEX") { if ($level1type!="ASSO" && $level1type!="REPO" && $level1type!="NOTE") print_add_layer("ASSO"); // allow to add godfather and godmother for CHR fact or best man and bridesmaid for MARR fact in one window if ($level1type=="CHR" || $level1type=="MARR") print_add_layer("ASSO2"); if ($level1type!="SOUR" && $level1type!="REPO" ) print_add_layer("SOUR"); if ($level1type!="NOTE") print_add_layer("NOTE"); // Shared Note addition ------------ if ($level1type!="SHARED_NOTE" && $level1type!="NOTE") print_add_layer("SHARED_NOTE"); if ($level1type!="OBJE" && $level1type!="REPO" && $MULTI_MEDIA) print_add_layer("OBJE"); //-- RESN missing in new structure, RESN can be added to all level 1 tags if (!in_array("RESN", $tags)) print_add_layer("RESN"); } } echo "

\n"; echo "
\n"; break; //------------------------------------------------------------------------------ case 'add': // // Start of add section... // init_calendar_popup(); echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "

\n"; echo ""; create_add_form($fact); if (WT_USER_IS_ADMIN) { echo "\n"; } echo "
"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", $gedrec)); echo format_fact_date($event, false, true); echo "
"; if ($level0type=="SOUR" || $level0type=="REPO") { if ($fact!="NOTE") print_add_layer("NOTE"); } else { if ($fact!="OBJE") { if ($fact!="ASSO" && $fact!="SOUR" && $fact!="REPO" && $fact!="SHARED_NOTE") print_add_layer("ASSO"); // allow to add godfather and godmother for CHR fact or best man and bridesmaid for MARR fact in one window if ($fact=="CHR" || $fact=="MARR") print_add_layer("ASSO2"); if ($fact!="SOUR" && $fact!="REPO" ) print_add_layer("SOUR"); if ($fact!="NOTE" && $fact!="SHARED_NOTE") print_add_layer("NOTE"); // Shared Note addition ------------ if ($fact!="SHARED_NOTE" && $fact!="NOTE") print_add_layer("SHARED_NOTE"); if ($fact!="REPO") print_add_layer("OBJE"); } } //-- RESN missing in new structure, RESN can be added to all level 1 tags if (!in_array("RESN", $tags)) print_add_layer("RESN"); echo "

\n"; echo "
\n"; // } break; //------------------------------------------------------------------------------ case 'addchild': print_indi_form("addchildaction", $famid, "", "", "CHIL", @$_REQUEST["gender"]); break; //------------------------------------------------------------------------------ case 'addspouse': print_indi_form("addspouseaction", $famid, "", "", $famtag); break; //------------------------------------------------------------------------------ case 'addnewparent': print_indi_form("addnewparentaction", $famid, "", "", $famtag); break; //------------------------------------------------------------------------------ case 'addopfchild': print_indi_form('addopfchildaction', $famid, '', '', 'CHIL'); break; //------------------------------------------------------------------------------ case 'addfamlink': echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo ""; echo ""; if ($famtag=='CHIL') { echo '', '', '', ''; } if (WT_USER_IS_ADMIN) { echo "\n"; } echo "
", i18n::translate('Family'), " "; print_findfamily_link("famid"); echo "\n
', i18n::translate('Pedigree'), '', edit_field_pedi('pedigree'), '
"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", $gedrec)); echo format_fact_date($event, false, true); echo "
\n"; echo "
\n"; echo "
\n"; break; //------------------------------------------------------------------------------ case 'linkspouse': init_calendar_popup(); echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo ""; echo ""; add_simple_tag("0 MARR"); add_simple_tag("0 DATE", "MARR"); add_simple_tag("0 PLAC", "MARR"); if (WT_USER_IS_ADMIN) { echo "\n"; } echo "
"; if ($famtag=="WIFE") { echo i18n::translate('Wife'); } else { echo i18n::translate('Husband'); } echo " "; print_findindi_link("spouseid", ""); echo "\n
"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", $gedrec)); echo format_fact_date($event, false, true); echo "
"; print_add_layer("ASSO"); // allow to add godfather and godmother for CHR fact or best man and bridesmaid for MARR fact in one window print_add_layer("ASSO2"); print_add_layer("SOUR"); print_add_layer("NOTE"); print_add_layer("SHARED_NOTE"); print_add_layer("OBJE"); print_add_layer("RESN"); echo "
\n"; echo "
\n"; break; //------------------------------------------------------------------------------ case 'linkfamaction': // Make sure we have the right ID (f123 vs. F123) $famid=Family::getInstance($famid)->getXref(); if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } if (!isset($pgv_changes[$famid."_".WT_GEDCOM])) $famrec = find_gedcom_record($famid, WT_GED_ID); else $famrec = find_updated_record($famid, WT_GED_ID); $famrec = trim($famrec); if (!empty($famrec)) { $itag = "FAMC"; if ($famtag=="HUSB" || $famtag=="WIFE") $itag="FAMS"; //-- update the individual record for the person if (strpos($gedrec, "1 $itag @$famid@")===false) { $gedrec .= "\n"; if ($itag=="FAMC") { $pedigree=""; if (isset($_REQUEST['pedigree'])) $pedigree = $_REQUEST['pedigree']; switch ($pedigree) { case 'birth': $gedrec .= "1 FAMC @$famid@\n2 PEDI $pedigree"; break; case 'adopted': $gedrec .= "1 FAMC @$famid@\n2 PEDI $pedigree\n1 ADOP\n2 FAMC @$famid@\n3 ADOP BOTH"; break; case 'sealing': $gedrec .= "1 FAMC @$famid@\n2 PEDI $pedigree\n1 SLGC\n2 FAMC @$famid@"; break; case 'foster': $gedrec .= "1 FAMC @$famid@\n2 PEDI $pedigree\n1 EVEN\n2 TYPE $pedigree"; break; default: $gedrec .= "1 FAMC @$famid@"; break; } } else { $gedrec .= "1 FAMS @$famid@"; } replace_gedrec($pid, $gedrec, $update_CHAN); } //-- if it is adding a new child to a family if ($famtag=="CHIL") { if (strpos($famrec, "1 $famtag @$pid@")===false) { $famrec = trim($famrec) . "\n1 $famtag @$pid@\n"; replace_gedrec($famid, $famrec, $update_CHAN); } } //-- if it is adding a husband or wife else { //-- check if the family already has a HUSB or WIFE $ct = preg_match("/1 $famtag @(.*)@/", $famrec, $match); if ($ct>0) { //-- get the old ID $spid = trim($match[1]); //-- only continue if the old husb/wife is not the same as the current one if ($spid!=$pid) { //-- change a of the old ids to the new id $famrec = str_replace("1 $famtag @$spid@", "1 $famtag @$pid@", $famrec); if (WT_DEBUG) { echo "
$famrec
"; } replace_gedrec($famid, $famrec, $update_CHAN); //-- remove the FAMS reference from the old husb/wife if (!empty($spid)) { if (!isset($pgv_changes[$spid."_".WT_GEDCOM])) $srec = find_gedcom_record($spid, WT_GED_ID); else $srec = find_updated_record($spid, WT_GED_ID); if ($srec) { $srec = str_replace("1 $itag @$famid@", "", $srec); if (WT_DEBUG) { echo "
$srec
"; } replace_gedrec($spid, $srec, $update_CHAN); } } } } else { $famrec .= "\n1 $famtag @$pid@\n"; if (WT_DEBUG) { echo "
$famrec
"; } replace_gedrec($famid, $famrec, $update_CHAN); } } } else echo "Family record not found"; break; //------------------------------------------------------------------------------ //-- add new source case 'addnewsource': echo WT_JS_START; ?> function check_form(frm) { if (frm.TITL.value=="") { alert(''); frm.TITL.focus(); return false; } return true; }
\n"; } ?>

"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), ""; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", "")); echo format_fact_date($event, false, true); echo "
" border="0" width="11" height="11" alt="" title="" />

0) { $newgedrec .= "1 DATA\n"; $newgedrec .= "2 EVEN ".implode(",", $EVEN)."\n"; if (!empty($EVEN_DATE)) $newgedrec .= "3 DATE ".$EVEN_DATE."\n"; if (!empty($EVEN_PLAC)) $newgedrec .= "3 PLAC ".$EVEN_PLAC."\n"; if (!empty($AGNC)) $newgedrec .= "2 AGNC ".$AGNC."\n"; } if (isset($_REQUEST['ABBR'])) $ABBR = $_REQUEST['ABBR']; if (isset($_REQUEST['TITL'])) $TITL = $_REQUEST['TITL']; if (isset($_REQUEST['_HEB'])) $_HEB = $_REQUEST['_HEB']; if (isset($_REQUEST['ROMN'])) $ROMN = $_REQUEST['ROMN']; if (isset($_REQUEST['AUTH'])) $AUTH = $_REQUEST['AUTH']; if (isset($_REQUEST['PUBL'])) $PUBL = $_REQUEST['PUBL']; if (isset($_REQUEST['REPO'])) $REPO = $_REQUEST['REPO']; if (isset($_REQUEST['CALN'])) $CALN = $_REQUEST['CALN']; if (!empty($ABBR)) $newgedrec .= "1 ABBR $ABBR\n"; if (!empty($TITL)) { $newgedrec .= "1 TITL $TITL\n"; if (!empty($_HEB)) $newgedrec .= "2 _HEB $_HEB\n"; if (!empty($ROMN)) $newgedrec .= "2 ROMN $ROMN\n"; } if (!empty($AUTH)) $newgedrec .= "1 AUTH $AUTH\n"; if (!empty($PUBL)) { foreach (preg_split("/\r?\n/", $PUBL) as $k=>$line){ if ( $k==0 ) { $newgedrec .= "1 PUBL $line\n"; } else { $newgedrec .= "2 CONT $line\n"; } } } if (!empty($REPO)) { $newgedrec .= "1 REPO @$REPO@\n"; if (!empty($CALN)) $newgedrec .= "2 CALN $CALN\n"; } if (WT_DEBUG) { echo "
$newgedrec
"; } $xref = append_gedrec($newgedrec, $update_CHAN); $link = "source.php?sid=$xref&show_changes=yes"; if ($xref) { echo "

\n", i18n::translate('New source created successfully.'), "

"; echo "", i18n::translate('Paste the following ID into your editing fields to reference the newly created record '), " $xref\n"; } break; //------------------------------------------------------------------------------ //-- add new Shared Note case 'addnewnote': echo WT_JS_START; ?> function check_form(frm) { if (frm.TITL.value=="") { alert(''); frm.TITL.focus(); return false; } return true; }
"; echo ""; echo ""; echo i18n::translate('Shared Note'), help_link('SHARED_NOTE'); echo ""; echo ""; print_specialchar_link("NOTE", true); echo ""; echo ""; if (WT_USER_IS_ADMIN) { echo ""; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", "")); echo format_fact_date($event, false, true); echo "\n"; } $tabkey++; echo ""; echo "

"; echo ""; ?>
0) { $newgedrec .= "1 DATA\n"; $newgedrec .= "2 EVEN ".implode(",", $EVEN)."\n"; if (!empty($EVEN_DATE)) $newgedrec .= "3 DATE ".$EVEN_DATE."\n"; if (!empty($EVEN_PLAC)) $newgedrec .= "3 PLAC ".$EVEN_PLAC."\n"; if (!empty($AGNC)) $newgedrec .= "2 AGNC ".$AGNC."\n"; } if (isset($_REQUEST['ABBR'])) $ABBR = $_REQUEST['ABBR']; if (isset($_REQUEST['TITL'])) $TITL = $_REQUEST['TITL']; if (isset($_REQUEST['DATE'])) $DATE = $_REQUEST['DATE']; if (isset($_REQUEST['NOTE'])) $NOTE = $_REQUEST['NOTE']; if (isset($_REQUEST['_HEB'])) $_HEB = $_REQUEST['_HEB']; if (isset($_REQUEST['ROMN'])) $ROMN = $_REQUEST['ROMN']; if (isset($_REQUEST['AUTH'])) $AUTH = $_REQUEST['AUTH']; if (isset($_REQUEST['PUBL'])) $PUBL = $_REQUEST['PUBL']; if (isset($_REQUEST['REPO'])) $REPO = $_REQUEST['REPO']; if (isset($_REQUEST['CALN'])) $CALN = $_REQUEST['CALN']; if (!empty($NOTE)) { foreach (preg_split("/\r?\n/", $NOTE) as $k=>$line) { if ($k==0) { $newgedrec = "0 @XREF@ NOTE {$line}\n"; } else { $newgedrec .= "1 CONT {$line}\n"; } } } if (!empty($ABBR)) $newgedrec .= "1 ABBR $ABBR\n"; if (!empty($TITL)) { // $newgedrec .= "1 TITL $TITL\n"; // $newgedrec .= "2 DATE $DATE\n"; if (!empty($_HEB)) $newgedrec .= "2 _HEB $_HEB\n"; if (!empty($ROMN)) $newgedrec .= "2 ROMN $ROMN\n"; } if (!empty($AUTH)) $newgedrec .= "1 AUTH $AUTH\n"; if (!empty($PUBL)) { foreach (preg_split("/\r?\n/", $PUBL) as $k=>$line) { if ( $k==0 ) { $newgedrec .= "1 PUBL $line\n"; } else { $newgedrec .= "2 CONT $line\n"; } } } if (!empty($NOTE)) { //$newgedrec .= "1 NOTE @$NOTE@\n"; if (!empty($CALN)) $newgedrec .= "2 CALN $CALN\n"; } if (WT_DEBUG) { echo "
$newgedrec
"; } // $xref = "Test"; $xref = append_gedrec($newgedrec, $update_CHAN); // Not sure if next line is needed ?? BH ?? -------- // $link = "note.php?nid=$xref&show_changes=yes"; // ------------------------------------------------- if ($xref != "none") { echo "

\n".i18n::translate('New Shared Note created successfully.')." (".$xref.")

"; echo "".i18n::translate('Paste the following ID into your editing fields to reference the newly created record ')." $xref\n"; echo "



"; echo "



"; } break; //------------------------------------------------------------------------------ //-- add new Shared Note census event using GEDFact assistant case 'addnewnote_assisted': if (isset($_REQUEST['pid'])) $pid = $_REQUEST['pid']; global $pid; echo WT_JS_START; ?> function check_form(frm) { /* if (frm.TITL.value=="") { alert(''); frm.TITL.focus(); return false; } */ return true; }
/>
function check_form(frm) { if (frm.TITL.value=="") { alert(''); frm.TITL.focus(); return false; } return true; }
\n"; echo "\n"; echo "\n"; echo "

\n"; echo ""; $gedlines = explode("\n", $gedrec); // -- find the number of lines in the record $uniquefacts = preg_split("/[, ;:]+/", $SOUR_FACTS_UNIQUE, -1, PREG_SPLIT_NO_EMPTY); $usedfacts = array(); $lines = count($gedlines); if ($lines==1) { foreach ($uniquefacts as $fact) { $gedrec.="\n1 ".$fact; } $gedlines = explode("\n", $gedrec); } for ($i=$linenum; $i<$lines; $i++) { $fields = explode(' ', $gedlines[$i]); if ((substr($gedlines[$i], 0, 1)<2) && $fields[1]!="CHAN") { $level1type = create_edit_form($gedrec, $i, $level0type); echo "\n"; $usedfacts[]=$fields[1]; foreach ($uniquefacts as $key=>$fact) { if ($fact==$fields[1]) unset($uniquefacts[$key]); } } } foreach ($uniquefacts as $key=>$fact) { $gedrec.="\n1 ".$fact; $level1type = create_edit_form($gedrec, $lines++, $level0type); echo "\n"; } if (WT_USER_IS_ADMIN) { echo "\n"; } echo "
"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", $gedrec)); echo format_fact_date($event, false, true); echo "
"; print_add_layer("NOTE"); print_add_layer("SHARED_NOTE"); print_add_layer("OBJE"); //-- RESN missing in new structure, RESN can be added to all level 1 tags if ($tag && !in_array("RESN", $tags)) print_add_layer("RESN"); echo "

\n"; echo "\n"; break; //------------------------------------------------------------------------------ //-- edit a Shared Note case 'editnote': echo WT_JS_START; ?> function check_form(frm) { if (frm.TITL.value=="") { alert(''); frm.TITL.focus(); return false; } return true; }

\n"; } ?>

"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", $gedrec)); echo format_fact_date($event, false, true); echo "


function check_form(frm) { if (frm.NAME.value=="") { alert(''); frm.NAME.focus(); return false; } return true; }
\n"; } ?>
"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", "")); echo format_fact_date($event, false, true); echo "
$line) { if ( $k==0 ) { $newgedrec .= "1 ADDR {$line}\n"; } else { $newgedrec .= "2 CONT {$line}\n"; } } } if (!empty($PHON)) $newgedrec .= "1 PHON $PHON\n"; if (!empty($FAX)) $newgedrec .= "1 FAX $FAX\n"; if (!empty($EMAIL)) $newgedrec .= "1 EMAIL $EMAIL\n"; if (!empty($WWW)) $newgedrec .= "1 WWW $WWW\n"; if (WT_DEBUG) { echo "
$newgedrec
"; } $xref = append_gedrec($newgedrec, $update_CHAN); $link = "repo.php?rid=$xref&show_changes=yes"; if ($xref) { echo "

\n", i18n::translate('New Repository created'), "

"; echo "", i18n::translate('Paste the following Repository ID into your editing fields to reference this Repository '), " $xref\n"; } break; //------------------------------------------------------------------------------ //-- get the new incoming raw gedcom record and store it in the file case 'updateraw': if (isset($_REQUEST['newgedrec'])) $newgedrec = $_REQUEST['newgedrec']; if (WT_DEBUG) { phpinfo(INFO_VARIABLES); echo "
$newgedrec
"; } $newgedrec = trim($newgedrec); $success = (!empty($newgedrec)&&(replace_gedrec($pid, $newgedrec, $update_CHAN))); if ($success) echo "

", i18n::translate('Update successful'); break; //---------------------------------------------------------------------------------- //-- reconstruct the gedcom from the incoming fields and store it in the file case 'update': /* ----------------------------------------------------------------------------- * $pids_array is a text file passed via js from the CENS GEDFact Assistant * to the hidden field id=\"pids_array\" in the case 'add'. * The subsequent array ($cens_pids), after exploding this text file, * is an array of indi id's within the Census Transcription * If $cens_pids is set, then this allows the array to "copy" the new CENS event * using the foreach loop to these id's * If $cens_pids is not set, then the array created is just the current $pid. * ----------------------------------------------------------------------------- */ if (isset($_REQUEST['pids_array_add'])) $pids_array = $_REQUEST['pids_array_add']; if (isset($_REQUEST['pids_array_edit'])) $pids_array = $_REQUEST['pids_array_edit']; if (isset($pids_array) && $pids_array!="no_array") { $cens_pids=explode(', ', $pids_array); } if (!isset($cens_pids)){ $cens_pids = array($pid); $idnums=""; }else{ $cens_pids = $cens_pids; $idnums="multi"; } // Cycle through each individual concerned defined by $cens_pids array. foreach ($cens_pids as $pid) { if (isset($pid)) { $gedrec = find_updated_record($pid, WT_GED_ID); if (empty($gedrec)) $gedrec = find_gedcom_record($pid, WT_GED_ID); } else if (isset($famid)) { $gedrec = find_updated_record($famid, WT_GED_ID); if (empty($gedrec)) $gedrec = find_gedcom_record($famid, WT_GED_ID); } if (WT_DEBUG) { phpinfo(INFO_VARIABLES); echo "
$gedrec
"; echo "

"; } // add or remove Y if ($text[0]=="Y" or $text[0]=="y") $text[0]=""; if (in_array($tag[0], $emptyfacts) && array_unique($text)==array("") && !$islink[0]) $text[0]="Y"; //-- check for photo update if (count($_FILES)>0) { if (isset($_REQUEST['folder'])) $folder = $_REQUEST['folder']; $uploaded_files = array(); if (substr($folder, 0, 1) == "/") $folder = substr($folder, 1); if (substr($folder, -1, 1) != "/") $folder .= "/"; foreach ($_FILES as $upload) { if (!empty($upload['tmp_name'])) { if (!move_uploaded_file($upload['tmp_name'], $MEDIA_DIRECTORY.$folder.basename($upload['name']))) { $error .= "
".i18n::translate('There was an error uploading your file.')."
".file_upload_error_text($upload['error']); $uploaded_files[] = ""; } else { $filename = $MEDIA_DIRECTORY.$folder.basename($upload['name']); $uploaded_files[] = $MEDIA_DIRECTORY.$folder.basename($upload['name']); if (!is_dir($MEDIA_DIRECTORY."thumbs/".$folder)) mkdir($MEDIA_DIRECTORY."thumbs/".$folder); $thumbnail = $MEDIA_DIRECTORY."thumbs/".$folder.basename($upload['name']); generate_thumbnail($filename, $thumbnail); if (!empty($error)) { echo "", $error, ""; } } } else $uploaded_files[] = ""; } } $gedlines = explode("\n", trim($gedrec)); //-- for new facts set linenum to number of lines if (!is_array($linenum)) { if ($linenum=="new" || $idnums=="multi") { $linenum = count($gedlines); } $newged = ""; for ($i=0; $i<$linenum; $i++) { $newged .= $gedlines[$i]."\n"; } //-- for edits get the level from the line if (isset($gedlines[$linenum])) { $fields = explode(' ', $gedlines[$linenum]); $glevel = $fields[0]; $i++; while (($i$glevel)) $i++; } if (!isset($glevels)) $glevels = array(); if (isset($_REQUEST['NAME'])) $NAME = $_REQUEST['NAME']; if (isset($_REQUEST['TYPE'])) $TYPE = $_REQUEST['TYPE']; if (isset($_REQUEST['NPFX'])) $NPFX = $_REQUEST['NPFX']; if (isset($_REQUEST['GIVN'])) $GIVN = $_REQUEST['GIVN']; if (isset($_REQUEST['NICK'])) $NICK = $_REQUEST['NICK']; if (isset($_REQUEST['SPFX'])) $SPFX = $_REQUEST['SPFX']; if (isset($_REQUEST['SURN'])) $SURN = $_REQUEST['SURN']; if (isset($_REQUEST['NSFX'])) $NSFX = $_REQUEST['NSFX']; if (isset($_REQUEST['ROMN'])) $ROMN = $_REQUEST['ROMN']; if (isset($_REQUEST['FONE'])) $FONE = $_REQUEST['FONE']; if (isset($_REQUEST['_HEB'])) $_HEB = $_REQUEST['_HEB']; if (isset($_REQUEST['_AKA'])) $_AKA = $_REQUEST['_AKA']; if (isset($_REQUEST['_MARNM'])) $_MARNM = $_REQUEST['_MARNM']; if (!empty($NAME)) $newged .= "1 NAME $NAME\n"; if (!empty($TYPE)) $newged .= "2 TYPE $TYPE\n"; if (!empty($NPFX)) $newged .= "2 NPFX $NPFX\n"; if (!empty($GIVN)) $newged .= "2 GIVN $GIVN\n"; if (!empty($NICK)) $newged .= "2 NICK $NICK\n"; if (!empty($SPFX)) $newged .= "2 SPFX $SPFX\n"; if (!empty($SURN)) $newged .= "2 SURN $SURN\n"; if (!empty($NSFX)) $newged .= "2 NSFX $NSFX\n"; if (isset($_REQUEST['NOTE'])) $NOTE = $_REQUEST['NOTE']; if (!empty($NOTE)) { foreach (preg_split("/\r?\n/", $NOTE, -1 ) as $k=>$line) { if ($k==0) { $gedlines[$k] = "0 @{$pid}@ NOTE {$line}\n"; } else { $gedlines[$k] = "1 CONT {$line}\n"; } } } //-- Refer to Bug [ 1329644 ] Add Married Name - Wrong Sequence //-- _HEB/ROMN/FONE have to be before _AKA, even if _AKA exists in input and the others are now added if (!empty($ROMN)) $newged .= "2 ROMN $ROMN\n"; if (!empty($FONE)) $newged .= "2 FONE $FONE\n"; if (!empty($_HEB)) $newged .= "2 _HEB $_HEB\n"; $newged = handle_updates($newged); if (!empty($_AKA)) $newged .= "2 _AKA $_AKA\n"; if (!empty($_MARNM)) $newged .= "2 _MARNM $_MARNM\n"; while ($i$glevel)) $i++; } if (!isset($glevels)) $glevels = array(); if (isset($_REQUEST['NAME'])) $NAME = $_REQUEST['NAME']; if (isset($_REQUEST['TYPE'])) $TYPE = $_REQUEST['TYPE']; if (isset($_REQUEST['NPFX'])) $NPFX = $_REQUEST['NPFX']; if (isset($_REQUEST['GIVN'])) $GIVN = $_REQUEST['GIVN']; if (isset($_REQUEST['NICK'])) $NICK = $_REQUEST['NICK']; if (isset($_REQUEST['SPFX'])) $SPFX = $_REQUEST['SPFX']; if (isset($_REQUEST['SURN'])) $SURN = $_REQUEST['SURN']; if (isset($_REQUEST['NSFX'])) $NSFX = $_REQUEST['NSFX']; if (isset($_REQUEST['ROMN'])) $ROMN = $_REQUEST['ROMN']; if (isset($_REQUEST['FONE'])) $FONE = $_REQUEST['FONE']; if (isset($_REQUEST['_HEB'])) $_HEB = $_REQUEST['_HEB']; if (isset($_REQUEST['_AKA'])) $_AKA = $_REQUEST['_AKA']; if (isset($_REQUEST['_MARNM'])) $_MARNM = $_REQUEST['_MARNM']; if (!empty($NAME)) $newged .= "1 NAME $NAME\n"; if (!empty($TYPE)) $newged .= "2 TYPE $TYPE\n"; if (!empty($NPFX)) $newged .= "2 NPFX $NPFX\n"; if (!empty($GIVN)) $newged .= "2 GIVN $GIVN\n"; if (!empty($NICK)) $newged .= "2 NICK $NICK\n"; if (!empty($SPFX)) $newged .= "2 SPFX $SPFX\n"; if (!empty($SURN)) $newged .= "2 SURN $SURN\n"; if (!empty($NSFX)) $newged .= "2 NSFX $NSFX\n"; if (isset($_REQUEST['NOTE'])) $NOTE = $_REQUEST['NOTE']; if (!empty($NOTE)) { foreach (preg_split("/\r?\n/", $NOTE) as $k=>$line) { if ($k==0) { $gedlines[$k] = "0 @{$pid}@ NOTE {$line}\n"; } else { $gedlines[$k] = "1 CONT {$line}\n"; } } } //-- Refer to Bug [ 1329644 ] Add Married Name - Wrong Sequence //-- _HEB/ROMN/FONE have to be before _AKA, even if _AKA exists in input and the others are now added if (!empty($ROMN)) $newged .= "2 ROMN $ROMN\n"; if (!empty($FONE)) $newged .= "2 FONE $FONE\n"; if (!empty($_HEB)) $newged .= "2 _HEB $_HEB\n"; if (!empty($_AKA)) $newged .= "2 _AKA $_AKA\n"; if (!empty($_MARNM)) $newged .= "2 _MARNM $_MARNM\n"; $newged = handle_updates($newged); $current = $editline; break; } } if (WT_DEBUG) { echo "

"; echo "
$newged
"; } $success = (replace_gedrec($pid, $newged, $update_CHAN)); if ($success) { echo "

", i18n::translate('Update successful'), " - ", $pid; } } // end foreach $cens_pids ------------- break; //------------------------------------------------------------------------------ case 'addchildaction': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } splitSOUR(); // separate SOUR record from the rest $gedrec ="0 @REF@ INDI\n"; $gedrec.=addNewName(); $gedrec.=addNewSex (); if (preg_match_all('/([A-Z0-9_]+)/', $QUICK_REQUIRED_FACTS, $matches)) { foreach ($matches[1] as $match) { $gedrec.=addNewFact($match); } } if (!empty($famid)) { $gedrec .= "\n"; $PEDI=""; if (isset($_REQUEST['PEDI'])) $PEDI = $_REQUEST['PEDI']; switch ($PEDI) { case 'birth': $gedrec.="1 FAMC @$famid@\n2 PEDI $PEDI"; break; case 'adopted': $gedrec.="1 FAMC @$famid@\n2 PEDI $PEDI\n1 ADOP\n2 FAMC @$famid@\n3 ADOP BOTH"; break; case 'sealing': $gedrec.="1 FAMC @$famid@\n2 PEDI $PEDI\n1 SLGC\n2 FAMC @$famid@"; break; case 'foster': $gedrec.="1 FAMC @$famid@\n2 PEDI $PEDI\n1 EVEN\n2 TYPE $PEDI"; break; default: $gedrec.="1 FAMC @$famid@"; break; } $gedrec .= "\n"; } if (safe_POST_bool('SOUR_INDI')) { $gedrec = handle_updates($gedrec); } else { $gedrec = updateRest($gedrec); } if (WT_DEBUG) { echo "
$gedrec
"; } $xref = append_gedrec($gedrec, $update_CHAN); $link = "individual.php?pid=$xref&show_changes=yes"; if ($xref) { echo "

", i18n::translate('Update successful'); $gedrec = ""; if (!empty($famid)) { // Insert new child at the right place [ 1686246 ] $newchild = Person::getInstance($xref); $family = Family::getInstance($famid); if ($family->getUpdatedFamily()) $family = $family->getUpdatedFamily(); $gedrec = $family->gedrec; $done = false; foreach ($family->getChildren() as $key=>$child) { if (GedcomDate::Compare($newchild->getEstimatedBirthDate(), $child->getEstimatedBirthDate())<0) { // new child is older : insert before $gedrec = str_replace("1 CHIL @".$child->getXref()."@", "1 CHIL @$xref@\n1 CHIL @".$child->getXref()."@", $gedrec); $done = true; break; } } // new child is the only one if (count($family->getChildren())<1) $gedrec .= "\n1 CHIL @$xref@"; else if (!$done) { // new child is the youngest or undated : insert after $gedrec = str_replace("1 CHIL @".$child->getXref()."@", "1 CHIL @".$child->getXref()."@\n1 CHIL @$xref@", $gedrec); } if (WT_DEBUG) { echo "
$gedrec
"; } replace_gedrec($famid, $gedrec, $update_CHAN); } $success = true; } break; //------------------------------------------------------------------------------ case 'addspouseaction': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } splitSOUR(); // separate SOUR record from the rest $gedrec ="0 @REF@ INDI\n"; $gedrec.=addNewName(); $gedrec.=addNewSex (); if (preg_match_all('/([A-Z0-9_]+)/', $QUICK_REQUIRED_FACTS, $matches)) { foreach ($matches[1] as $match) { $gedrec.=addNewFact($match); } } if (safe_POST_bool('SOUR_INDI')) { $gedrec = handle_updates($gedrec); } else { $gedrec = updateRest($gedrec); } if (WT_DEBUG) { echo "
$gedrec
"; } $xref = append_gedrec($gedrec, $update_CHAN); $link = "individual.php?pid=$xref&show_changes=yes"; if ($xref) echo "

", i18n::translate('Update successful'); else exit; $spouserec = $gedrec; $success = true; if ($famid=="new") { $famrec = "0 @new@ FAM\n"; $SEX=safe_POST('SEX', '[MF]', 'U'); if ($SEX=="M") $famtag = "HUSB"; if ($SEX=="F") $famtag = "WIFE"; if ($famtag=="HUSB") { $famrec .= "1 HUSB @$xref@\n"; $famrec .= "1 WIFE @$pid@\n"; } else { $famrec .= "1 WIFE @$xref@\n"; $famrec .= "1 HUSB @$pid@\n"; } if (preg_match_all('/([A-Z0-9_]+)/', $QUICK_REQUIRED_FAMFACTS, $matches)) { foreach ($matches[1] as $match) { $famrec.=addNewFact($match); } } if (safe_POST_bool('SOUR_FAM')) { $famrec = handle_updates($famrec); } else { $famrec = updateRest($famrec); } if (WT_DEBUG) { echo "
$famrec
"; } $famid = append_gedrec($famrec, $update_CHAN); } else if (!empty($famid)) { $famrec = ""; if (isset($pgv_changes[$famid."_".WT_GEDCOM])) $famrec = find_updated_record($famid, WT_GED_ID); else $famrec = find_family_record($famid, WT_GED_ID); if (!empty($famrec)) { $famrec = trim($famrec) . "\n1 $famtag @$xref@\n"; if (preg_match_all('/([A-Z0-9_]+)/', $QUICK_REQUIRED_FAMFACTS, $matches)) { foreach ($matches[1] as $match) { $famrec.=addNewFact($match); } } if (safe_POST_bool('SOUR_FAM')) { $famrec = handle_updates($famrec); } else { $famrec = updateRest($famrec); } if (WT_DEBUG) { echo "
$famrec
"; } replace_gedrec($famid, $famrec, $update_CHAN); } } if ((!empty($famid))&&($famid!="new")) { $gedrec = $spouserec; $gedrec = trim($gedrec) . "\n1 FAMS @$famid@\n"; if (WT_DEBUG) { echo "
$gedrec
"; } replace_gedrec($xref, $gedrec, $update_CHAN); } if (!empty($pid)) { $indirec=""; if (!isset($pgv_changes[$pid."_".WT_GEDCOM])) $indirec = find_gedcom_record($pid, WT_GED_ID); else $indirec = find_updated_record($pid, WT_GED_ID); if ($indirec) { $indirec = trim($indirec) . "\n1 FAMS @$famid@\n"; if (WT_DEBUG) { echo "
$indirec
"; } replace_gedrec($pid, $indirec, $update_CHAN); } } break; //------------------------------------------------------------------------------ case 'linkspouseaction': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } splitSOUR(); // separate SOUR record from the rest if (isset($_REQUEST['spid'])) $spid = $_REQUEST['spid']; if (!empty($spid)) { if (isset($pgv_changes[$spid.'_'.WT_GEDCOM])) $gedrec = find_updated_record($spid, WT_GED_ID); else $gedrec = find_person_record($spid, WT_GED_ID); $gedrec = trim($gedrec); if (!empty($gedrec)) { if ($famid=="new") { $famrec = "0 @new@ FAM\n"; $SEX = get_gedcom_value("SEX", 1, $gedrec, '', false); if ($SEX=="M") $famtag = "HUSB"; if ($SEX=="F") $famtag = "WIFE"; if ($famtag=="HUSB") { $famrec .= "1 HUSB @$spid@\n"; $famrec .= "1 WIFE @$pid@\n"; } else { $famrec .= "1 WIFE @$spid@\n"; $famrec .= "1 HUSB @$pid@\n"; } $famrec.=addNewFact('MARR'); if (safe_POST_bool('SOUR_FAM') || count($tagSOUR)>0) { // before adding 2 SOUR it needs to add 1 MARR Y first if (addNewFact('MARR')=='') { $famrec .= "1 MARR Y\n"; } $famrec = handle_updates($famrec); } else { // before adding level 2 facts it needs to add 1 MARR Y first if (addNewFact('MARR')=='') { $famrec .= "1 MARR Y\n"; } $famrec = updateRest($famrec); } if (WT_DEBUG) { echo "
$famrec
"; } $famid = append_gedrec($famrec, $update_CHAN); } if ((!empty($famid))&&($famid!="new")) { $gedrec .= "\n1 FAMS @$famid@\n"; if (WT_DEBUG) { echo "
$gedrec
"; } replace_gedrec($spid, $gedrec, $update_CHAN); } if (!empty($pid)) { $indirec=""; if (!isset($pgv_changes[$pid."_".WT_GEDCOM])) $indirec = find_gedcom_record($pid, WT_GED_ID); else $indirec = find_updated_record($pid, WT_GED_ID); if (!empty($indirec)) { $indirec = trim($indirec) . "\n1 FAMS @$famid@\n"; if (WT_DEBUG) { echo "
$indirec
"; } replace_gedrec($pid, $indirec, $update_CHAN); } } } } break; //------------------------------------------------------------------------------ case 'addnewparentaction': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } splitSOUR(); // separate SOUR record from the rest $gedrec ="0 @REF@ INDI\n"; $gedrec.=addNewName(); $gedrec.=addNewSex (); if (preg_match_all('/([A-Z0-9_]+)/', $QUICK_REQUIRED_FACTS, $matches)) { foreach ($matches[1] as $match) { $gedrec.=addNewFact($match); } } if (safe_POST_bool('SOUR_INDI')) { $gedrec = handle_updates($gedrec); } else { $gedrec = updateRest($gedrec); } if (WT_DEBUG) { echo "
$gedrec
"; } $xref = append_gedrec($gedrec, $update_CHAN); $link = "individual.php?pid=$xref&show_changes=yes"; if ($xref) echo "

", i18n::translate('Update successful'); else exit; $spouserec = $gedrec; $success = true; if ($famid=="new") { $famrec = "0 @new@ FAM\n"; if ($famtag=="HUSB") { $famrec .= "1 HUSB @$xref@\n"; $famrec .= "1 CHIL @$pid@\n"; } else { $famrec .= "1 WIFE @$xref@\n"; $famrec .= "1 CHIL @$pid@\n"; } if (preg_match_all('/([A-Z0-9_]+)/', $QUICK_REQUIRED_FAMFACTS, $matches)) { foreach ($matches[1] as $match) { $famrec.=addNewFact($match); } } if (safe_POST_bool('SOUR_FAM')) { $famrec = handle_updates($famrec); } else { $famrec = updateRest($famrec); } if (WT_DEBUG) { echo "
$famrec
"; } $famid = append_gedrec($famrec, $update_CHAN); } else if (!empty($famid)) { $famrec = ""; if (isset($pgv_changes[$famid."_".WT_GEDCOM])) $famrec = find_updated_record($famid, WT_GED_ID); else $famrec = find_family_record($famid, WT_GED_ID); if (!empty($famrec)) { $famrec = trim($famrec) . "\n1 $famtag @$xref@\n"; if (preg_match_all('/([A-Z0-9_]+)/', $QUICK_REQUIRED_FAMFACTS, $matches)) { foreach ($matches[1] as $match) { $famrec.=addNewFact($match); } } if (safe_POST_bool('SOUR_FAM')) { $famrec = handle_updates($famrec); } else { $famrec = updateRest($famrec); } if (WT_DEBUG) { echo "
$famrec
"; } replace_gedrec($famid, $famrec, $update_CHAN); } } if ((!empty($famid))&&($famid!="new")) { $gedrec = $spouserec; $gedrec = trim($gedrec) . "\n1 FAMS @$famid@\n"; if (WT_DEBUG) { echo "
$gedrec
"; } replace_gedrec($xref, $gedrec, $update_CHAN); } if (!empty($pid)) { $indirec=""; if (!isset($pgv_changes[$pid."_".WT_GEDCOM])) $indirec = find_gedcom_record($pid, WT_GED_ID); else $indirec = find_updated_record($pid, WT_GED_ID); $indirec = trim($indirec); if ($indirec) { if (strpos($indirec, "1 FAMC @$famid@")===false) { $indirec = trim($indirec) . "\n1 FAMC @$famid@\n"; if (WT_DEBUG) { echo "
$indirec
"; } replace_gedrec($pid, $indirec, $update_CHAN); } } } break; //------------------------------------------------------------------------------ case 'addopfchildaction': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } splitSOUR(); // separate SOUR record from the rest $newindixref=get_new_xref('INDI'); $newfamxref=get_new_xref('FAM'); $gedrec ="0 @{$newindixref}@ INDI\n1 FAMC @{$newfamxref}@\n".addNewName().addNewSex (); if (preg_match_all('/([A-Z0-9_]+)/', $QUICK_REQUIRED_FACTS, $matches)) { foreach ($matches[1] as $match) { $gedrec.=addNewFact($match); } } if (safe_POST_bool('SOUR_INDI')) { $gedrec=handle_updates($gedrec); } else { $gedrec=updateRest($gedrec); } $famrec="0 @$newfamxref@ FAM\n1 CHIL @{$newindixref}@"; $person=Person::getInstance($pid); if ($person->getSex()=='F') { $famrec.="\n1 WIFE @{$pid}@"; } else { $famrec.="\n1 HUSB @{$pid}@"; } if (!isset($pgv_changes[$pid."_".WT_GEDCOM])) { $indirec=find_gedcom_record($pid, WT_GED_ID); } else { $indirec=find_updated_record($pid, WT_GED_ID); } if ($indirec) { $indirec.="\n1 FAMS @{$newfamxref}@"; if (WT_DEBUG) { echo "
$gedrec
"; echo "
$famrec
"; echo "
$indirec
"; } if (replace_gedrec($pid, $indirec, $update_CHAN) && append_gedrec($gedrec, $update_CHAN) && append_gedrec($famrec, $update_CHAN)) { echo "

", i18n::translate('Update successful'); $success = true; } } break; //------------------------------------------------------------------------------ case 'deleteperson': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); echo "
$gedrec
"; } if (!checkFactEdit($gedrec)) { echo "
", i18n::translate('Privacy settings prevent you from editing this record.'); if (!empty($pid)) echo "
", i18n::translate('You have no access to'), " pid $pid."; if (!empty($famid)) echo "
", i18n::translate('You have no access to'), " famid $famid."; } else { if (delete_person($pid, $gedrec)) echo "

", i18n::translate('GEDCOM record successfully deleted.'); } break; //------------------------------------------------------------------------------ case 'deletefamily': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); echo "
$gedrec
"; } if (!checkFactEdit($gedrec)) { echo "
", i18n::translate('Privacy settings prevent you from editing this record.'); if (!empty($pid)) echo "
", i18n::translate('You have no access to'), " pid $pid."; if (!empty($famid)) echo "
", i18n::translate('You have no access to'), " famid $famid."; } else { if (delete_family($famid, $gedrec)) echo "

", i18n::translate('GEDCOM record successfully deleted.'); } break; //---------------------------------------------------------------------------------- // This case will now delete Shared notes as well, as $pid is passed with call // from source_ctrl.php or note_ctrl.php (line 208 submenu->addOnclick ..... etc) // --------------------------------------------------------------------------------- case 'deletenote': case 'deletesource': case 'deleterepo': if (isset($_REQUEST['action'])) $action = $_REQUEST['action']; if (WT_DEBUG) { phpinfo(INFO_VARIABLES); echo "
$gedrec
"; } if (!empty($gedrec)) { $success = true; // Delete links to this record foreach (fetch_all_links($pid, WT_GED_ID) as $xref) { if (isset($pgv_changes[$xref.'_'.WT_GEDCOM])) { $gedrec=find_updated_record($xref, WT_GED_ID); } else { $gedrec=find_gedcom_record($xref, WT_GED_ID); } $lines = explode("\n", $gedrec); $newrec = ""; $skipline = false; $glevel = 0; foreach ($lines as $indexval => $line) { if ((preg_match("/^\d ".WT_REGEX_TAG." @$pid@/", $line)==0)&&(!$skipline)) $newrec .= $line."\n"; else { if (!$skipline) { $glevel = $line{0}; $skipline = true; } else { if ($line{0}<=$glevel) { $skipline = false; $newrec .= $line."\n"; } } } } if (WT_DEBUG) { echo "
$newrec
"; } $success = $success && replace_gedrec($xref, $newrec, $update_CHAN); } if ($success) { $success = $success && delete_gedrec($pid); } if ($success) { echo "

".i18n::translate('GEDCOM record successfully deleted.'); } } break; //------------------------------------------------------------------------------ case 'editname': $gedlines = explode("\n", trim($gedrec)); $fields = explode(' ', $gedlines[$linenum]); $glevel = $fields[0]; $i = $linenum+1; $namerec = $gedlines[$linenum]; while (($i$glevel)) { $namerec.="\n".$gedlines[$i]; $i++; } print_indi_form("update", "", $linenum, $namerec); break; //------------------------------------------------------------------------------ case 'addname': print_indi_form("update", "", "new", "NEW"); break; //------------------------------------------------------------------------------ case 'copy': //-- handle media differently now :P if ($linenum=='media') { $factrec = "1 OBJE @".$pid."@"; $type="all"; echo "
"; } else { $gedlines = explode("\n", trim($gedrec)); $fields = explode(' ', $gedlines[$linenum]); $glevel = $fields[0]; $i = $linenum+1; $factrec = $gedlines[$linenum]; while (($i$glevel)) { $factrec.="\n".$gedlines[$i]; $i++; } } if (!isset($_SESSION["clipboard"])) $_SESSION["clipboard"] = array(); $ft = preg_match("/1 (_?[A-Z]{3,5})(.*)/", $factrec, $match); if ($ft>0) { $fact = trim($match[1]); if ($fact=="EVEN" || $fact=="FACT") { $ct = preg_match("/2 TYPE (.*)/", $factrec, $match); if ($ct>0) $fact = trim($match[1]); } if (count($_SESSION["clipboard"])>9) array_pop($_SESSION["clipboard"]); $_SESSION["clipboard"][] = array("type"=>$type, "factrec"=>$factrec, "fact"=>$fact); echo "", i18n::translate('Record copied to clipboard'), "\n"; $success = true; } break; //------------------------------------------------------------------------------ case 'paste': $gedrec .= "\n".$_SESSION["clipboard"][$fact]["factrec"]."\n"; if (WT_DEBUG) { phpinfo(INFO_VARIABLES); echo "
$gedrec
"; } $success = replace_gedrec($pid, $gedrec, $update_CHAN); if ($success) echo "

", i18n::translate('Update successful'); break; //LBox Reorder Media ======================================================== //------------------------------------------------------------------------------ case 'reorder_media': // Sort page using Popup require_once WT_ROOT.'js/prototype.js.htm'; require_once WT_ROOT.'js/scriptaculous.js.htm'; require_once WT_ROOT.'includes/media_reorder.php'; break; //------------------------------------------------------------------------------ case 'reset_media_update': // Reset sort using popup $lines = explode("\n", $gedrec); $newgedrec = ""; foreach ($lines as $line) { if (strpos($line, "1 _WT_OBJS")===false) { $newgedrec .= $line."\n"; } } $success = (replace_gedrec($pid, $newgedrec, $update_CHAN)); if ($success) { echo "
", i18n::translate('Update successful'), "

"; } break; //------------------------------------------------------------------------------ case 'reorder_media_update': // Update sort using popup if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } if (isset($_REQUEST['order1'])) $order1 = $_REQUEST['order1']; $lines = explode("\n", $gedrec); $newgedrec = ""; foreach ($lines as $line) { if (strpos($line, "1 _WT_OBJS")===false) { $newgedrec .= $line."\n"; } } foreach ($order1 as $m_media=>$num) { $newgedrec .= "1 _WT_OBJS @".$m_media."@\n"; } if (WT_DEBUG) { echo "
$newgedrec
"; } $success = (replace_gedrec($pid, $newgedrec, $update_CHAN)); if ($success) echo "
", i18n::translate('Update successful'), "

"; // $mediaordsuccess='yes'; if ($_COOKIE['lasttabs'][strlen($_COOKIE['lasttabs'])-1]==8) { $link = "individual.php?pid=$pid&tab=7&show_changes=yes"; }elseif ($_COOKIE['lasttabs'][strlen($_COOKIE['lasttabs'])-1]==7) { $link = "individual.php?pid=$pid&tab=6&show_changes=yes"; }else{ $link = "individual.php?pid=$pid&tab=3&show_changes=yes"; } echo WT_JS_START; echo "edit_close('{$link}');"; echo WT_JS_END; break; //------------------------------------------------------------------------------ case 'al_reset_media_update': // Reset sort using Album Page $lines = explode("\n", $gedrec); $newgedrec = ""; foreach ($lines as $line) { if (strpos($line, "1 _WT_OBJS")===false) { $newgedrec .= $line."\n"; } } $success = (replace_gedrec($pid, $newgedrec, $update_CHAN)); if ($success) echo "
", i18n::translate('Update successful'), "

"; if (!file_exists(WT_ROOT.'modules/googlemap/defaultconfig.php')) { $tabno = "7"; }else{ $tabno = "8"; } echo WT_JS_START; echo "location.href='individual.php?pid={$pid}&tab={$tabno}'"; echo WT_JS_END; break; //------------------------------------------------------------------------------ case 'al_reorder_media_update': // Update sort using Album Page if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } if (isset($_REQUEST['order1'])) $order1 = $_REQUEST['order1']; function SwapArray($Array){ $Values = array(); while (list($Key, $Val) = each($Array)) $Values[$Val] = $Key; return $Values; } if (isset($_REQUEST['order2'])) $order2 = $_REQUEST['order2']; $order2 = SwapArray(explode(",", substr($order2, 0, -1))); $lines = explode("\n", $gedrec); $newgedrec = ""; foreach ($lines as $line) { if (strpos($line, "1 _WT_OBJS")===false) { $newgedrec .= $line."\n"; } } foreach ($order2 as $m_media=>$num) { $newgedrec .= "1 _WT_OBJS @".$m_media."@\n"; } if (WT_DEBUG) { echo "
$newgedrec
"; } $success = (replace_gedrec($pid, $newgedrec, $update_CHAN)); if ($success) { if (!file_exists(WT_ROOT.'modules/googlemap/defaultconfig.php')) { $tabno = "7"; }else{ $tabno = "8"; } echo WT_JS_START; echo "location.href='individual.php?pid={$pid}&tab={$tabno}'"; echo WT_JS_END; } break; //LBox =================================================== //------------------------------------------------------------------------------ case 'reorder_children': require_once WT_ROOT.'js/prototype.js.htm'; require_once WT_ROOT.'js/scriptaculous.js.htm'; echo "
", i18n::translate('Re-order children'), "", help_link('reorder_children'); ?>
    getChildrenIds(); if ($family->getUpdatedFamily()) $family = $family->getUpdatedFamily(); $children = array(); foreach ($family->getChildren() as $k=>$child) { $bdate = $child->getEstimatedBirthDate(); if ($bdate->isOK()) { $sortkey = $bdate->JD(); } else { $sortkey = 1e8; // birth date missing => sort last } $children[$child->getXref()] = $sortkey; } if ((!empty($option))&&($option=="bybirth")) { asort($children); } $i=0; $show_full = 1; // Force details to show for each child foreach ($children as $id=>$child) { echo "
  • "; print_pedigree_person($id, 2, false); echo ""; echo "
  • "; $i++; } ?>
new Effect.BlindDown('reorder_list', {duration: 1}); Sortable.create('reorder_list', { scroll:window, onUpdate : function() { inputs = $('reorder_list').getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) inputs[i].value = i; } } );
getHusband(); $mother = $family->getWife(); $children = $family->getChildren(); if (count($children)>0) { if (!is_null($father)) { if ($father->getSex()=="F") $father->setLabel(i18n::translate('Mother')); else $father->setLabel(i18n::translate('Father')); } if (!is_null($mother)) { if ($mother->getSex()=="M") $mother->setLabel(i18n::translate('Father')); else $mother->setLabel(i18n::translate('Mother')); } for ($i=0; $igetSex()=="M") { $children[$i]->setLabel(i18n::translate('Son')); } elseif ($children[$i]->getSex()=="F") { $children[$i]->setLabel(i18n::translate('Daughter')); } else { $children[$i]->setLabel(i18n::translate('Child')); } } } } else { if (!is_null($father)) { if ($father->getSex()=="F") { $father->setLabel(i18n::translate('Wife')); } elseif ($father->getSex()=="M") { $father->setLabel(i18n::translate('Husband')); } else { $father->setLabel(i18n::translate('Spouse')); } } if (!is_null($mother)) { if ($mother->getSex()=="F") { $mother->setLabel(i18n::translate('Wife')); } elseif ($mother->getSex()=="M") { $mother->setLabel(i18n::translate('Husband')); } else { $father->setLabel(i18n::translate('Spouse')); } } } echo WT_JS_START; ?> var nameElement = null; var remElement = null; function pastename(name) { if (nameElement) { nameElement.innerHTML = name; } if (remElement) { remElement.style.display = 'block'; } }


For each member in the family, you can use the Change link to choose a different person to fill that role in the family. You can also use the Remove link to remove that person from the family.

When you have finished changing the family members, click the Save button to save the changes.'); ?>
$child) { if (!is_null($child)) { ?>
getLabel(); ?> getFullName()); ?>
getLabel(); ?> getFullName()); ?>
getLabel(); ?> getFullName()); ?>


getHusband(); $mother = $family->getWife(); $children = $family->getChildren(); $updated = false; //-- add the new father link if (isset($_REQUEST['HUSB'])) $HUSB = $_REQUEST['HUSB']; if (!empty($HUSB) && (is_null($father) || $father->getXref()!=$HUSB)) { if (strstr($gedrec, "1 HUSB")!==false) $gedrec = preg_replace("/1 HUSB @.*@/", "1 HUSB @$HUSB@", $gedrec); else $gedrec .= "\n1 HUSB @$HUSB@\n"; if (isset($pgv_changes[$HUSB."_".WT_GEDCOM])) $indirec = find_updated_record($HUSB, WT_GED_ID); else $indirec = find_person_record($HUSB, WT_GED_ID); if (!empty($indirec) && (strpos($indirec, "1 FAMS @$famid@")===false)) { $indirec .= "\n1 FAMS @$famid@\n"; replace_gedrec($HUSB, $indirec, $update_CHAN); } $updated = true; } //-- remove the father link if (empty($HUSB)) { $pos1 = strpos($gedrec, "1 HUSB @"); if ($pos1!==false) { $pos2 = strpos($gedrec, "\n1", $pos1+5); if ($pos2===false) $pos2 = strlen($gedrec); else $pos2++; $gedrec = substr($gedrec, 0, $pos1) . substr($gedrec, $pos2); } $updated = true; } //-- remove the FAMS link from the old father if (!is_null($father) && $father->getXref()!=$HUSB) { if (isset($pgv_changes[$father->getXref()."_".WT_GEDCOM])) $indirec = find_updated_record($father->getXref(), WT_GED_ID); else $indirec = find_person_record($father->getXref(), WT_GED_ID); $pos1 = strpos($indirec, "1 FAMS @$famid@"); if ($pos1!==false) { $pos2 = strpos($indirec, "\n1", $pos1+5); if ($pos2===false) $pos2 = strlen($indirec); else $pos2++; $indirec = substr($indirec, 0, $pos1) . substr($indirec, $pos2); replace_gedrec($father->getXref(), $indirec, $update_CHAN); } } //-- add the new mother link if (isset($_REQUEST['WIFE'])) $WIFE = $_REQUEST['WIFE']; if (!empty($WIFE) && (is_null($mother) || $mother->getXref()!=$WIFE)) { if (strstr($gedrec, "1 WIFE")!==false) $gedrec = preg_replace("/1 WIFE @.*@/", "1 WIFE @$WIFE@", $gedrec); else $gedrec .= "\n1 WIFE @$WIFE@\n"; if (isset($pgv_changes[$WIFE."_".WT_GEDCOM])) $indirec = find_updated_record($WIFE, WT_GED_ID); else $indirec = find_person_record($WIFE, WT_GED_ID); if (!empty($indirec) && (strpos($indirec, "1 FAMS @$famid@")===false)) { $indirec .= "\n1 FAMS @$famid@\n"; replace_gedrec($WIFE, $indirec, $update_CHAN); } $updated = true; } //-- remove the father link if (empty($WIFE)) { $pos1 = strpos($gedrec, "1 WIFE @"); if ($pos1!==false) { $pos2 = strpos($gedrec, "\n1", $pos1+5); if ($pos2===false) $pos2 = strlen($gedrec); else $pos2++; $gedrec = substr($gedrec, 0, $pos1) . substr($gedrec, $pos2); } $updated = true; } //-- remove the FAMS link from the old father if (!is_null($mother) && $mother->getXref()!=$WIFE) { if (isset($pgv_changes[$mother->getXref()."_".WT_GEDCOM])) $indirec = find_updated_record($mother->getXref(), WT_GED_ID); else $indirec = find_person_record($mother->getXref(), WT_GED_ID); $pos1 = strpos($indirec, "1 FAMS @$famid@"); if ($pos1!==false) { $pos2 = strpos($indirec, "\n1", $pos1+5); if ($pos2===false) $pos2 = strlen($indirec); else $pos2++; $indirec = substr($indirec, 0, $pos1) . substr($indirec, $pos2); replace_gedrec($mother->getXref(), $indirec, $update_CHAN); } } //-- update the children $i=0; $var = "CHIL".$i; $newchildren = array(); while (isset($_REQUEST[$var])) { $CHIL = $_REQUEST[$var]; if (!empty($CHIL)) { $newchildren[] = $CHIL; if (strpos($gedrec, "1 CHIL @$CHIL@")===false) { $gedrec .= "\n1 CHIL @$CHIL@\n"; $updated = true; if (isset($pgv_changes[$CHIL."_".WT_GEDCOM])) $indirec = find_updated_record($CHIL, WT_GED_ID); else $indirec = find_person_record($CHIL, WT_GED_ID); if (!empty($indirec) && (strpos($indirec, "1 FAMC @$famid@")===false)) { $indirec .= "\n1 FAMC @$famid@\n"; replace_gedrec($CHIL, $indirec, $update_CHAN); } } } $i++; $var = "CHIL".$i; } //-- remove the old children foreach ($children as $key=>$child) { if (!is_null($child)) { if (!in_array($child->getXref(), $newchildren)) { //-- remove the CHIL link from the family record $pos1 = strpos($gedrec, "1 CHIL @".$child->getXref()."@"); if ($pos1!==false) { $pos2 = strpos($gedrec, "\n1", $pos1+5); if ($pos2===false) $pos2 = strlen($gedrec); else $pos2++; $gedrec = substr($gedrec, 0, $pos1) . substr($gedrec, $pos2); $updated = true; } //-- remove the FAMC link from the child record if (isset($pgv_changes[$child->getXref()."_".WT_GEDCOM])) $indirec = find_updated_record($child->getXref(), WT_GED_ID); else $indirec = find_person_record($child->getXref(), WT_GED_ID); $pos1 = strpos($indirec, "1 FAMC @$famid@"); if ($pos1!==false) { $pos2 = strpos($indirec, "\n1", $pos1+5); if ($pos2===false) $pos2 = strlen($indirec); else $pos2++; $indirec = substr($indirec, 0, $pos1) . substr($indirec, $pos2); replace_gedrec($child->getXref(), $indirec, $update_CHAN); } } } } if ($updated) { $success = replace_gedrec($famid, $gedrec, $update_CHAN); if ($success) echo "

", i18n::translate('Update successful'); } break; //------------------------------------------------------------------------------ //-- edit a fact record in a form case 'edit_family': init_calendar_popup(); echo "
\n"; echo "\n"; echo "\n"; echo "

\n"; echo ""; $gedlines = explode("\n", $gedrec); // -- find the number of lines in the record $empty = true; for ($i=$linenum; $i\n"; $empty = false; } } if ($empty) { $linenum=count($gedlines); create_add_form("MARR"); echo "\n"; } if (WT_USER_IS_ADMIN) { echo "\n"; } echo "
"; echo i18n::translate('Admin Option'), help_link('no_update_CHAN'), "\n"; if ($NO_UPDATE_CHAN) { echo "\n"; } else { echo "\n"; } echo i18n::translate('Do not update the CHAN (Last Change) record'), "
\n"; $event = new Event(get_sub_record(1, "1 CHAN", $gedrec)); echo format_fact_date($event, false, true); echo "
"; print_add_layer("NOTE"); print_add_layer("SHARED_NOTE"); print_add_layer("OBJE"); //-- RESN missing in new structure, RESN can be added to all level 1 tags if (!in_array("RESN", $tags)) print_add_layer("RESN"); echo "

\n"; echo "
\n"; break; //------------------------------------------------------------------------------ case 'reorder_update': if (WT_DEBUG) { phpinfo(INFO_VARIABLES); } if (isset($_REQUEST['order'])) $order = $_REQUEST['order']; asort($order); reset($order); $newgedrec = $gedrec; foreach ($order as $child=>$num) { // move each child subrecord to the bottom, in the order specified $subrec = get_sub_record(1, "1 CHIL @".$child."@", $gedrec); $subrec = trim($subrec, "\n"); if (WT_DEBUG) { echo "
[", $subrec, "]
"; } $newgedrec = str_replace($subrec, "", $newgedrec); $newgedrec .= "\n".$subrec."\n"; } if (WT_DEBUG) { echo "
$newgedrec
"; } $success = (replace_gedrec($pid, $newgedrec, $update_CHAN)); if ($success) echo "

", i18n::translate('Update successful'); break; //------------------------------------------------------------------------------ case 'reorder_fams': require_once WT_ROOT.'js/prototype.js.htm'; require_once WT_ROOT.'js/scriptaculous.js.htm'; echo "
", i18n::translate('Reorder Families'), "", help_link('reorder_families'); ?>
    getSpouseFamilies(); if ((!empty($option))&&($option=="bymarriage")) { uasort($fams, array('Family', 'CompareMarrDate')); } $i=0; foreach ($fams as $famid=>$family) { echo "
  • "; echo "", PrintReady($family->getFullName()), "
    "; echo $family->format_first_major_fact(WT_EVENTS_MARR, 2); echo ""; echo "
  • "; $i++; } ?>
new Effect.BlindDown('reorder_list', {duration: 1}); Sortable.create('reorder_list', { scroll:window, onUpdate : function() { inputs = $('reorder_list').getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) inputs[i].value = i; } } );
$num) { $newgedrec .= "1 FAMS @".$famid."@\n"; } if (WT_DEBUG) { echo "
$newgedrec
"; } $success = (replace_gedrec($pid, $newgedrec, $update_CHAN)); if ($success) { echo "

", i18n::translate('Update successful'); } break; //------------------------------------------------------------------------------ //-- the following section provides a hook for modules //-- for reuse of editing functions from forms case 'mod_edit_fact': if (isset($_REQUEST['mod'])) $mod = $_REQUEST['mod']; require_once WT_ROOT.'modules/'.$mod.'/'.$mod.'.php'; $module = new $mod(); if (method_exists($module, "edit_fact")) { $module->edit_fact(); } break; } // Redirect to new record, if requested if (isset($_REQUEST['goto'])) { $goto = $_REQUEST['goto']; } if (isset($_REQUEST['link'])) { $link = $_REQUEST['link']; } if (empty($goto) || empty($link)) { $link=''; } // autoclose window when update successful ==== if ($success && $EDIT_AUTOCLOSE && !WT_DEBUG ) { echo WT_JS_START; if ($action=="copy") { echo "window.close();"; } else if (isset($closeparent) && $closeparent=="yes" ) { // echo "window.opener.close(); window.opener.edit_close('{$link}'); window.close(); "; echo "window.close(); "; } else { echo "edit_close('{$link}');"; } echo WT_JS_END; } // Decide whether to print footer or not ================================================ if ($action == 'addmedia_links' || $action == 'addnewnote_assisted' ) { // Do not print footer. echo "
\n"; }else if (isset($closeparent) && $closeparent=="yes" ) { // echo "
\n"; echo "
\n"; print_simple_footer(); }else{ echo "
\n"; print_simple_footer(); } ?>