1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/webtrees_ynh.git synced 2024-09-03 18:26:37 +02:00
webtrees_ynh/sources/block_edit.php

101 lines
3 KiB
PHP

<?php
/**
* webtrees: online genealogy
* Copyright (C) 2016 webtrees development team
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace Fisharebest\Webtrees;
/**
* Defined in session.php
*
* @global Tree $WT_TREE
*/
global $WT_TREE;
use Fisharebest\Webtrees\Controller\PageController;
use Fisharebest\Webtrees\Module\CkeditorModule;
define('WT_SCRIPT_NAME', 'block_edit.php');
require './includes/session.php';
$block_id = Filter::getInteger('block_id');
$block = Database::prepare(
"SELECT SQL_CACHE * FROM `##block` WHERE block_id=?"
)->execute(array($block_id))->fetchOneRow();
// Check access. (1) the block must exist and be enabled, (2) gedcom blocks require
// managers, (3) user blocks require the user or an admin
$blocks = Module::getActiveBlocks($WT_TREE);
if (
!$block ||
!array_key_exists($block->module_name, $blocks) ||
$block->gedcom_id && !Auth::isManager(Tree::findById($block->gedcom_id)) ||
$block->user_id && $block->user_id != Auth::id() && !Auth::isAdmin()
) {
header('Location: ' . WT_BASE_URL);
return;
}
$block = $blocks[$block->module_name];
if (Filter::post('save')) {
$ctype = Filter::post('ctype', 'user', 'gedcom');
header('Location: ' . WT_BASE_URL . 'index.php?ctype=' . $ctype . '&ged=' . $WT_TREE->getNameUrl());
$block->configureBlock($block_id);
return;
}
$ctype = Filter::get('ctype', 'user', 'gedcom');
$controller = new PageController;
$controller
->setPageTitle($block->getTitle() . ' — ' . I18N::translate('Preferences'))
->pageHeader();
if (Module::getModuleByName('ckeditor')) {
CkeditorModule::enableEditor($controller);
}
?>
<h2><?php echo $controller->getPageTitle(); ?></h2>
<form name="block" method="post" action="?block_id=<?php echo $block_id; ?>">
<input type="hidden" name="save" value="1">
<input type="hidden" name="ged" value="<?php echo $WT_TREE->getNameHtml(); ?>">
<input type="hidden" name="ctype" value="<?php echo $ctype; ?>">
<?php echo Filter::getCsrf(); ?>
<table class="facts_table">
<thead>
<tr>
<td class="descriptionbox">
<?php echo I18N::translate('Description'); ?>
</td>
<td class="optionbox">
<?php echo $block->getDescription(); ?>
</td>
</tr>
</thead>
<tbody>
<?php echo $block->configureBlock($block_id); ?>
</tbody>
<tfoot>
<tr>
<td colspan="2" class="topbottombar">
<input type="submit" value="<?php echo I18N::translate('save'); ?>">
</td>
</tr>
</tfoot>
</table>
</form>