clean alias list and separate new alias form

This commit is contained in:
Jean-Christian Paul Denis 2022-12-04 15:54:52 +01:00
parent 0c0e5b20e7
commit a353e769e1
Signed by: JcDenis
GPG Key ID: 1B5B8C5B90B6C951

View File

@ -18,6 +18,7 @@ dcPage::check(dcCore::app()->auth->makePermissions([dcAuth::PERMISSION_ADMIN]));
$o = new dcAliases();
$aliases = $o->getAliases();
$part = $_REQUEST['part'] ?? 'list';
# Update aliases
if (isset($_POST['a']) && is_array($_POST['a'])) {
@ -49,50 +50,80 @@ if (isset($_POST['alias_url'])) {
<body>
<?php
echo
dcPage::breadcrumb([
if ($part == 'new') {
echo
dcPage::breadcrumb([
__('Plugins') => '',
__('Aliases') => '',
]) .
dcPage::notices() .
'<h3>' . __('Aliases list') . '</h3>';
if (empty($aliases)) {
echo '<p>' . __('No alias') . '</p>';
__('Aliases') => dcCore::app()->adminurl->get('admin.plugin.alias', ['part' => 'list']),
__('New alias') => '',
]) .
dcPage::notices() .
'<h3>' . __('New alias') . '</h3>' .
'<form action="' . dcCore::app()->admin->getPageURL() . '" method="post">' .
'<p class="field"><label>' . __('Alias URL:') . ' ' . form::field('alias_url', 50, 255) . '</label></p>' .
'<p class="field"><label>' . __('Alias destination:') . ' ' . form::field('alias_destination', 50, 255) . '</label></p>' .
'<p class="form-note">' . sprintf(__('Do not put blog URL "%s" in fields.'), dcCore::app()->blog->url) . '</p>' .
'<p>' .
dcCore::app()->formNonce() .
form::hidden('part', 'new') .
'<input type="submit" value="' . __('Save') . '" /></p>' .
'</form>';
} else {
echo
dcPage::breadcrumb([
__('Plugins') => '',
__('Aliases') => ''
]) .
dcPage::notices() .
'<p class="top-add"><a class="button add" href="' .
dcCore::app()->adminurl->get('admin.plugin.alias', ['part' => 'new']) .
'">' . __('New alias') . '</a></p>';
if (empty($aliases)) {
echo '<p>' . __('No alias') . '</p>';
} else {
echo
'<form action="' . dcCore::app()->admin->getPageURL() . '" method="post">' .
'<table><tr>' .
'<td>' . __('Alias URL') . '</td>' .
'<td>' . __('Alias destination') . '</td>' .
'<td>' . __('Alias position') . '</td>' .
'</tr>';
'<div class="table-outer">' .
'<table>' .
'<caption>' . __('Aliases list') . '</caption>' .
'<thead>' .
'<tr>' .
'<th class="nowrap" scope="col">' . __('Alias URL') . '</th>' .
'<th class="nowrap" scope="col">' . __('Alias destination') . '</th>' .
'<th class="nowrap" scope="col">' . __('Alias position') . '</th>' .
'</tr>' .
'</thead><tbody>';
foreach ($aliases as $k => $v) {
echo
'<tr>' .
'<td>' . form::field(['a[' . $k . '][alias_url]'], 30, 255, html::escapeHTML($v['alias_url'])) . '</td>' .
'<td>' . form::field(['a[' . $k . '][alias_destination]'], 50, 255, html::escapeHTML($v['alias_destination'])) . '</td>' .
'<td>' . form::field(['a[' . $k . '][alias_position]'], 3, 5, html::escapeHTML($v['alias_position'])) . '</td>' .
'<tr class="line" id="l_' . $k . '">' .
'<td>' .
form::field(['a[' . $k . '][alias_url]'], 50, 255, html::escapeHTML($v['alias_url'])) . '</td>' .
'<td class="maximal">' .
form::field(['a[' . $k . '][alias_destination]'], 50, 255, html::escapeHTML($v['alias_destination'])) . '</td>' .
'<td class="minimal">' .
form::number(['a[' . $k . '][alias_position]'], [
'min' => 1,
'max' => count($aliases),
'default' => (int) $v['alias_position'],
'class' => 'position',
'extra_html' => 'title="' . sprintf(__('position of %s'), html::escapeHTML($v['alias_url'])) . '"',
]) . '</td>' .
'</tr>';
}
echo '</table>' .
'<p>' . __('To remove an alias, empty its URL or destination.') . '</p>' .
'<p>' . dcCore::app()->formNonce() .
echo
'</tbody></table></div>' .
'<p class="form-note">' . __('To remove an alias, empty its URL or destination.') . '</p>' .
'<p>' .
dcCore::app()->formNonce() .
form::hidden('part', 'list') .
'<input type="submit" value="' . __('Update') . '" /></p>' .
'</form>';
}
}
echo
'<h3>' . __('New alias') . '</h3>' .
'<form action="' . dcCore::app()->admin->getPageURL() . '" method="post">' .
'<p class="field"><label>' . __('Alias URL:') . ' ' . form::field('alias_url', 50, 255) . '</label></p>' .
'<p class="field"><label>' . __('Alias destination:') . ' ' . form::field('alias_destination', 50, 255) . '</label></p>' .
'<p>' . dcCore::app()->formNonce() . '<input type="submit" value="' . __('Save') . '" /></p>' .
'</form>';
dcPage::helpBlock('alias');
?>
</body>