display notice if customer has no domains assigned yet to add subdomains; corrected subdomains-usage-check to exclude std-subdomain
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
@@ -51,7 +51,7 @@ $id = (int)Request::any('id');
|
||||
|
||||
if ($page == 'overview' || $page == 'domains') {
|
||||
if ($action == '') {
|
||||
$log->logAction(FroxlorLogger::USR_ACTION, LOG_NOTICE, "viewed customer_domains::domains");
|
||||
$log->logAction(FroxlorLogger::USR_ACTION, LOG_INFO, "viewed customer_domains::domains");
|
||||
|
||||
$parentdomain_id = (int)Request::any('pid', '0');
|
||||
|
||||
@@ -73,10 +73,17 @@ if ($page == 'overview' || $page == 'domains') {
|
||||
];
|
||||
}
|
||||
|
||||
UI::view('user/table.html.twig', [
|
||||
$table_tpl = 'table.html.twig';
|
||||
if ($collection->count() == 0) {
|
||||
$table_tpl = 'table-note.html.twig';
|
||||
}
|
||||
UI::view('user/' . $table_tpl, [
|
||||
'listing' => Listing::format($collection, $domain_list_data, 'domain_list'),
|
||||
'actions_links' => $actions_links,
|
||||
'entity_info' => lng('domains.description')
|
||||
'entity_info' => lng('domains.description'),
|
||||
// alert-box
|
||||
'type' => 'warning',
|
||||
'alert_msg' => lng('domains.nodomainsassignedbyadmin')
|
||||
]);
|
||||
} elseif ($action == 'delete' && $id != 0) {
|
||||
try {
|
||||
@@ -139,6 +146,14 @@ if ($page == 'overview' || $page == 'domains') {
|
||||
$domains[$row['domain']] = $idna_convert->decode($row['domain']);
|
||||
}
|
||||
|
||||
// check of there are any domains to be used
|
||||
if (count($domains) <= 0) {
|
||||
// no, possible direct URL access, redirect to overview
|
||||
Response::redirectTo($filename, [
|
||||
'page' => $page
|
||||
]);
|
||||
}
|
||||
|
||||
$aliasdomains[0] = lng('domains.noaliasdomain');
|
||||
$domains_stmt = Database::prepare("SELECT `d`.`id`, `d`.`domain` FROM `" . TABLE_PANEL_DOMAINS . "` `d`, `" . TABLE_PANEL_CUSTOMERS . "` `c`
|
||||
WHERE `d`.`aliasdomain` IS NULL
|
||||
|
||||
@@ -84,7 +84,7 @@ if ($page == 'overview' || $page == 'emails') {
|
||||
if ($page == 'email_domain') {
|
||||
$email_domainid = Request::any('domainid', 0);
|
||||
if ($action == '') {
|
||||
$log->logAction(FroxlorLogger::USR_ACTION, LOG_NOTICE, "viewed customer_email::emails");
|
||||
$log->logAction(FroxlorLogger::USR_ACTION, LOG_INFO, "viewed customer_email::emails");
|
||||
|
||||
$sql_search = [];
|
||||
if ($email_domainid > 0) {
|
||||
|
||||
@@ -272,7 +272,8 @@ abstract class ApiCommand extends ApiParameter
|
||||
$ops = [
|
||||
'<',
|
||||
'>',
|
||||
'='
|
||||
'=',
|
||||
'<>'
|
||||
];
|
||||
$first = true;
|
||||
foreach ($search as $field => $valoper) {
|
||||
|
||||
@@ -289,7 +289,7 @@ pm.max_children = 1
|
||||
}
|
||||
}
|
||||
|
||||
// now check if 'sendmail_path' has not beed set in the custom-php.ini
|
||||
// now check if 'sendmail_path' has not been set in the custom-php.ini
|
||||
// if not we use our fallback-default as usual
|
||||
if (strpos($fpm_config, 'php_admin_value[sendmail_path]') === false) {
|
||||
$fpm_config .= 'php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f ' . $this->domain['email'] . "\n";
|
||||
|
||||
@@ -25,10 +25,10 @@
|
||||
|
||||
namespace Froxlor;
|
||||
|
||||
use Froxlor\Database\Database;
|
||||
use Froxlor\UI\Collection;
|
||||
use Froxlor\Api\Commands\Customers;
|
||||
use Froxlor\Api\Commands\SubDomains;
|
||||
use Froxlor\Database\Database;
|
||||
use Froxlor\UI\Collection;
|
||||
|
||||
/**
|
||||
* Class to manage the current user / session
|
||||
@@ -151,15 +151,21 @@ class CurrentUser
|
||||
]);
|
||||
$addition = $result['emaildomains'] != 0;
|
||||
} elseif ($resource == 'subdomains') {
|
||||
$parentDomainCollection = (new Collection(SubDomains::class, $_SESSION['userinfo'],
|
||||
['sql_search' => ['d.parentdomainid' => 0]]));
|
||||
$addition = $parentDomainCollection != 0;
|
||||
$parentDomainCollection = (new Collection(
|
||||
SubDomains::class,
|
||||
$_SESSION['userinfo'],
|
||||
['sql_search' => [
|
||||
'd.parentdomainid' => 0,
|
||||
'd.id' => ['op' => '<>', 'value' => $_SESSION['userinfo']['standardsubdomain']]
|
||||
]
|
||||
]
|
||||
));
|
||||
$addition = $parentDomainCollection->count() != 0;
|
||||
} elseif ($resource == 'domains') {
|
||||
$customerCollection = (new Collection(Customers::class, $_SESSION['userinfo']));
|
||||
$addition = $customerCollection != 0;
|
||||
$addition = $customerCollection->count() != 0;
|
||||
}
|
||||
|
||||
return ($_SESSION['userinfo'][$resource . '_used'] < $_SESSION['userinfo'][$resource] || $_SESSION['userinfo'][$resource] == '-1') && $addition;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -699,6 +699,7 @@ return [
|
||||
'openbasedirenabled' => 'Openbasedir Einschränkung',
|
||||
'hsts' => 'HSTS aktiviert',
|
||||
'aliasdomainid' => 'ID der Alias-Domain',
|
||||
'nodomainsassignedbyadmin' => 'Diesem Account wurde noch keine Domain zugewiesen. Bitte kontaktiere deinen Administrator, wenn du der Meinung bist, das ist nicht korrekt.',
|
||||
],
|
||||
'emails' => [
|
||||
'description' => 'Hier können Sie Ihre E-Mail-Adressen einrichten.<br />Ein Konto ist wie Ihr Briefkasten vor der Haustür. Wenn jemand eine E-Mail an Sie schreibt, wird diese in dieses Konto gelegt.<br /><br />Die Zugangsdaten lauten wie folgt: (Die Angaben in <i>kursiver</i> Schrift sind durch die jeweiligen Einträge zu ersetzen)<br /><br />Hostname: <b><i>Domainname</i></b><br />Benutzername: <b><i>Kontoname / E-Mail-Adresse</i></b><br />Passwort: <b><i>das gewählte Passwort</i></b>',
|
||||
|
||||
@@ -765,6 +765,7 @@ return [
|
||||
'openbasedirenabled' => 'Openbasedir restiction',
|
||||
'hsts' => 'HSTS enabled',
|
||||
'aliasdomainid' => 'ID of alias domain',
|
||||
'nodomainsassignedbyadmin' => 'Your account has currently no domains assigned to it. Please contact your administrator if you think this is wrong.',
|
||||
],
|
||||
'emails' => [
|
||||
'description' => 'Here you can create and change your email addresses.<br />An account is like your letterbox in front of your house. If someone sends you an email, it will be dropped into the account.<br /><br />To download your emails use the following settings in your mailprogram: (The data in <i>italics</i> has to be changed to the equivalents you typed in!)<br />Hostname: <b><i>domainname</i></b><br />Username: <b><i>account name / e-mail address</i></b><br />password: <b><i>the password you\'ve chosen</i></b>',
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
{% for link in actions_links %}
|
||||
<a class="btn {{ link.class|default('btn-outline-primary') }}" href="{{ link.href|raw }}">
|
||||
<i class="{{ link.icon|default('fa-solid fa-plus-circle') }}"></i>
|
||||
<span class="d-none d-lg-inline ms-lg-1">{{ link.label }}</span>
|
||||
{% if link.label is defined and link.label is not empty %}<span class="d-none d-lg-inline ms-lg-1">{{ link.label }}</span>{% endif %}
|
||||
</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user