restrictAccess(Auth::isEditor())
->addExternalJavascript(WT_STATIC_URL . 'js/autocomplete.js')
->addInlineJavascript('autocomplete();')
->addInlineJavascript('
var locale_date_format="' . preg_replace('/[^DMY]/', '', str_replace(array('J', 'F'), array('D', 'M'), strtoupper($DATE_FORMAT))). '";
');
switch ($action) {
////////////////////////////////////////////////////////////////////////////////
case 'editraw':
$xref = WT_Filter::get('xref', WT_REGEX_XREF);
$record = WT_GedcomRecord::getInstance($xref);
check_record_access($record);
$controller
->setPageTitle($record->getFullName() . ' - ' . WT_I18N::translate('Edit raw GEDCOM'))
->pageHeader()
->addInlineJavascript('jQuery("#raw-gedcom-list").sortable({opacity: 0.7, cursor: "move", axis: "y"});');
?>
getPageTitle(); ?>
getXref() . '@ ' . $record::RECORD_TYPE; ?>
setPageTitle($record->getFullName() . ' - ' . WT_I18N::translate('Edit raw GEDCOM'))
->pageHeader();
$gedcom = '0 @' . $record->getXref() . '@ ' . $record::RECORD_TYPE;
// Retain any private facts
foreach ($record->getFacts(null, false, WT_PRIV_HIDE) as $fact) {
if (!in_array($fact->getFactId(), $fact_ids)) {
$gedcom .= "\n" . $fact->getGedcom();
}
}
// Append the new facts
foreach ($facts as $fact) {
$gedcom .= "\n" . $fact;
}
// Cleanup the client’s bad editing?
$gedcom = preg_replace('/[\r\n]+/', "\n", $gedcom); // Empty lines
$gedcom = trim($gedcom); // Leading/trailing spaces
$record->updateRecord($gedcom, false);
$controller->addInlineJavascript('closePopupAndReloadParent();');
break;
////////////////////////////////////////////////////////////////////////////////
case 'editrawfact':
$xref = WT_Filter::get('xref', WT_REGEX_XREF);
$fact_id = WT_Filter::get('fact_id');
$record = WT_GedcomRecord::getInstance($xref);
check_record_access($record);
// Find the fact to edit
$edit_fact = null;
foreach ($record->getFacts() as $fact) {
if ($fact->getFactId() == $fact_id && $fact->canEdit()) {
$edit_fact = $fact;
break;
}
}
if (!$edit_fact) {
$controller
->pageHeader()
->addInlineJavascript('closePopupAndReloadParent();');
exit;
}
$controller
->setPageTitle($record->getFullName() . ' - ' . WT_I18N::translate('Edit raw GEDCOM'))
->pageHeader();
?>
setPageTitle($record->getFullName() . ' - ' . WT_Gedcom_Tag::getLabel($fact, $record))
->pageHeader();
$level0type = $record::RECORD_TYPE;
echo '
setPageTitle(WT_I18N::translate('Edit'))
->pageHeader();
// If the fact has a DATE or PLAC, then delete any value of Y
if ($text[0]=='Y') {
for ($n=1; $n