diff -Nur e-smith-email-5.4.0/root/etc/e-smith/db/configuration/migrate/35enableImap e-smith-email-5.4.0-enable_imap/root/etc/e-smith/db/configuration/migrate/35enableImap --- e-smith-email-5.4.0/root/etc/e-smith/db/configuration/migrate/35enableImap 1970-01-01 01:00:00.000000000 +0100 +++ e-smith-email-5.4.0-enable_imap/root/etc/e-smith/db/configuration/migrate/35enableImap 2013-06-23 21:25:56.356705376 +0200 @@ -0,0 +1,10 @@ +{ + +my $imap = $DB->get('imap') || + $DB->new_record('imap', {type => 'service'}); +my $status = $imap->prop('status') || 'disabled'; +return "" if ($status eq 'enabled'); +$imap->set_prop('status', 'enabled'); +$imap->set_prop('access', 'localhost'); + +} diff -Nur e-smith-email-5.4.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/emailsettings.pm e-smith-email-5.4.0-enable_imap/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/emailsettings.pm --- e-smith-email-5.4.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/emailsettings.pm 2013-02-06 22:56:01.000000000 +0100 +++ e-smith-email-5.4.0-enable_imap/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/emailsettings.pm 2013-06-23 21:24:34.485440639 +0200 @@ -304,20 +304,23 @@ my $imapAccess = ($q->param('IMAPAccess') || 'private'); if ($imapAccess eq 'disabled') { - $db->set_prop('imap', "status", "disabled" ); + $db->set_prop('imap', "status", "enabled" ); + $db->set_prop('imap', "access", "localhost" ); $db->set_prop('imaps', "status", "disabled" ); - } else { + } elsif ($imapAccess eq 'public') { $db->set_prop('imap', "status", "enabled" ); - $db->set_prop('imaps', "status", "enabled" ); - } - if ($imapAccess eq 'public') { $db->set_prop('imap', "access", "public" ); + $db->set_prop('imaps', "status", "enabled" ); $db->set_prop('imaps', "access", "public" ); } elsif ($imapAccess eq 'publicSSL') { + $db->set_prop('imap', "status", "enabled" ); $db->set_prop('imap', "access", "private" ); + $db->set_prop('imaps', "status", "enabled" ); $db->set_prop('imaps', "access", "public" ); } else { + $db->set_prop('imap', "status", "enabled" ); $db->set_prop('imap', "access", "private" ); + $db->set_prop('imaps', "status", "enabled" ); $db->set_prop('imaps', "access", "private" ); } @@ -494,7 +497,7 @@ my $options = get_imap_options(); - if ($imapStatus ne 'enabled' && $imapsStatus ne 'enabled') + if (($imapStatus ne 'enabled' || $imapAccess eq 'localhost') && $imapsStatus ne 'enabled') { return $localise ? $fm->localise($options->{disabled}) : 'disabled'; }