add formfield for domain-duplication; fix missing check for changed field in Domains.update() to force temporary disabling of ssl-vhost

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2023-09-24 17:03:15 +02:00
parent 13b6ab0b07
commit d1cb32b47f
3 changed files with 61 additions and 4 deletions

View File

@@ -30,9 +30,9 @@ use Froxlor\Api\Commands\Customers as Customers;
use Froxlor\Api\Commands\Domains as Domains;
use Froxlor\Bulk\DomainBulkAction;
use Froxlor\Cron\TaskId;
use Froxlor\CurrentUser;
use Froxlor\Customer\Customer;
use Froxlor\Database\Database;
use Froxlor\Domain\Domain;
use Froxlor\FileDir;
use Froxlor\FroxlorLogger;
use Froxlor\Settings;
@@ -45,7 +45,6 @@ use Froxlor\UI\Request;
use Froxlor\UI\Response;
use Froxlor\User;
use Froxlor\Validate\Validate;
use Froxlor\CurrentUser;
$id = (int)Request::any('id');
@@ -646,7 +645,7 @@ if ($page == 'domains' || $page == 'overview') {
Response::redirectTo($filename, [
'page' => $page,
'searchfield' => 'd.domain_ace',
'searchtext' => $_POST['domain'] ?? ""
'searchtext' => Request::post('domain', "")
]);
} else {
Response::redirectTo($filename, [

View File

@@ -1553,7 +1553,7 @@ class Domains extends ApiCommand implements ResourceEntity
}
// Temporarily deactivate ssl_redirect until Let's Encrypt certificate was generated
if ($ssl_redirect > 0 && $letsencrypt == 1 && $result['letsencrypt'] != $letsencrypt) {
if (($result['letsencrypt'] != $letsencrypt || $result['ssl_redirect'] != $ssl_redirect) && $ssl_redirect > 0 && $letsencrypt == 1) {
$ssl_redirect = 2;
}

View File

@@ -0,0 +1,58 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* 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 2
* 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, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return [
'domain_duplicate' => [
'title' => lng('admin.domain_duplicate'),
'image' => 'fa-solid fa-globe',
'self_overview' => ['section' => 'domains', 'page' => 'domains'],
'id' => 'domain_add',
'sections' => [
'section_a' => [
'title' => lng('domains.domainsettings'),
'image' => 'icons/domain_add.png',
'fields' => [
'domain' => [
'label' => 'Domain',
'type' => 'text',
'mandatory' => true
],
'customerid' => [
'label' => lng('admin.customer'),
'type' => 'select',
'select_var' => $customers,
'selected' => $result['customerid'],
'mandatory' => true
],
]
]
],
'buttons' => [
[
'label' => lng('admin.domain_duplicate')
]
]
]
];