Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/files_antivirus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2022-03-24 16:26:00 +0300
committerRobin Appelman <robin@icewind.nl>2022-04-13 15:21:12 +0300
commit7b3ac93cf5b1241c0ebdf81262e373ddda7d9b85 (patch)
tree5d344b675f0659ea972a7c68cd36a53035fb0c06
parent86806fad991bb4a039e12926b49f44d438dbfe5c (diff)
add icap preset selector
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r--js/settings.js24
-rw-r--r--templates/settings.php29
2 files changed, 40 insertions, 13 deletions
diff --git a/js/settings.js b/js/settings.js
index da63235..3b4de2a 100644
--- a/js/settings.js
+++ b/js/settings.js
@@ -141,11 +141,11 @@ function av_mode_show_options(str, mode = 'slow') {
$('tr.av_path').show(mode);
}
if (str === 'icap'){
- $('tr.av_icap_service, tr.av_icap_header').show(mode);
+ $('tr.av_icap_service, tr.av_icap_header tr.av_icap_preset').show(mode);
} else {
- $('tr.av_icap_service, tr.av_icap_header').hide(mode);
+ $('tr.av_icap_service, tr.av_icap_header tr.av_icap_preset').hide(mode);
}
- if (str === 'kaspersky') {
+ if (str === 'kaspersky' || str === 'icap') {
$('#antivirus-advanced-wrapper').hide(mode);
} else {
$('#antivirus-advanced-wrapper').show(mode);
@@ -208,6 +208,24 @@ $(document).ready(function() {
av_mode_show_options(str, 'slow');
});
+ let icapPresets = {
+ clamav: {
+ service: 'avscan',
+ header: 'X-Infection-Found',
+ },
+ kaspersky: {
+ service: 'req',
+ header: 'X-Virus-ID',
+ }
+ }
+ $('#av_icap_preset').on('change', function(e) {
+ var preset = e.target.value;
+ if (preset !== 'none') {
+ $('#av_icap_service').val(icapPresets[preset].service);
+ $('#av_icap_header').val(icapPresets[preset].header);
+ }
+ }).val('none');
+
var str = $("#av_mode").val();
av_mode_show_options(str, '');
});
diff --git a/templates/settings.php b/templates/settings.php
index 7e6dc05..ea0dc88 100644
--- a/templates/settings.php
+++ b/templates/settings.php
@@ -36,6 +36,25 @@ script('files_antivirus', 'settings');
<td><input type="text" id="av_port" name="avPort" value="<?php p($_['avPort']); ?>" title="<?php p($l->t('Port number of Antivirus Host.')). ' ' .$l->t('Not required in Executable Mode.');?>"></td>
<td></td>
</tr>
+ <tr class="av_icap_preset">
+ <td><?php p($l->t('ICAP preset'));?></td>
+ <td><select id="av_icap_preset">
+ <option value="none" selected="selected"><?php p($l->t('Select'));?></option>
+ <option value="clamav">ClamAV</option>
+ <option value="kaspersky">Kaspersky</option>
+ </select></td>
+ <td></td>
+ </tr>
+ <tr class="av_icap_service">
+ <td><label for="av_icap_service"><?php p($l->t('ICAP service'));?></label></td>
+ <td><input type="text" id="av_icap_service" name="avIcapRequestService" value="<?php p($_['avIcapRequestService']); ?>" /></td>
+ <td></td>
+ </tr>
+ <tr class="av_icap_header">
+ <td><label for="av_icap_header"><?php p($l->t('ICAP virus response header'));?></label></td>
+ <td><input type="text" id="av_icap_header" name="avIcapResponseHeader" value="<?php p($_['avIcapResponseHeader']); ?>" /></td>
+ <td></td>
+ </tr>
<tr class="av_stream_max_length">
<td><label for="av_stream_max_length"><?php p($l->t('Stream Length'));?></label></td>
<td>
@@ -55,16 +74,6 @@ script('files_antivirus', 'settings');
<td><input type="text" id="av_cmd_options" name="avCmdOptions" value="<?php p($_['avCmdOptions']); ?>" /></td>
<td></td>
</tr>
- <tr class="av_icap_service">
- <td><label for="av_icap_service"><?php p($l->t('ICAP service'));?></label></td>
- <td><input type="text" id="av_cmd_options" name="avIcapRequestService" value="<?php p($_['avIcapRequestService']); ?>" /></td>
- <td></td>
- </tr>
- <tr class="av_icap_header">
- <td><label for="av_icap_header"><?php p($l->t('ICAP virus response header'));?></label></td>
- <td><input type="text" id="av_cmd_options" name="avIcapResponseHeader" value="<?php p($_['avIcapResponseHeader']); ?>" /></td>
- <td></td>
- </tr>
<tr class="av_max_file_size">
<td><label for="av_max_file_size"><?php p($l->t('File size limit for periodic background scans and chunked uploads, -1 means no limit'));?></label></td>
<td>