/** {@inheritdoc} */ public function getTabContent() { global $controller; $EXPAND_HISTO_EVENTS = false; $indifacts = array(); // The individual’s own facts foreach ($controller->record->getFacts() as $fact) { switch ($fact->getTag()) { case 'SEX': case 'NAME': case 'SOUR': case 'OBJE': case 'NOTE': case 'FAMC': case 'FAMS': break; default: if (!array_key_exists('extra_info', Module::getActiveSidebars($controller->record->getTree())) || !ExtraInformationModule::showFact($fact)) { $indifacts[] = $fact; } break; } } // Add spouse-family facts foreach ($controller->record->getSpouseFamilies() as $family) { foreach ($family->getFacts() as $fact) { switch ($fact->getTag()) { case 'SOUR': case 'NOTE': case 'OBJE': case 'CHAN': case '_UID': case 'RIN': case 'HUSB': case 'WIFE': case 'CHIL': break; default: $indifacts[] = $fact; break; } } $spouse = $family->getSpouse($controller->record); if ($spouse) { foreach (self::spouseFacts($controller->record, $spouse) as $fact) { $indifacts[] = $fact; } } foreach (self::childFacts($controller->record, $family, '_CHIL', '') as $fact) { $indifacts[] = $fact; } } foreach (self::parentFacts($controller->record, 1) as $fact) { $indifacts[] = $fact; } foreach (self::historicalFacts($controller->record) as $fact) { $indifacts[] = $fact; } foreach (self::associateFacts($controller->record) as $fact) { $indifacts[] = $fact; } Functions::sortFacts($indifacts); ob_start(); echo '<table class="facts_table">'; echo '<tbody>'; if (!$indifacts) { echo '<tr><td colspan="2" class="facts_value">', I18N::translate('There are no facts for this individual.'), '</td></tr>'; } echo '<tr><td colspan="2" class="descriptionbox rela"><form action="?"><input id="checkbox_rela_facts" type="checkbox" '; echo $controller->record->getTree()->getPreference('EXPAND_RELATIVES_EVENTS') ? 'checked' : ''; echo ' onclick="jQuery(\'tr.rela\').toggle();"><label for="checkbox_rela_facts">', I18N::translate('Events of close relatives'), '</label>'; if (file_exists(Site::getPreference('INDEX_DIRECTORY') . 'histo.' . WT_LOCALE . '.php')) { echo ' <input id="checkbox_histo" type="checkbox" '; echo $EXPAND_HISTO_EVENTS ? 'checked' : ''; echo ' onclick="jQuery(\'tr.histo\').toggle();"><label for="checkbox_histo">', I18N::translate('Historical facts'), '</label>'; } echo '</form></td></tr>'; foreach ($indifacts as $fact) { FunctionsPrintFacts::printFact($fact, $controller->record); } //-- new fact link if ($controller->record->canEdit()) { FunctionsPrint::printAddNewFact($controller->record->getXref(), $indifacts, 'INDI'); } echo '</tbody>'; echo '</table>'; if (!$controller->record->getTree()->getPreference('EXPAND_RELATIVES_EVENTS')) { echo '<script>jQuery("tr.rela").toggle();</script>'; } if (!$EXPAND_HISTO_EVENTS) { echo '<script>jQuery("tr.histo").toggle();</script>'; } return '<div id="' . $this->getName() . '_content">' . ob_get_clean() . '</div>'; }
/** * Print the facts */ public function printFamilyFacts() { global $linkToID; $linkToID = $this->record->getXref(); // -- Tell addmedia.php what to link to $indifacts = $this->record->getFacts(); if ($indifacts) { Functions::sortFacts($indifacts); foreach ($indifacts as $fact) { FunctionsPrintFacts::printFact($fact, $this->record); } } else { echo '<tr><td class="messagebox" colspan="2">', I18N::translate('No facts exist for this family.'), '</td></tr>'; } if (Auth::isEditor($this->record->getTree())) { FunctionsPrint::printAddNewFact($this->record->getXref(), $indifacts, 'FAM'); echo '<tr><td class="descriptionbox">'; echo I18N::translate('Note'); echo '</td><td class="optionbox">'; echo "<a href=\"#\" onclick=\"return add_new_record('" . $this->record->getXref() . "','NOTE');\">", I18N::translate('Add a note'), '</a>'; echo '</td></tr>'; echo '<tr><td class="descriptionbox">'; echo I18N::translate('Shared note'); echo '</td><td class="optionbox">'; echo "<a href=\"#\" onclick=\"return add_new_record('" . $this->record->getXref() . "','SHARED_NOTE');\">", I18N::translate('Add a shared note'), '</a>'; echo '</td></tr>'; if ($this->record->getTree()->getPreference('MEDIA_UPLOAD') >= Auth::accessLevel($this->record->getTree())) { echo '<tr><td class="descriptionbox">'; echo I18N::translate('Media object'); echo '</td><td class="optionbox">'; echo "<a href=\"#\" onclick=\"window.open('addmedia.php?action=showmediaform&linktoid=" . $this->record->getXref() . "', '_blank', edit_window_specs); return false;\">", I18N::translate('Add a media object'), '</a>'; echo FunctionsPrint::helpLink('OBJE'); echo '<br>'; echo "<a href=\"#\" onclick=\"window.open('inverselink.php?linktoid=" . $this->record->getXref() . "&linkto=family', '_blank', find_window_specs); return false;\">", I18N::translate('Link to an existing media object'), '</a>'; echo '</td></tr>'; } echo '<tr><td class="descriptionbox">'; echo I18N::translate('Source'); echo '</td><td class="optionbox">'; echo "<a href=\"#\" onclick=\"return add_new_record('" . $this->record->getXref() . "','SOUR');\">", I18N::translate('Add a source citation'), '</a>'; echo '</td></tr>'; } }
echo '<div id="source-edit">'; echo '<table class="facts_table">'; // Fetch the facts $facts = $controller->record->getFacts(); // Sort the facts usort($facts, function (Fact $x, Fact $y) { static $order = array('TITL' => 0, 'ABBR' => 1, 'AUTH' => 2, 'DATA' => 3, 'PUBL' => 4, 'TEXT' => 5, 'NOTE' => 6, 'OBJE' => 7, 'REFN' => 8, 'RIN' => 9, '_UID' => 10, 'CHAN' => 11); return (array_key_exists($x->getTag(), $order) ? $order[$x->getTag()] : PHP_INT_MAX) - (array_key_exists($y->getTag(), $order) ? $order[$y->getTag()] : PHP_INT_MAX); }); // Print the facts foreach ($facts as $fact) { FunctionsPrintFacts::printFact($fact, $controller->record); } // new fact link if ($controller->record->canEdit()) { FunctionsPrint::printAddNewFact($controller->record->getXref(), $facts, 'SOUR'); // new media if ($controller->record->getTree()->getPreference('MEDIA_UPLOAD') >= Auth::accessLevel($WT_TREE)) { echo '<tr><td class="descriptionbox">'; echo GedcomTag::getLabel('OBJE'); echo '</td><td class="optionbox">'; echo '<a href="#" onclick="window.open(\'addmedia.php?action=showmediaform&linktoid=', $controller->record->getXref(), '\', \'_blank\', edit_window_specs); return false;">', I18N::translate('Add a new media object'), '</a>'; echo FunctionsPrint::helpLink('OBJE'); echo '<br>'; echo '<a href="#" onclick="window.open(\'inverselink.php?linktoid=', $controller->record->getXref(), '&linkto=source\', \'_blank\', find_window_specs); return false;">', I18N::translate('Link to an existing media object'), '</a>'; echo '</td></tr>'; } } echo '</table> </div>'; // Individuals linked to this source