$useSendmail = 'false' if ( lc($useSendmail) ne 'true' );
$sendmail_path = "/usr/sbin/sendmail" if ( !$sendmail_path );
$pop_before_smtp = 'false' if ( !$pop_before_smtp );
+$pop_before_smtp_host = '' if ( !$pop_before_smtp_host );
$default_unseen_notify = 2 if ( !$default_unseen_notify );
$default_unseen_type = 1 if ( !$default_unseen_type );
$config_use_color = 0 if ( !$config_use_color );
# lists can be printed in more than one column; default is just one
#
$columns = 1;
-$screen_width = 80;
+
+# try to get screen width dynamically if possible; default to 80
+# (user can override with "w#" command)
+#
+eval { require "sys/ioctl.ph" };
+if ($@
+ || !defined &TIOCGWINSZ
+ || !open(TTY, "+</dev/tty")
+ || !ioctl(TTY, &TIOCGWINSZ, $winsize='')) {
+ $screen_width = 80;
+} else {
+ ($row, $col, $xpixel, $ypixel) = unpack('S4', $winsize);
+ $screen_width = $col;
+}
while ( ( $command ne "q" ) && ( $command ne "Q" ) && ( $command ne ":q" ) ) {
clear_screen();
print "U Set the user for whom plugins can be disabled\n";
print "R Return to Main Menu\n";
print "C# List plugins in <#> number of columns\n";
- print "W# Change screen width to <#>\n";
+ print "W# Change screen width to <#> (currently $screen_width)\n";
} elsif ( $menu == 9 ) {
print $WHT. "Database\n" . $NRM;
print "1. DSN for Address Book : $WHT$addrbook_dsn$NRM\n";
$YesNo = 'n';
$YesNo = 'y' if ( lc($pop_before_smtp) eq 'true' );
- print "Use pop before SMTP (y/n) [$WHT$YesNo$NRM]: $WHT";
+ print "Use POP before SMTP (y/n) [$WHT$YesNo$NRM]: $WHT";
$new_pop_before_smtp = <STDIN>;
$new_pop_before_smtp =~ tr/yn//cd;
- return 'true' if ( $new_pop_before_smtp eq "y" );
- return 'false' if ( $new_pop_before_smtp eq "n" );
- return $pop_before_smtp;
+ if ( $new_pop_before_smtp eq "y" ) {
+ $new_pop_before_smtp = "true";
+ } elsif ( $new_pop_before_smtp eq "n" ) {
+ $new_pop_before_smtp = "false";
+ } else {
+ $new_pop_before_smtp = $pop_before_smtp;
+ }
+
+ # if using POP before SMTP, allow setting of custom POP server address
+ if ($new_pop_before_smtp eq "true") {
+ print "$NRM\nIf the address of the POP server is not the same as\n";
+ print "your SMTP server, you may specify it here. Leave blank (to\n";
+ print "clear this, enter only spaces) to use the same address as\n";
+ print "your SMTP server.\n";
+ print "POP before SMTP server address [$WHT$pop_before_smtp_host$NRM]: $WHT";
+
+ $new_pop_before_smtp_host = <STDIN>;
+ if ( $new_pop_before_smtp_host eq "\n" ) {
+ $new_pop_before_smtp_host = $pop_before_smtp_host;
+ } elsif ($new_pop_before_smtp_host =~ /^\s+$/) {
+ $new_pop_before_smtp_host = '';
+ } else {
+ $new_pop_before_smtp_host =~ s/[\r|\n]//g;
+ }
+ $pop_before_smtp_host = $new_pop_before_smtp_host;
+ }
+
+ return $new_pop_before_smtp;
}
# imap_server_type
}
# $encode_header_key
-sub command114{
+sub command114 {
print "Encryption key allows to hide SquirrelMail Received: headers\n";
print "in outbound messages. Interface uses encryption key to encode\n";
print "username, remote address and proxied address, then stores encoded\n";
# boolean
print CF "\$pop_before_smtp = $pop_before_smtp;\n";
# string
+ print CF "\$pop_before_smtp_host = '$pop_before_smtp_host';\n";
+ # string
print CF "\$imap_server_type = '$imap_server_type';\n";
# boolean
print CF "\$invert_time = $invert_time;\n";