summaryrefslogtreecommitdiff
path: root/admin_trees_manage.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin_trees_manage.php')
-rw-r--r--admin_trees_manage.php264
1 files changed, 132 insertions, 132 deletions
diff --git a/admin_trees_manage.php b/admin_trees_manage.php
index 55ece0492d..34a450ca77 100644
--- a/admin_trees_manage.php
+++ b/admin_trees_manage.php
@@ -45,115 +45,115 @@ if (defined('GLOB_BRACE')) {
}
// Process POST actions
switch (Filter::post('action')) {
-case 'delete':
- $gedcom_id = Filter::postInteger('gedcom_id');
- if (Filter::checkCsrf() && $gedcom_id) {
- $tree = Tree::findById($gedcom_id);
- FlashMessages::addMessage(/* I18N: %s is the name of a family tree */ I18N::translate('The family tree “%s” has been deleted.', $tree->getTitleHtml()), 'success');
- $tree->delete();
- }
- header('Location: admin_trees_manage.php');
+ case 'delete':
+ $gedcom_id = Filter::postInteger('gedcom_id');
+ if (Filter::checkCsrf() && $gedcom_id) {
+ $tree = Tree::findById($gedcom_id);
+ FlashMessages::addMessage(/* I18N: %s is the name of a family tree */ I18N::translate('The family tree “%s” has been deleted.', $tree->getTitleHtml()), 'success');
+ $tree->delete();
+ }
+ header('Location: admin_trees_manage.php');
- return;
-case 'setdefault':
- if (Filter::checkCsrf()) {
- Site::setPreference('DEFAULT_GEDCOM', Filter::post('ged'));
- FlashMessages::addMessage(/* I18N: %s is the name of a family tree */ I18N::translate('The family tree “%s” will be shown to visitors when they first arrive at this website.', $WT_TREE->getTitleHtml()), 'success');
- }
- header('Location: admin_trees_manage.php');
+ return;
+ case 'setdefault':
+ if (Filter::checkCsrf()) {
+ Site::setPreference('DEFAULT_GEDCOM', Filter::post('ged'));
+ FlashMessages::addMessage(/* I18N: %s is the name of a family tree */ I18N::translate('The family tree “%s” will be shown to visitors when they first arrive at this website.', $WT_TREE->getTitleHtml()), 'success');
+ }
+ header('Location: admin_trees_manage.php');
- return;
-case 'new_tree':
- $basename = basename(Filter::post('tree_name'));
- $tree_title = Filter::post('tree_title');
+ return;
+ case 'new_tree':
+ $basename = basename(Filter::post('tree_name'));
+ $tree_title = Filter::post('tree_title');
- if (Filter::checkCsrf() && $basename && $tree_title) {
- if (Tree::findByName($basename)) {
- FlashMessages::addMessage(/* I18N: %s is the name of a family tree */ I18N::translate('The family tree “%s” already exists.', Html::escape($basename)), 'danger');
- } else {
- Tree::create($basename, $tree_title);
- FlashMessages::addMessage(/* I18N: %s is the name of a family tree */ I18N::translate('The family tree “%s” has been created.', Html::escape($basename)), 'success');
+ if (Filter::checkCsrf() && $basename && $tree_title) {
+ if (Tree::findByName($basename)) {
+ FlashMessages::addMessage(/* I18N: %s is the name of a family tree */ I18N::translate('The family tree “%s” already exists.', Html::escape($basename)), 'danger');
+ } else {
+ Tree::create($basename, $tree_title);
+ FlashMessages::addMessage(/* I18N: %s is the name of a family tree */ I18N::translate('The family tree “%s” has been created.', Html::escape($basename)), 'success');
+ }
}
- }
- header('Location: admin_trees_manage.php?ged=' . rawurlencode($basename));
+ header('Location: admin_trees_manage.php?ged=' . rawurlencode($basename));
- return;
-case 'replace_upload':
- $gedcom_id = Filter::postInteger('gedcom_id');
- $keep_media = Filter::post('keep_media', '1', '0');
- $GEDCOM_MEDIA_PATH = Filter::post('GEDCOM_MEDIA_PATH');
- $WORD_WRAPPED_NOTES = Filter::post('WORD_WRAPPED_NOTES', '1', '0');
- $tree = Tree::findById($gedcom_id);
+ return;
+ case 'replace_upload':
+ $gedcom_id = Filter::postInteger('gedcom_id');
+ $keep_media = Filter::post('keep_media', '1', '0');
+ $GEDCOM_MEDIA_PATH = Filter::post('GEDCOM_MEDIA_PATH');
+ $WORD_WRAPPED_NOTES = Filter::post('WORD_WRAPPED_NOTES', '1', '0');
+ $tree = Tree::findById($gedcom_id);
- if (Filter::checkCsrf() && $tree) {
- $tree->setPreference('keep_media', $keep_media);
- $tree->setPreference('GEDCOM_MEDIA_PATH', $GEDCOM_MEDIA_PATH);
- $tree->setPreference('WORD_WRAPPED_NOTES', $WORD_WRAPPED_NOTES);
- if (isset($_FILES['tree_name'])) {
- if ($_FILES['tree_name']['error'] == 0 && is_readable($_FILES['tree_name']['tmp_name'])) {
- $tree->importGedcomFile($_FILES['tree_name']['tmp_name'], $_FILES['tree_name']['name']);
+ if (Filter::checkCsrf() && $tree) {
+ $tree->setPreference('keep_media', $keep_media);
+ $tree->setPreference('GEDCOM_MEDIA_PATH', $GEDCOM_MEDIA_PATH);
+ $tree->setPreference('WORD_WRAPPED_NOTES', $WORD_WRAPPED_NOTES);
+ if (isset($_FILES['tree_name'])) {
+ if ($_FILES['tree_name']['error'] == 0 && is_readable($_FILES['tree_name']['tmp_name'])) {
+ $tree->importGedcomFile($_FILES['tree_name']['tmp_name'], $_FILES['tree_name']['name']);
+ } else {
+ FlashMessages::addMessage(Functions::fileUploadErrorText($_FILES['tree_name']['error']), 'danger');
+ }
} else {
- FlashMessages::addMessage(Functions::fileUploadErrorText($_FILES['tree_name']['error']), 'danger');
+ FlashMessages::addMessage(I18N::translate('No GEDCOM file was received.'), 'danger');
}
- } else {
- FlashMessages::addMessage(I18N::translate('No GEDCOM file was received.'), 'danger');
}
- }
- header('Location: admin_trees_manage.php');
+ header('Location: admin_trees_manage.php');
- return;
-case 'replace_import':
- $basename = basename(Filter::post('tree_name'));
- $gedcom_id = Filter::postInteger('gedcom_id');
- $keep_media = Filter::post('keep_media', '1', '0');
- $GEDCOM_MEDIA_PATH = Filter::post('GEDCOM_MEDIA_PATH');
- $WORD_WRAPPED_NOTES = Filter::post('WORD_WRAPPED_NOTES', '1', '0');
- $tree = Tree::findById($gedcom_id);
+ return;
+ case 'replace_import':
+ $basename = basename(Filter::post('tree_name'));
+ $gedcom_id = Filter::postInteger('gedcom_id');
+ $keep_media = Filter::post('keep_media', '1', '0');
+ $GEDCOM_MEDIA_PATH = Filter::post('GEDCOM_MEDIA_PATH');
+ $WORD_WRAPPED_NOTES = Filter::post('WORD_WRAPPED_NOTES', '1', '0');
+ $tree = Tree::findById($gedcom_id);
- if (Filter::checkCsrf() && $tree) {
- $tree->setPreference('keep_media', $keep_media);
- $tree->setPreference('GEDCOM_MEDIA_PATH', $GEDCOM_MEDIA_PATH);
- $tree->setPreference('WORD_WRAPPED_NOTES', $WORD_WRAPPED_NOTES);
- if ($basename) {
- $tree->importGedcomFile(WT_DATA_DIR . $basename, $basename);
- } else {
- FlashMessages::addMessage(I18N::translate('No GEDCOM file was received.'), 'danger');
+ if (Filter::checkCsrf() && $tree) {
+ $tree->setPreference('keep_media', $keep_media);
+ $tree->setPreference('GEDCOM_MEDIA_PATH', $GEDCOM_MEDIA_PATH);
+ $tree->setPreference('WORD_WRAPPED_NOTES', $WORD_WRAPPED_NOTES);
+ if ($basename) {
+ $tree->importGedcomFile(WT_DATA_DIR . $basename, $basename);
+ } else {
+ FlashMessages::addMessage(I18N::translate('No GEDCOM file was received.'), 'danger');
+ }
}
- }
- header('Location: admin_trees_manage.php');
+ header('Location: admin_trees_manage.php');
- return;
+ return;
-case 'synchronize':
- if (Filter::checkCsrf()) {
- $basenames = [];
+ case 'synchronize':
+ if (Filter::checkCsrf()) {
+ $basenames = [];
- foreach ($gedcom_files as $gedcom_file) {
- $filemtime = filemtime($gedcom_file); // Only import files that have changed
- $basename = basename($gedcom_file);
- $basenames[] = $basename;
+ 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.', Html::escape($basename)), 'success');
+ $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.', Html::escape($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();
+ 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: admin_trees_manage.php');
+ header('Location: admin_trees_manage.php');
- return;
+ return;
}
$default_tree_title = /* I18N: Default name for a new tree */ I18N::translate('My family tree');
@@ -167,28 +167,28 @@ $default_tree_name .= $default_tree_number;
// Process GET actions
switch (Filter::get('action')) {
-case 'importform':
- $controller
- ->setPageTitle($WT_TREE->getTitleHtml() . ' — ' . I18N::translate('Import a GEDCOM file'))
- ->pageHeader();
+ case 'importform':
+ $controller
+ ->setPageTitle($WT_TREE->getTitleHtml() . ' — ' . I18N::translate('Import a GEDCOM file'))
+ ->pageHeader();
- echo Bootstrap4::breadcrumbs([
- route('admin-control-panel') => I18N::translate('Control panel'),
- 'admin_trees_manage.php' => I18N::translate('Manage family trees'),
- ], $controller->getPageTitle());
- ?>
+ echo Bootstrap4::breadcrumbs([
+ route('admin-control-panel') => I18N::translate('Control panel'),
+ 'admin_trees_manage.php' => I18N::translate('Manage family trees'),
+ ], $controller->getPageTitle());
+ ?>
<h1><?= $controller->getPageTitle() ?></h1>
<?php
- $tree = Tree::findById(Filter::getInteger('gedcom_id'));
- // Check it exists
- if (!$tree) {
- break;
- }
- $gedcom_filename = $tree->getPreference('gedcom_filename')
- ?>
- <p>
+ $tree = Tree::findById(Filter::getInteger('gedcom_id'));
+ // Check it exists
+ if (!$tree) {
+ break;
+ }
+ $gedcom_filename = $tree->getPreference('gedcom_filename')
+ ?>
+ <p>
<?= /* I18N: %s is the name of a family tree */ I18N::translate('This will delete all the genealogy data from “%s” and replace it with data from a GEDCOM file.', $tree->getTitleHtml()) ?>
</p>
<form class="form form-horizontal" name="gedcomimportform" method="post" enctype="multipart/form-data" onsubmit="return checkGedcomImportForm('<?= Html::escape(I18N::translate('You have selected a GEDCOM file with a different name. Is this correct?')) ?>');">
@@ -222,35 +222,35 @@ case 'importform':
<div class="input-group">
<span class="input-group-addon">
<?= WT_DATA_DIR ?>
- </span>
+ </span>
<?php
- $d = opendir(WT_DATA_DIR);
- $files = [];
- while (($f = readdir($d)) !== false) {
- if (!is_dir(WT_DATA_DIR . $f) && is_readable(WT_DATA_DIR . $f)) {
- $fp = fopen(WT_DATA_DIR . $f, 'rb');
- $header = fread($fp, 64);
- fclose($fp);
- if (preg_match('/^(' . WT_UTF8_BOM . ')?0 *HEAD/', $header)) {
- $files[] = $f;
+ $d = opendir(WT_DATA_DIR);
+ $files = [];
+ while (($f = readdir($d)) !== false) {
+ if (!is_dir(WT_DATA_DIR . $f) && is_readable(WT_DATA_DIR . $f)) {
+ $fp = fopen(WT_DATA_DIR . $f, 'rb');
+ $header = fread($fp, 64);
+ fclose($fp);
+ if (preg_match('/^(' . WT_UTF8_BOM . ')?0 *HEAD/', $header)) {
+ $files[] = $f;
+ }
+ }
+ }
+ echo '<select name="tree_name" class="form-control" id="import-server-file">';
+ echo '<option value=""></option>';
+ sort($files);
+ foreach ($files as $gedcom_file) {
+ echo '<option value="', Html::escape($gedcom_file), '" ';
+ if ($gedcom_file === $gedcom_filename) {
+ echo ' selected';
}
+ echo'>', Html::escape($gedcom_file), '</option>';
}
- }
- echo '<select name="tree_name" class="form-control" id="import-server-file">';
- echo '<option value=""></option>';
- sort($files);
- foreach ($files as $gedcom_file) {
- echo '<option value="', Html::escape($gedcom_file), '" ';
- if ($gedcom_file === $gedcom_filename) {
- echo ' selected';
+ if (empty($files)) {
+ echo '<option disabled selected>', I18N::translate('No GEDCOM files found.'), '</option>';
}
- echo'>', Html::escape($gedcom_file), '</option>';
- }
- if (empty($files)) {
- echo '<option disabled selected>', I18N::translate('No GEDCOM files found.'), '</option>';
- }
- echo '</select>';
- ?>
+ echo '</select>';
+ ?>
</div>
</div>
</div>
@@ -294,7 +294,7 @@ case 'importform':
>
<p class="small text-muted">
<?= /* I18N: Help text for the “GEDCOM media path” configuration setting. A “path” is something like “C:\Documents\Genealogy\Photos\John_Smith.jpeg” */ I18N::translate('Some genealogy software creates GEDCOM files that contain media filenames with full paths. These paths will not exist on the web-server. To allow webtrees to find the file, the first part of the path must be removed.') ?>
- <?= /* I18N: Help text for the “GEDCOM media path” configuration setting. %s are all folder names */ I18N::translate('For example, if the GEDCOM file contains %1$s and webtrees expects to find %2$s in the media folder, then you would need to remove %3$s.', '<code>C:\\Documents\\family\\photo.jpeg</code>', '<code>family\\photo.jpeg</code>', '<code>C:\\Documents\\</code>') ?>
+ <?= /* I18N: Help text for the “GEDCOM media path” configuration setting. %s are all folder names */ I18N::translate('For example, if the GEDCOM file contains %1$s and webtrees expects to find %2$s in the media folder, then you would need to remove %3$s.', '<code>C:\\Documents\\family\\photo.jpeg</code>', '<code>family\\photo.jpeg</code>', '<code>C:\\Documents\\</code>') ?>
</p>
</div>
</div>
@@ -310,7 +310,7 @@ case 'importform':
</form>
<?php
- return;
+ return;
}
if (!Tree::getAll()) {