[Web] Reset last_run for imapsync jobs to run next, other minor changes...
parent
a36a8828c2
commit
f603008440
|
@ -1390,11 +1390,12 @@ function mailbox($_action, $_type, $_data = null, $attr = null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id) {
|
||||||
$is_now = mailbox('get', 'syncjob_details', $id);
|
$is_now = mailbox('get', 'syncjob_details', $id, array('with_password'));
|
||||||
if (!empty($is_now)) {
|
if (!empty($is_now)) {
|
||||||
$username = $is_now['user2'];
|
$username = $is_now['user2'];
|
||||||
$user1 = (!empty($_data['user1'])) ? $_data['user1'] : $is_now['user1'];
|
$user1 = (!empty($_data['user1'])) ? $_data['user1'] : $is_now['user1'];
|
||||||
$active = (isset($_data['active'])) ? intval($_data['active']) : $is_now['active_int'];
|
$active = (isset($_data['active'])) ? intval($_data['active']) : $is_now['active_int'];
|
||||||
|
$last_run = (isset($_data['last_run'])) ? NULL : $is_now['last_run'];
|
||||||
$delete2duplicates = (isset($_data['delete2duplicates'])) ? intval($_data['delete2duplicates']) : $is_now['delete2duplicates'];
|
$delete2duplicates = (isset($_data['delete2duplicates'])) ? intval($_data['delete2duplicates']) : $is_now['delete2duplicates'];
|
||||||
$delete1 = (isset($_data['delete1'])) ? intval($_data['delete1']) : $is_now['delete1'];
|
$delete1 = (isset($_data['delete1'])) ? intval($_data['delete1']) : $is_now['delete1'];
|
||||||
$delete2 = (isset($_data['delete2'])) ? intval($_data['delete2']) : $is_now['delete2'];
|
$delete2 = (isset($_data['delete2'])) ? intval($_data['delete2']) : $is_now['delete2'];
|
||||||
|
@ -1456,7 +1457,7 @@ function mailbox($_action, $_type, $_data = null, $attr = null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
$stmt = $pdo->prepare("UPDATE `imapsync` SET `delete1` = :delete1, `delete2` = :delete2, `maxage` = :maxage, `subfolder2` = :subfolder2, `exclude` = :exclude, `host1` = :host1, `user1` = :user1, `password1` = :password1, `mins_interval` = :mins_interval, `port1` = :port1, `enc1` = :enc1, `delete2duplicates` = :delete2duplicates, `active` = :active
|
$stmt = $pdo->prepare("UPDATE `imapsync` SET `delete1` = :delete1, `delete2` = :delete2, `maxage` = :maxage, `subfolder2` = :subfolder2, `exclude` = :exclude, `host1` = :host1, `last_run` = :last_run, `user1` = :user1, `password1` = :password1, `mins_interval` = :mins_interval, `port1` = :port1, `enc1` = :enc1, `delete2duplicates` = :delete2duplicates, `active` = :active
|
||||||
WHERE `id` = :id");
|
WHERE `id` = :id");
|
||||||
$stmt->execute(array(
|
$stmt->execute(array(
|
||||||
':delete1' => $delete1,
|
':delete1' => $delete1,
|
||||||
|
@ -1468,6 +1469,7 @@ function mailbox($_action, $_type, $_data = null, $attr = null) {
|
||||||
':host1' => $host1,
|
':host1' => $host1,
|
||||||
':user1' => $user1,
|
':user1' => $user1,
|
||||||
':password1' => $password1,
|
':password1' => $password1,
|
||||||
|
':last_run' => $last_run,
|
||||||
':mins_interval' => $mins_interval,
|
':mins_interval' => $mins_interval,
|
||||||
':port1' => $port1,
|
':port1' => $port1,
|
||||||
':enc1' => $enc1,
|
':enc1' => $enc1,
|
||||||
|
@ -2446,6 +2448,12 @@ function mailbox($_action, $_type, $_data = null, $attr = null) {
|
||||||
CASE `active` WHEN 1 THEN '".$lang['mailbox']['yes']."' ELSE '".$lang['mailbox']['no']."' END AS `active`
|
CASE `active` WHEN 1 THEN '".$lang['mailbox']['yes']."' ELSE '".$lang['mailbox']['no']."' END AS `active`
|
||||||
FROM `imapsync` WHERE id = :id");
|
FROM `imapsync` WHERE id = :id");
|
||||||
}
|
}
|
||||||
|
elseif (isset($attr) && in_array('with_password', $attr)) {
|
||||||
|
$stmt = $pdo->prepare("SELECT *,
|
||||||
|
`active` AS `active_int`,
|
||||||
|
CASE `active` WHEN 1 THEN '".$lang['mailbox']['yes']."' ELSE '".$lang['mailbox']['no']."' END AS `active`
|
||||||
|
FROM `imapsync` WHERE id = :id");
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
$field_query = $pdo->query('SHOW FIELDS FROM `imapsync` WHERE FIELD NOT IN ("password1")');
|
$field_query = $pdo->query('SHOW FIELDS FROM `imapsync` WHERE FIELD NOT IN ("password1")');
|
||||||
$fields = $field_query->fetchAll(PDO::FETCH_ASSOC);
|
$fields = $field_query->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
|
@ -268,6 +268,10 @@ $lang['mailbox']['deactivate'] = 'Deaktivieren';
|
||||||
$lang['mailbox']['owner'] = 'Besitzer';
|
$lang['mailbox']['owner'] = 'Besitzer';
|
||||||
$lang['mailbox']['mins_interval'] = 'Intervall (min)';
|
$lang['mailbox']['mins_interval'] = 'Intervall (min)';
|
||||||
$lang['mailbox']['last_run'] = 'Letzte Ausführung';
|
$lang['mailbox']['last_run'] = 'Letzte Ausführung';
|
||||||
|
$lang['mailbox']['last_run_reset'] = 'Als nächstes ausführen';
|
||||||
|
$lang['mailbox']['sieve_info'] = 'Es können mehrere Filter pro Benutzer existieren, aber nur ein Filter eines Typs (Pre-/Postfilter) kann gleichzeitig aktiv sein.<br>
|
||||||
|
Die Ausführung erfolgt in nachstehender Reihenfolge. Ein fehlgeschlagenes Script sowie der Befehl "keep;" stoppen die weitere Verarbeitung <b>nicht</b>.<br>
|
||||||
|
Prefilter → User scripts → Postfilter → <a href="https://github.com/mailcow/mailcow-dockerized/blob/master/data/conf/dovecot/sieve_after" target="_blank">global sieve postfilter</a>';
|
||||||
|
|
||||||
$lang['info']['no_action'] = 'Keine Aktion anwendbar';
|
$lang['info']['no_action'] = 'Keine Aktion anwendbar';
|
||||||
$lang['delete']['title'] = 'Objekt entfernen';
|
$lang['delete']['title'] = 'Objekt entfernen';
|
||||||
|
|
|
@ -271,7 +271,10 @@ $lang['mailbox']['deactivate'] = 'Deactivate';
|
||||||
$lang['mailbox']['owner'] = 'Owner';
|
$lang['mailbox']['owner'] = 'Owner';
|
||||||
$lang['mailbox']['mins_interval'] = 'Interval (min)';
|
$lang['mailbox']['mins_interval'] = 'Interval (min)';
|
||||||
$lang['mailbox']['last_run'] = 'Last run';
|
$lang['mailbox']['last_run'] = 'Last run';
|
||||||
|
$lang['mailbox']['last_run_reset'] = 'Schedule next';
|
||||||
|
$lang['mailbox']['sieve_info'] = 'You can store multiple filters per user, but only one prefilter and one postfilter can be active at the same time.<br>
|
||||||
|
Each filter will be processed in the described order. Neither a failed script nor an issued "keep;" will stop processing of further scripts.<br>
|
||||||
|
Prefilter → User scripts → Postfilter → <a href="https://github.com/mailcow/mailcow-dockerized/blob/master/data/conf/dovecot/sieve_after" target="_blank">global sieve postfilter</a>';
|
||||||
$lang['info']['no_action'] = 'No action applicable';
|
$lang['info']['no_action'] = 'No action applicable';
|
||||||
|
|
||||||
$lang['delete']['title'] = 'Remove object';
|
$lang['delete']['title'] = 'Remove object';
|
||||||
|
|
|
@ -162,6 +162,8 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
|
||||||
<a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="syncjob" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
|
<a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="syncjob" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
|
||||||
<a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
|
<a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
|
<li><a id="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"last_run":""}' href="#"><?=$lang['mailbox']['last_run_reset'];?></a></li>
|
||||||
|
<li role="separator" class="divider"></li>
|
||||||
<li><a id="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
|
<li><a id="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
|
||||||
<li><a id="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
|
<li><a id="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
|
||||||
<li role="separator" class="divider"></li>
|
<li role="separator" class="divider"></li>
|
||||||
|
@ -178,9 +180,7 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h3 class="panel-title"><?=$lang['mailbox']['filters'];?></h3>
|
<h3 class="panel-title"><?=$lang['mailbox']['filters'];?></h3>
|
||||||
</div>
|
</div>
|
||||||
<p style="margin:10px" class="help-block">You can store multiple filters per user, but only one prefilter and one postfilter can be active at the same time.</p>
|
<p style="margin:10px" class="help-block"><?=$lang['mailbox']['sieve_info'];?></p>
|
||||||
<p style="margin:10px" class="help-block">Each filter will be processed in the described order. A failed script will not stop processing of further scripts.</a></p>
|
|
||||||
<p style="margin:10px" class="help-block">Prefilter → User scripts → Postfilter → <a href="https://github.com/mailcow/mailcow-dockerized/blob/master/data/conf/dovecot/sieve_after" target="_blank">global sieve postfilter</a></p>
|
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table table-striped" id="filter_table"></table>
|
<table class="table table-striped" id="filter_table"></table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -511,7 +511,7 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header"><h4 class="modal-title">Log</h4></div>
|
<div class="modal-header"><h4 class="modal-title">Log</h4></div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<textarea class="form-control" rows="20" id="logText"></textarea>
|
<textarea class="form-control" rows="20" id="logText" spellcheck="false"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -117,7 +117,7 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header"><h4 class="modal-title">Log</h4></div>
|
<div class="modal-header"><h4 class="modal-title">Log</h4></div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<textarea class="form-control" rows="20" id="logText"></textarea>
|
<textarea class="form-control" rows="20" id="logText" spellcheck="false"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue