From d54c6bf8e037753ae787bfe80d46db35a75471f5 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Fri, 15 Mar 2024 15:41:54 -0700 Subject: [PATCH] Add field for folder to check https://github.com/webmin/webmin/discussions/2104 --- fetchmail/edit_poll.cgi | 5 +++++ fetchmail/lang/en | 3 +++ fetchmail/save_poll.cgi | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/fetchmail/edit_poll.cgi b/fetchmail/edit_poll.cgi index 6a6800a3e..c0a8aaa6f 100755 --- a/fetchmail/edit_poll.cgi +++ b/fetchmail/edit_poll.cgi @@ -96,6 +96,11 @@ foreach $u (@users) { &ui_textbox("is_$i", join(" ", @{$u->{'is'}}) || $remote_user, 60)); + # Folder to check + print &ui_table_row($text{'poll_folder'}, + &ui_opt_textbox("folder_$i", $u->{'folder'}, 15, + $text{'poll_inbox'})); + # Leave messages on server? my @kopts = ( [ 1, $text{'yes'} ], [ 0, $text{'no'} ], [ '', $text{'default'}." (".$text{'poll_usually'}.")" ] ); diff --git a/fetchmail/lang/en b/fetchmail/lang/en index 5d98f2a69..a6934bf77 100644 --- a/fetchmail/lang/en +++ b/fetchmail/lang/en @@ -40,6 +40,8 @@ poll_uheader=Mail server user details poll_user=Remote user poll_pass=Remote password poll_is=Local user(s) +poll_folder=IMAP folder to check +poll_inbox=Default (INBOX) poll_keep=Leave messages on server? poll_fetchall=Always fetch all messages? poll_usually=Usually No @@ -49,6 +51,7 @@ poll_epoll=Missing or invalid server name poll_evia=Invalid mail server name poll_eport=Missing or invalid port number poll_euser=Missing or invalid remote user name +poll_efolder=Missing folder name poll_eboth=The options to leave messages on the server and always fetch all messages are incompatible poll_adduser=Add another user poll_check=Check this server diff --git a/fetchmail/save_poll.cgi b/fetchmail/save_poll.cgi index 0141d327a..390c279be 100755 --- a/fetchmail/save_poll.cgi +++ b/fetchmail/save_poll.cgi @@ -77,6 +77,14 @@ else { $user->{'pass'} = $in{"pass_$i"}; local @is = split(/\s+/, $in{"is_$i"}); $user->{'is'} = \@is; + if ($in{"folder_${i}_def"}) { + delete($user->{'folder'}); + } + else { + $in{"folder_$i"} =~ /\S/ || + &error($text{'poll_efolder'}); + $user->{'folder'} = $in{"folder_$i"}; + } $user->{'keep'} = $in{"keep_$i"}; $user->{'fetchall'} = $in{"fetchall_$i"}; if ($in{"keep_$i"} == 1 && $in{"fetchall_$i"} == 1) {