FlashMessages::addMessage(I18N::translate('No GEDCOM file was received.'), 'danger'); } } header('Location: ' . WT_BASE_URL . WT_SCRIPT_NAME); return; case 'synchronize': if (Filter::checkCsrf()) { $basenames = array(); foreach ($gedcom_files as $gedcom_file) { $filemtime = filemtime($gedcom_file); // Only import files that have changed $basename = basename($gedcom_file); $basenames[] = $basename; $tree = Tree::findByName($basename); if (!$tree) { $tree = Tree::create($basename, $basename); } if ($tree->getPreference('filemtime') != $filemtime) { $tree->importGedcomFile($gedcom_file, $basename); $tree->setPreference('filemtime', $filemtime); FlashMessages::addMessage(I18N::translate('The GEDCOM file ā%sā has been imported.', Filter::escapeHtml($basename)), 'success'); } } foreach (Tree::getAll() as $tree) { if (!in_array($tree->getName(), $basenames)) { FlashMessages::addMessage(I18N::translate('The family tree ā%sā has been deleted.', $tree->getTitleHtml()), 'success'); $tree->delete(); } } } header('Location: ' . WT_BASE_URL . WT_SCRIPT_NAME);