addExternalJavascript(WT_JQUERY_COOKIE_URL); // We use this to record the sidebar state if ($controller->record && $controller->record->canShow()) { if (WT_Filter::get('action')=='ajax') { $controller->ajaxRequest(); exit; } // Generate the sidebar content *before* we display the page header, // as the clippings cart needs to have write access to the session. $sidebar_html=$controller->getSideBarContent(); $controller->pageHeader(); if ($controller->record->isOld()) { if (WT_USER_CAN_ACCEPT) { echo '

', /* I18N: %1$s is “accept”, %2$s is “reject”. These are links. */ WT_I18N::translate( 'This individual has been deleted. You should review the deletion and then %1$s or %2$s it.', '' . WT_I18N::translate_c('You should review the deletion and then accept or reject it.', 'accept') . '', '' . WT_I18N::translate_c('You should review the deletion and then accept or reject it.', 'reject') . '' ), ' ', help_link('pending_changes'), '

'; } elseif (WT_USER_CAN_EDIT) { echo '

', WT_I18N::translate('This individual has been deleted. The deletion will need to be reviewed by a moderator.'), ' ', help_link('pending_changes'), '

'; } } elseif ($controller->record->isNew()) { if (WT_USER_CAN_ACCEPT) { echo '

', /* I18N: %1$s is “accept”, %2$s is “reject”. These are links. */ WT_I18N::translate( 'This individual has been edited. You should review the changes and then %1$s or %2$s them.', '' . WT_I18N::translate_c('You should review the changes and then accept or reject them.', 'accept') . '', '' . WT_I18N::translate_c('You should review the changes and then accept or reject them.', 'reject') . '' ), ' ', help_link('pending_changes'), '

'; } elseif (WT_USER_CAN_EDIT) { echo '

', WT_I18N::translate('This individual has been edited. The changes need to be reviewed by a moderator.'), ' ', help_link('pending_changes'), '

'; } } } elseif ($controller->record && $controller->record->canShowName()) { // Just show the name. $controller->pageHeader(); echo '

', $controller->record->getFullName(), '

'; echo '

', WT_I18N::translate('The details of this individual are private.'), '

'; exit; } else { header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found'); $controller->pageHeader(); echo '

', WT_I18N::translate('This individual does not exist or you do not have permission to view it.'), '

'; exit; } $controller->addInlineJavascript(' jQuery("#tabs").tabs({ active: jQuery.cookie("indi-tab"), activate: function(event, ui) { jQuery.cookie("indi-tab", jQuery("#tabs").tabs("option", "active")); }, // Only load each tab once beforeLoad: function(event, ui) { if (ui.tab.data("loaded")) { event.preventDefault(); return; } jQuery(ui.panel.selector).append(\'
\'); ui.jqXHR.success(function() { ui.tab.data("loaded", true); }); } }); // sidebar settings // Variables var objMain = jQuery("#main"); // Show sidebar function showSidebar(){ objMain.addClass("use-sidebar"); jQuery.cookie("hide-sb", null); } // Hide sidebar function hideSidebar(){ objMain.removeClass("use-sidebar"); jQuery.cookie("hide-sb", "1"); } // Sidebar separator jQuery("#separator").click(function(e){ e.preventDefault(); if ( objMain.hasClass("use-sidebar") ){ hideSidebar(); } else { showSidebar(); } }); // Load preference if (jQuery.cookie("hide-sb")=="1"){ hideSidebar(); } else { showSidebar(); } jQuery("#header_accordion1").accordion({ active: 0, heightStyle: "content", collapsible: true }); '); // ===================================== header area echo '
', //overall page container '
', '
'; if ($controller->record->canShow()) { // Highlight image or silhouette echo '
', $controller->record->displayImage(), '
'; echo '
'; // contain accordions for names echo '

', $controller->record->getFullName(), ''; // First name accordion header $bdate=$controller->record->getBirthDate(); $ddate=$controller->record->getDeathDate(); echo ''; if ($bdate->isOK() && !$controller->record->isDead()) { // If living display age echo WT_Gedcom_Tag::getLabelValue('AGE', get_age_at_event(WT_Date::GetAgeGedcom($bdate), true), '', 'span'); } elseif ($bdate->isOK() && $ddate->isOK()) { // If dead, show age at death echo WT_Gedcom_Tag::getLabelValue('AGE', get_age_at_event(WT_Date::GetAgeGedcom($bdate, $ddate), false), '', 'span'); } echo ''; // Display summary birth/death info. echo '', $controller->record->getLifeSpan(), ''; // Display gender icon foreach ($controller->record->getFacts() as $fact) { if ($fact->getTag() == 'SEX') { $controller->print_sex_record($fact); } } echo '

'; // close first name accordion header // Display name details foreach ($controller->record->getFacts() as $fact) { if ($fact->getTag() == 'NAME') { $controller->print_name_record($fact); } } echo '
'; // close header_accordion1 } echo '
';// close #indi_header // ===================================== main content tabs foreach ($controller->tabs as $tab) { echo $tab->getPreLoadContent(); } echo '
'; echo ''; foreach ($controller->tabs as $tab) { if ($tab->hasTabContent()) { if (!$tab->canLoadAjax()) { echo '
', $tab->getTabContent(), '
'; } } } echo '
', // close #tabs '
', //close indi_left $sidebar_html, '',//clickable element to open/close sidebar '
'; // close #main