diff options
author | Robin Appelman <robin@icewind.nl> | 2022-03-24 16:26:00 +0300 |
---|---|---|
committer | Robin Appelman <robin@icewind.nl> | 2022-04-13 15:21:12 +0300 |
commit | 7b3ac93cf5b1241c0ebdf81262e373ddda7d9b85 (patch) | |
tree | 5d344b675f0659ea972a7c68cd36a53035fb0c06 | |
parent | 86806fad991bb4a039e12926b49f44d438dbfe5c (diff) |
add icap preset selector
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r-- | js/settings.js | 24 | ||||
-rw-r--r-- | templates/settings.php | 29 |
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> |