[Web] Various PHP 8 fixes, partly fixes #4219
parent
7e958c9b26
commit
2cd0b56b14
|
@ -460,7 +460,7 @@ if (isset($_SESSION['mailcow_cc_role'])) {
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-sm-2" for="script_data"><?=$lang['edit']['target_address'];?>:</label>
|
<label class="control-label col-sm-2" for="script_data"><?=$lang['edit']['target_address'];?>:</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<textarea spellcheck="false" autocorrect="off" autocapitalize="none" class="form-control" rows="10" id="bcc_rcpt" name="bcc_rcpt"><?=implode(PHP_EOL, $quota_notification_bcc['bcc_rcpts']);?></textarea>
|
<textarea spellcheck="false" autocorrect="off" autocapitalize="none" class="form-control" rows="10" id="bcc_rcpt" name="bcc_rcpt"><?=implode(PHP_EOL, (array)$quota_notification_bcc['bcc_rcpts']);?></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
@ -623,7 +623,15 @@ if (isset($_SESSION['mailcow_cc_role'])) {
|
||||||
$rlyhosts = relayhost('get');
|
$rlyhosts = relayhost('get');
|
||||||
if (!empty($result)) {
|
if (!empty($result)) {
|
||||||
?>
|
?>
|
||||||
<h4><?=$lang['edit']['mailbox'];?></h4>
|
<ul class="nav nav-tabs responsive-tabs" role="tablist">
|
||||||
|
<li class="active"><a data-toggle="tab" href="#medit"><?=$lang['edit']['mailbox'];?></a></li>
|
||||||
|
<li><a data-toggle="tab" href="#mpushover"><?=$lang['edit']['pushover'];?></a></li>
|
||||||
|
<li><a data-toggle="tab" href="#macl"><?=$lang['edit']['acl'];?></a></li>
|
||||||
|
<li><a data-toggle="tab" href="#mrl"><?=$lang['edit']['ratelimit'];?></a></li>
|
||||||
|
</ul>
|
||||||
|
<hr>
|
||||||
|
<div class="tab-content">
|
||||||
|
<div id="medit" class="tab-pane in active">
|
||||||
<form class="form-horizontal" data-id="editmailbox" role="form" method="post">
|
<form class="form-horizontal" data-id="editmailbox" role="form" method="post">
|
||||||
<input type="hidden" value="default" name="sender_acl">
|
<input type="hidden" value="default" name="sender_acl">
|
||||||
<input type="hidden" value="0" name="force_pw_update">
|
<input type="hidden" value="0" name="force_pw_update">
|
||||||
|
@ -874,7 +882,8 @@ if (isset($_SESSION['mailcow_cc_role'])) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<hr>
|
</div>
|
||||||
|
<div id="mpushover" class="tab-pane">
|
||||||
<form data-id="pushover" class="form well" method="post">
|
<form data-id="pushover" class="form well" method="post">
|
||||||
<input type="hidden" value="0" name="evaluate_x_prio">
|
<input type="hidden" value="0" name="evaluate_x_prio">
|
||||||
<input type="hidden" value="0" name="only_x_prio">
|
<input type="hidden" value="0" name="only_x_prio">
|
||||||
|
@ -953,31 +962,8 @@ if (isset($_SESSION['mailcow_cc_role'])) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<hr>
|
|
||||||
<form data-id="mboxratelimit" class="form-inline well" method="post">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-1">
|
|
||||||
<p class="help-block"><?=$lang['acl']['ratelimit'];?></p>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-10">
|
<div id="macl" class="tab-pane">
|
||||||
<div class="form-group">
|
|
||||||
<input name="rl_value" type="number" autocomplete="off" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" class="form-control" placeholder="<?=$lang['ratelimit']['disabled']?>">
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<select name="rl_frame" class="form-control">
|
|
||||||
<option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>><?=$lang['ratelimit']['second']?></option>
|
|
||||||
<option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>><?=$lang['ratelimit']['minute']?></option>
|
|
||||||
<option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>><?=$lang['ratelimit']['hour']?></option>
|
|
||||||
<option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>><?=$lang['ratelimit']['day']?></option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="mboxratelimit" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/rl-mbox' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
|
|
||||||
</div>
|
|
||||||
<p class="help-block"><?=$lang['edit']['mbox_rl_info'];?></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<form data-id="useracl" class="form-inline well" method="post">
|
<form data-id="useracl" class="form-inline well" method="post">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-1">
|
<div class="col-sm-1">
|
||||||
|
@ -1002,6 +988,34 @@ if (isset($_SESSION['mailcow_cc_role'])) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
|
<div id="mrl" class="tab-pane">
|
||||||
|
<form data-id="mboxratelimit" class="form-inline well" method="post">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-1">
|
||||||
|
<p class="help-block"><?=$lang['acl']['ratelimit'];?></p>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<div class="form-group">
|
||||||
|
<input name="rl_value" type="number" autocomplete="off" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" class="form-control" placeholder="<?=$lang['ratelimit']['disabled']?>">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<select name="rl_frame" class="form-control">
|
||||||
|
<option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>><?=$lang['ratelimit']['second']?></option>
|
||||||
|
<option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>><?=$lang['ratelimit']['minute']?></option>
|
||||||
|
<option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>><?=$lang['ratelimit']['hour']?></option>
|
||||||
|
<option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>><?=$lang['ratelimit']['day']?></option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="mboxratelimit" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/rl-mbox' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
|
||||||
|
</div>
|
||||||
|
<p class="help-block"><?=$lang['edit']['mbox_rl_info'];?></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -268,9 +268,9 @@ if (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "adm
|
||||||
$currents = dns_get_record($record[0], 52, $_, $_, TRUE);
|
$currents = dns_get_record($record[0], 52, $_, $_, TRUE);
|
||||||
foreach ($currents as &$current) {
|
foreach ($currents as &$current) {
|
||||||
$current['type'] = 'TLSA';
|
$current['type'] = 'TLSA';
|
||||||
$current['cert_usage'] = hexdec(bin2hex($current['data']{0}));
|
$current['cert_usage'] = hexdec(bin2hex($current['data'][0]));
|
||||||
$current['selector'] = hexdec(bin2hex($current['data']{1}));
|
$current['selector'] = hexdec(bin2hex($current['data'][1]));
|
||||||
$current['match_type'] = hexdec(bin2hex($current['data']{2}));
|
$current['match_type'] = hexdec(bin2hex($current['data'][2]));
|
||||||
$current['cert_data'] = bin2hex(substr($current['data'], 3));
|
$current['cert_data'] = bin2hex(substr($current['data'], 3));
|
||||||
$current['data'] = $current['cert_usage'] . ' ' . $current['selector'] . ' ' . $current['match_type'] . ' ' . $current['cert_data'];
|
$current['data'] = $current['cert_usage'] . ' ' . $current['selector'] . ' ' . $current['match_type'] . ' ' . $current['cert_data'];
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,7 @@ function dkim($_action, $_data = null, $privkey = false) {
|
||||||
array_shift($pem_public_key_array);
|
array_shift($pem_public_key_array);
|
||||||
array_pop($pem_public_key_array);
|
array_pop($pem_public_key_array);
|
||||||
// Implode as single string
|
// Implode as single string
|
||||||
$pem_public_key = implode('', $pem_public_key_array);
|
$pem_public_key = implode('', (array)$pem_public_key_array);
|
||||||
$dkim_selector = (isset($_data['dkim_selector'])) ? $_data['dkim_selector'] : 'dkim';
|
$dkim_selector = (isset($_data['dkim_selector'])) ? $_data['dkim_selector'] : 'dkim';
|
||||||
$domain = $_data['domain'];
|
$domain = $_data['domain'];
|
||||||
if (!is_valid_domain_name($domain)) {
|
if (!is_valid_domain_name($domain)) {
|
||||||
|
@ -251,7 +251,7 @@ function dkim($_action, $_data = null, $privkey = false) {
|
||||||
}
|
}
|
||||||
if ($GLOBALS['SPLIT_DKIM_255'] === true) {
|
if ($GLOBALS['SPLIT_DKIM_255'] === true) {
|
||||||
$dkim_txt_tmp = str_split('v=DKIM1;k=rsa;t=s;s=email;p=' . $redis_dkim_key_data, 255);
|
$dkim_txt_tmp = str_split('v=DKIM1;k=rsa;t=s;s=email;p=' . $redis_dkim_key_data, 255);
|
||||||
$dkimdata['dkim_txt'] = sprintf('"%s"', implode('" "', $dkim_txt_tmp ) );
|
$dkimdata['dkim_txt'] = sprintf('"%s"', implode('" "', (array)$dkim_txt_tmp ) );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$dkimdata['dkim_txt'] = 'v=DKIM1;k=rsa;t=s;s=email;p=' . $redis_dkim_key_data;
|
$dkimdata['dkim_txt'] = 'v=DKIM1;k=rsa;t=s;s=email;p=' . $redis_dkim_key_data;
|
||||||
|
|
|
@ -18,7 +18,7 @@ function fail2ban($_action, $_data = null) {
|
||||||
}
|
}
|
||||||
if (isset($tmp_wl_data)) {
|
if (isset($tmp_wl_data)) {
|
||||||
natsort($tmp_wl_data);
|
natsort($tmp_wl_data);
|
||||||
$f2b_options['whitelist'] = implode(PHP_EOL, $tmp_wl_data);
|
$f2b_options['whitelist'] = implode(PHP_EOL, (array)$tmp_wl_data);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$f2b_options['whitelist'] = "";
|
$f2b_options['whitelist'] = "";
|
||||||
|
@ -34,7 +34,7 @@ function fail2ban($_action, $_data = null) {
|
||||||
}
|
}
|
||||||
if (isset($tmp_bl_data)) {
|
if (isset($tmp_bl_data)) {
|
||||||
natsort($tmp_bl_data);
|
natsort($tmp_bl_data);
|
||||||
$f2b_options['blacklist'] = implode(PHP_EOL, $tmp_bl_data);
|
$f2b_options['blacklist'] = implode(PHP_EOL, (array)$tmp_bl_data);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$f2b_options['blacklist'] = "";
|
$f2b_options['blacklist'] = "";
|
||||||
|
|
|
@ -57,7 +57,7 @@ function fwdhost($_action, $_data = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_data_log),
|
'log' => array(__FUNCTION__, $_action, $_data_log),
|
||||||
'msg' => array('forwarding_host_added', htmlspecialchars(implode(', ', $hosts)))
|
'msg' => array('forwarding_host_added', htmlspecialchars(implode(', ', (array)$hosts)))
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case 'edit':
|
case 'edit':
|
||||||
|
|
|
@ -201,7 +201,7 @@ function password_complexity($_action, $_data = null) {
|
||||||
$policy_text[] = sprintf($lang['admin']["password_policy_$name"], $value);
|
$policy_text[] = sprintf($lang['admin']["password_policy_$name"], $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return '<p class="help-block small">- ' . implode('<br>- ', $policy_text) . '</p>';
|
return '<p class="help-block small">- ' . implode('<br>- ', (array)$policy_text) . '</p>';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -683,7 +683,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||||
$gotos = array_unique($gotos);
|
$gotos = array_unique($gotos);
|
||||||
$gotos = array_filter($gotos);
|
$gotos = array_filter($gotos);
|
||||||
if (empty($gotos)) { return false; }
|
if (empty($gotos)) { return false; }
|
||||||
$goto = implode(",", $gotos);
|
$goto = implode(",", (array)$gotos);
|
||||||
}
|
}
|
||||||
foreach ($addresses as $address) {
|
foreach ($addresses as $address) {
|
||||||
if (empty($address)) {
|
if (empty($address)) {
|
||||||
|
@ -1572,7 +1572,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
|
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
|
||||||
'msg' => array('mailbox_modified', htmlspecialchars(implode(', ', $usernames)))
|
'msg' => array('mailbox_modified', htmlspecialchars(implode(', ', (array)$usernames)))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -2080,7 +2080,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||||
}
|
}
|
||||||
$gotos = array_unique($gotos);
|
$gotos = array_unique($gotos);
|
||||||
$gotos = array_filter($gotos);
|
$gotos = array_filter($gotos);
|
||||||
$goto = implode(",", $gotos);
|
$goto = implode(",", (array)$gotos);
|
||||||
}
|
}
|
||||||
if (!empty($goto)) {
|
if (!empty($goto)) {
|
||||||
$stmt = $pdo->prepare("UPDATE `alias` SET
|
$stmt = $pdo->prepare("UPDATE `alias` SET
|
||||||
|
@ -3002,7 +3002,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||||
while($field = array_shift($fields)) {
|
while($field = array_shift($fields)) {
|
||||||
$shown_fields[] = $field['Field'];
|
$shown_fields[] = $field['Field'];
|
||||||
}
|
}
|
||||||
$stmt = $pdo->prepare("SELECT " . implode(',', $shown_fields) . ",
|
$stmt = $pdo->prepare("SELECT " . implode(',', (array)$shown_fields) . ",
|
||||||
`active`
|
`active`
|
||||||
FROM `imapsync` WHERE id = :id");
|
FROM `imapsync` WHERE id = :id");
|
||||||
}
|
}
|
||||||
|
@ -3017,7 +3017,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||||
while($field = array_shift($fields)) {
|
while($field = array_shift($fields)) {
|
||||||
$shown_fields[] = $field['Field'];
|
$shown_fields[] = $field['Field'];
|
||||||
}
|
}
|
||||||
$stmt = $pdo->prepare("SELECT " . implode(',', $shown_fields) . ",
|
$stmt = $pdo->prepare("SELECT " . implode(',', (array)$shown_fields) . ",
|
||||||
`active`
|
`active`
|
||||||
FROM `imapsync` WHERE id = :id");
|
FROM `imapsync` WHERE id = :id");
|
||||||
}
|
}
|
||||||
|
@ -4231,7 +4231,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||||
if (($key = array_search($username, $goto_exploded)) !== false) {
|
if (($key = array_search($username, $goto_exploded)) !== false) {
|
||||||
unset($goto_exploded[$key]);
|
unset($goto_exploded[$key]);
|
||||||
}
|
}
|
||||||
$gotos_rebuild = implode(',', $goto_exploded);
|
$gotos_rebuild = implode(',', (array)$goto_exploded);
|
||||||
$stmt = $pdo->prepare("UPDATE `alias` SET
|
$stmt = $pdo->prepare("UPDATE `alias` SET
|
||||||
`goto` = :goto
|
`goto` = :goto
|
||||||
WHERE `address` = :address");
|
WHERE `address` = :address");
|
||||||
|
|
|
@ -188,7 +188,7 @@ function oauth2($_action, $_type, $_data = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_type, $_data),
|
'log' => array(__FUNCTION__, $_action, $_type, $_data),
|
||||||
'msg' => sprintf($lang['success']['items_deleted'], implode(', ', $access_tokens))
|
'msg' => sprintf($lang['success']['items_deleted'], implode(', ', (array)$access_tokens))
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case 'refresh_token':
|
case 'refresh_token':
|
||||||
|
@ -210,7 +210,7 @@ function oauth2($_action, $_type, $_data = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_type, $_data),
|
'log' => array(__FUNCTION__, $_action, $_type, $_data),
|
||||||
'msg' => sprintf($lang['success']['items_deleted'], implode(', ', $refresh_tokens))
|
'msg' => sprintf($lang['success']['items_deleted'], implode(', ', (array)$refresh_tokens))
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -261,7 +261,7 @@ function policy($_action, $_scope, $_data = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_scope, $_data_log),
|
'log' => array(__FUNCTION__, $_action, $_scope, $_data_log),
|
||||||
'msg' => array('items_deleted', implode(', ', $prefids))
|
'msg' => array('items_deleted', implode(', ', (array)$prefids))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -81,7 +81,7 @@ function pushover($_action, $_data = null) {
|
||||||
}
|
}
|
||||||
$senders = array_filter($senders);
|
$senders = array_filter($senders);
|
||||||
if (empty($senders)) { $senders = ''; }
|
if (empty($senders)) { $senders = ''; }
|
||||||
$senders = implode(",", $senders);
|
$senders = implode(",", (array)$senders);
|
||||||
if (!ctype_alnum($key) || strlen($key) != 30) {
|
if (!ctype_alnum($key) || strlen($key) != 30) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'danger',
|
'type' => 'danger',
|
||||||
|
|
|
@ -45,7 +45,7 @@ function relayhost($_action, $_data = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_data_log),
|
'log' => array(__FUNCTION__, $_action, $_data_log),
|
||||||
'msg' => array('relayhost_added', htmlspecialchars(implode(', ', $hosts)))
|
'msg' => array('relayhost_added', htmlspecialchars(implode(', ', (array)$hosts)))
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case 'edit':
|
case 'edit':
|
||||||
|
@ -100,7 +100,7 @@ function relayhost($_action, $_data = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_data_log),
|
'log' => array(__FUNCTION__, $_action, $_data_log),
|
||||||
'msg' => array('object_modified', htmlspecialchars(implode(', ', $hostnames)))
|
'msg' => array('object_modified', htmlspecialchars(implode(', ', (array)$hostnames)))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -307,7 +307,7 @@ function transport($_action, $_data = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_data_log),
|
'log' => array(__FUNCTION__, $_action, $_data_log),
|
||||||
'msg' => array('relayhost_added', htmlspecialchars(implode(', ', $hosts)))
|
'msg' => array('relayhost_added', htmlspecialchars(implode(', ', (array)$hosts)))
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case 'edit':
|
case 'edit':
|
||||||
|
@ -442,7 +442,7 @@ function transport($_action, $_data = null) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'log' => array(__FUNCTION__, $_action, $_data_log),
|
'log' => array(__FUNCTION__, $_action, $_data_log),
|
||||||
'msg' => array('object_modified', htmlspecialchars(implode(', ', $hostnames)))
|
'msg' => array('object_modified', htmlspecialchars(implode(', ', (array)$hostnames)))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -258,11 +258,11 @@ jQuery(function($){
|
||||||
}},
|
}},
|
||||||
{"name":"def_quota_for_mbox","title":lang.mailbox_defquota,"breakpoints":"xs sm md","style":{"width":"125px"}},
|
{"name":"def_quota_for_mbox","title":lang.mailbox_defquota,"breakpoints":"xs sm md","style":{"width":"125px"}},
|
||||||
{"name":"max_quota_for_mbox","title":lang.mailbox_quota,"breakpoints":"xs sm","style":{"width":"125px"}},
|
{"name":"max_quota_for_mbox","title":lang.mailbox_quota,"breakpoints":"xs sm","style":{"width":"125px"}},
|
||||||
{"name":"rl","title":"RL","breakpoints":"xs sm md lg","style":{"maxWidth":"100px","width":"100px"}},
|
{"name":"rl","title":"RL","breakpoints":"xs sm md lg","style":{"min-width":"100px","width":"100px"}},
|
||||||
{"name":"backupmx","filterable": false,"style":{"maxWidth":"120px","width":"120px"},"title":lang.backup_mx,"breakpoints":"xs sm md lg","formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
{"name":"backupmx","filterable": false,"style":{"min-width":"120px","width":"120px"},"title":lang.backup_mx,"breakpoints":"xs sm md lg","formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
||||||
{"name":"domain_admins","title":lang.domain_admins,"style":{"word-break":"break-all","min-width":"200px"},"breakpoints":"xs sm md lg","filterable":(role == "admin"),"visible":(role == "admin")},
|
{"name":"domain_admins","title":lang.domain_admins,"style":{"word-break":"break-all","min-width":"200px"},"breakpoints":"xs sm md lg","filterable":(role == "admin"),"visible":(role == "admin")},
|
||||||
{"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
{"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"240px","width":"240px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"240px","width":"240px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
|
||||||
],
|
],
|
||||||
"rows": $.ajax({
|
"rows": $.ajax({
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
|
@ -386,7 +386,7 @@ jQuery(function($){
|
||||||
},
|
},
|
||||||
{"name":"messages","filterable": false,"title":lang.msg_num,"breakpoints":"xs sm md"},
|
{"name":"messages","filterable": false,"title":lang.msg_num,"breakpoints":"xs sm md"},
|
||||||
/* {"name":"rl","title":"RL","breakpoints":"all","style":{"width":"125px"}}, */
|
/* {"name":"rl","title":"RL","breakpoints":"all","style":{"width":"125px"}}, */
|
||||||
{"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':(0==value?'<i class="bi bi-x-lg"></i>':2==value&&'—');}},
|
{"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':(0==value?'<i class="bi bi-x-lg"></i>':2==value&&'—');}},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"min-width":"290px","text-align":"right"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"min-width":"290px","text-align":"right"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
|
||||||
],
|
],
|
||||||
"empty": lang.empty,
|
"empty": lang.empty,
|
||||||
|
@ -512,9 +512,9 @@ jQuery(function($){
|
||||||
{"name":"name","title":lang.alias},
|
{"name":"name","title":lang.alias},
|
||||||
{"name":"kind","title":lang.kind},
|
{"name":"kind","title":lang.kind},
|
||||||
{"name":"domain","title":lang.domain,"breakpoints":"xs sm"},
|
{"name":"domain","title":lang.domain,"breakpoints":"xs sm"},
|
||||||
{"name":"multiple_bookings","filterable": false,"style":{"maxWidth":"150px","width":"140px"},"title":lang.multiple_bookings,"breakpoints":"xs sm"},
|
{"name":"multiple_bookings","filterable": false,"style":{"min-width":"150px","width":"140px"},"title":lang.multiple_bookings,"breakpoints":"xs sm"},
|
||||||
{"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
{"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
||||||
],
|
],
|
||||||
"empty": lang.empty,
|
"empty": lang.empty,
|
||||||
"rows": $.ajax({
|
"rows": $.ajax({
|
||||||
|
@ -650,11 +650,11 @@ jQuery(function($){
|
||||||
ft_recipient_map_table = FooTable.init('#recipient_map_table', {
|
ft_recipient_map_table = FooTable.init('#recipient_map_table', {
|
||||||
"columns": [
|
"columns": [
|
||||||
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
|
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
|
||||||
{"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
|
{"sorted": true,"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
|
||||||
{"name":"recipient_map_old","title":lang.recipient_map_old},
|
{"name":"recipient_map_old","title":lang.recipient_map_old},
|
||||||
{"name":"recipient_map_new","title":lang.recipient_map_new},
|
{"name":"recipient_map_new","title":lang.recipient_map_new},
|
||||||
{"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
{"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":(role == "admin" ? lang.action : ""),"breakpoints":"xs sm"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":(role == "admin" ? lang.action : ""),"breakpoints":"xs sm"}
|
||||||
],
|
],
|
||||||
"empty": lang.empty,
|
"empty": lang.empty,
|
||||||
"rows": $.ajax({
|
"rows": $.ajax({
|
||||||
|
@ -714,12 +714,12 @@ jQuery(function($){
|
||||||
ft_tls_policy_table = FooTable.init('#tls_policy_table', {
|
ft_tls_policy_table = FooTable.init('#tls_policy_table', {
|
||||||
"columns": [
|
"columns": [
|
||||||
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
|
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
|
||||||
{"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
|
{"sorted": true,"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
|
||||||
{"name":"dest","title":lang.tls_map_dest},
|
{"name":"dest","title":lang.tls_map_dest},
|
||||||
{"name":"policy","title":lang.tls_map_policy},
|
{"name":"policy","title":lang.tls_map_policy},
|
||||||
{"name":"parameters","title":lang.tls_map_parameters},
|
{"name":"parameters","title":lang.tls_map_parameters},
|
||||||
{"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
{"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":(role == "admin" ? lang.action : ""),"breakpoints":"xs sm"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":(role == "admin" ? lang.action : ""),"breakpoints":"xs sm"}
|
||||||
],
|
],
|
||||||
"empty": lang.empty,
|
"empty": lang.empty,
|
||||||
"rows": $.ajax({
|
"rows": $.ajax({
|
||||||
|
@ -784,15 +784,15 @@ jQuery(function($){
|
||||||
ft_alias_table = FooTable.init('#alias_table', {
|
ft_alias_table = FooTable.init('#alias_table', {
|
||||||
"columns": [
|
"columns": [
|
||||||
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
|
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
|
||||||
{"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
|
{"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
|
||||||
{"sorted": true,"name":"address","title":lang.alias,"style":{"width":"250px"}},
|
{"sorted": true,"name":"address","title":lang.alias,"style":{"width":"250px"}},
|
||||||
{"name":"goto","title":lang.target_address},
|
{"name":"goto","title":lang.target_address},
|
||||||
{"name":"domain","title":lang.domain,"breakpoints":"xs sm"},
|
{"name":"domain","title":lang.domain,"breakpoints":"xs sm"},
|
||||||
{"name":"public_comment","title":lang.public_comment,"breakpoints":"all"},
|
{"name":"public_comment","title":lang.public_comment,"breakpoints":"all"},
|
||||||
{"name":"private_comment","title":lang.private_comment,"breakpoints":"all"},
|
{"name":"private_comment","title":lang.private_comment,"breakpoints":"all"},
|
||||||
{"name":"sogo_visible","title":lang.sogo_visible,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';},"breakpoints":"all"},
|
{"name":"sogo_visible","title":lang.sogo_visible,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';},"breakpoints":"all"},
|
||||||
{"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
{"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
||||||
],
|
],
|
||||||
"empty": lang.empty,
|
"empty": lang.empty,
|
||||||
"rows": $.ajax({
|
"rows": $.ajax({
|
||||||
|
@ -886,8 +886,8 @@ jQuery(function($){
|
||||||
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
|
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
|
||||||
{"sorted": true,"name":"alias_domain","title":lang.alias,"style":{"width":"250px"}},
|
{"sorted": true,"name":"alias_domain","title":lang.alias,"style":{"width":"250px"}},
|
||||||
{"name":"target_domain","title":lang.target_domain,"type":"html"},
|
{"name":"target_domain","title":lang.target_domain,"type":"html"},
|
||||||
{"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
{"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"250px","width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"250px","width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
||||||
],
|
],
|
||||||
"empty": lang.empty,
|
"empty": lang.empty,
|
||||||
"rows": $.ajax({
|
"rows": $.ajax({
|
||||||
|
@ -949,17 +949,17 @@ jQuery(function($){
|
||||||
function draw_sync_job_table() {
|
function draw_sync_job_table() {
|
||||||
ft_syncjob_table = FooTable.init('#sync_job_table', {
|
ft_syncjob_table = FooTable.init('#sync_job_table', {
|
||||||
"columns": [
|
"columns": [
|
||||||
{"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
|
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
|
||||||
{"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
|
{"sorted": true,"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
|
||||||
{"name":"user2","title":lang.owner},
|
{"name":"user2","title":lang.owner},
|
||||||
{"name":"server_w_port","title":"Server","breakpoints":"xs sm md","style":{"word-break":"break-all"}},
|
{"name":"server_w_port","title":"Server","breakpoints":"xs sm md","style":{"word-break":"break-all"}},
|
||||||
{"name":"exclude","title":lang.excludes,"breakpoints":"all"},
|
{"name":"exclude","title":lang.excludes,"breakpoints":"all"},
|
||||||
{"name":"mins_interval","title":lang.mins_interval,"breakpoints":"all"},
|
{"name":"mins_interval","title":lang.mins_interval,"breakpoints":"all"},
|
||||||
{"name":"last_run","title":lang.last_run,"breakpoints":"xs sm md"},
|
{"name":"last_run","title":lang.last_run,"breakpoints":"xs sm md"},
|
||||||
{"name":"log","title":"Log"},
|
{"name":"log","title":"Log"},
|
||||||
{"name":"active","filterable": false,"style":{"maxWidth":"70px","width":"70px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
{"name":"active","filterable": false,"style":{"min-width":"70px","width":"70px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
|
||||||
{"name":"is_running","filterable": false,"style":{"maxWidth":"120px","width":"100px"},"title":lang.status},
|
{"name":"is_running","filterable": false,"style":{"min-width":"120px","width":"100px"},"title":lang.status},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
||||||
],
|
],
|
||||||
"empty": lang.empty,
|
"empty": lang.empty,
|
||||||
"rows": $.ajax({
|
"rows": $.ajax({
|
||||||
|
@ -1031,14 +1031,14 @@ jQuery(function($){
|
||||||
function draw_filter_table() {
|
function draw_filter_table() {
|
||||||
ft_filter_table = FooTable.init('#filter_table', {
|
ft_filter_table = FooTable.init('#filter_table', {
|
||||||
"columns": [
|
"columns": [
|
||||||
{"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
|
{"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
|
||||||
{"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
|
{"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
|
||||||
{"name":"active","style":{"maxWidth":"80px","width":"80px"},"title":lang.active},
|
{"name":"active","style":{"min-width":"80px","width":"80px"},"title":lang.active},
|
||||||
{"name":"filter_type","style":{"maxWidth":"80px","width":"80px"},"title":"Type"},
|
{"name":"filter_type","style":{"min-width":"80px","width":"80px"},"title":"Type"},
|
||||||
{"sorted": true,"name":"username","title":lang.owner,"style":{"maxWidth":"550px","width":"350px"}},
|
{"sorted": true,"name":"username","title":lang.owner,"style":{"min-width":"550px","width":"350px"}},
|
||||||
{"name":"script_desc","title":lang.description,"breakpoints":"xs"},
|
{"name":"script_desc","title":lang.description,"breakpoints":"xs"},
|
||||||
{"name":"script_data","title":"Script","breakpoints":"all"},
|
{"name":"script_data","title":"Script","breakpoints":"all"},
|
||||||
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
{"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
|
||||||
],
|
],
|
||||||
"empty": lang.empty,
|
"empty": lang.empty,
|
||||||
"rows": $.ajax({
|
"rows": $.ajax({
|
||||||
|
|
|
@ -514,6 +514,7 @@
|
||||||
"optional": "Dieser Eintrag ist optional."
|
"optional": "Dieser Eintrag ist optional."
|
||||||
},
|
},
|
||||||
"edit": {
|
"edit": {
|
||||||
|
"acl": "ACL (Berechtigungen)",
|
||||||
"active": "Aktiv",
|
"active": "Aktiv",
|
||||||
"admin": "Administrator bearbeiten",
|
"admin": "Administrator bearbeiten",
|
||||||
"advanced_settings": "Erweiterte Einstellungen",
|
"advanced_settings": "Erweiterte Einstellungen",
|
||||||
|
@ -574,6 +575,7 @@
|
||||||
"previous": "Vorherige Seite",
|
"previous": "Vorherige Seite",
|
||||||
"private_comment": "Privater Kommentar",
|
"private_comment": "Privater Kommentar",
|
||||||
"public_comment": "Öffentlicher Kommentar",
|
"public_comment": "Öffentlicher Kommentar",
|
||||||
|
"pushover": "Pushover",
|
||||||
"pushover_evaluate_x_prio": "Hohe Priorität eskalieren [<code>X-Priority: 1</code>]",
|
"pushover_evaluate_x_prio": "Hohe Priorität eskalieren [<code>X-Priority: 1</code>]",
|
||||||
"pushover_info": "Push-Benachrichtigungen werden angewendet auf alle nicht-Spam Nachrichten zugestellt an <b>%s</b>, einschließlich Alias-Adressen (shared, non-shared, tagged).",
|
"pushover_info": "Push-Benachrichtigungen werden angewendet auf alle nicht-Spam Nachrichten zugestellt an <b>%s</b>, einschließlich Alias-Adressen (shared, non-shared, tagged).",
|
||||||
"pushover_only_x_prio": "Nur Mail mit hoher Priorität berücksichtigen [<code>X-Priority: 1</code>]",
|
"pushover_only_x_prio": "Nur Mail mit hoher Priorität berücksichtigen [<code>X-Priority: 1</code>]",
|
||||||
|
|
|
@ -517,6 +517,7 @@
|
||||||
"optional": "This record is optional."
|
"optional": "This record is optional."
|
||||||
},
|
},
|
||||||
"edit": {
|
"edit": {
|
||||||
|
"acl": "ACL (Permission)",
|
||||||
"active": "Active",
|
"active": "Active",
|
||||||
"admin": "Edit administrator",
|
"admin": "Edit administrator",
|
||||||
"advanced_settings": "Advanced settings",
|
"advanced_settings": "Advanced settings",
|
||||||
|
@ -577,6 +578,7 @@
|
||||||
"previous": "Previous page",
|
"previous": "Previous page",
|
||||||
"private_comment": "Private comment",
|
"private_comment": "Private comment",
|
||||||
"public_comment": "Public comment",
|
"public_comment": "Public comment",
|
||||||
|
"pushover": "Pushover",
|
||||||
"pushover_evaluate_x_prio": "Escalate high priority mail [<code>X-Priority: 1</code>]",
|
"pushover_evaluate_x_prio": "Escalate high priority mail [<code>X-Priority: 1</code>]",
|
||||||
"pushover_info": "Push notification settings will apply to all clean (non-spam) mail delivered to <b>%s</b> including aliases (shared, non-shared, tagged).",
|
"pushover_info": "Push notification settings will apply to all clean (non-spam) mail delivered to <b>%s</b> including aliases (shared, non-shared, tagged).",
|
||||||
"pushover_only_x_prio": "Only consider high priority mail [<code>X-Priority: 1</code>]",
|
"pushover_only_x_prio": "Only consider high priority mail [<code>X-Priority: 1</code>]",
|
||||||
|
|
Loading…
Reference in New Issue