Compare commits
11 Commits
11_0_0-19_
...
11_0_0-28_
Author | SHA1 | Date | |
---|---|---|---|
e5b9a012d9 | |||
fbdf3170ec | |||
87d1d072c0 | |||
d49db26f26 | |||
c4f9d67abc | |||
fe62bd3e39 | |||
df6d21dbc9 | |||
9c9592f861 | |||
4d2097d2da | |||
44a9ecc0e1 | |||
785ebcfaaf |
@@ -40,5 +40,10 @@
|
||||
$OUT .= " Require ip $localAccess $externalSSLAccess\n";
|
||||
}
|
||||
$OUT .= " </Location>\n";
|
||||
# prevent caching of manager files in browser
|
||||
$OUT .= " <LocationMatch \"/$place/.+\.(html|cgi)\$\">\n";
|
||||
$OUT .= " Header set Cache-Control no-store\n";
|
||||
$OUT .= " </LocationMatch>\n";
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -27,7 +27,14 @@ use SrvMngr::Model::Main;
|
||||
|
||||
use SrvMngr::Plugin::WithoutCache;
|
||||
|
||||
our $VERSION = '1.420';
|
||||
#this is overwrittrn with the "release" by the spec file - release can be "99.el8.sme"
|
||||
our $VERSION = '';
|
||||
#Extract the release value
|
||||
if ($VERSION =~ /^(\d+)/) {
|
||||
$VERSION = $1; # $1 contains the matched numeric digits
|
||||
} else {
|
||||
$VERSION = '999' #No leading numeric digits found
|
||||
}
|
||||
$VERSION = eval $VERSION;
|
||||
|
||||
use Exporter 'import';
|
||||
|
@@ -12,6 +12,9 @@ use strict;
|
||||
use warnings;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
|
||||
use constant FALSE => 0;
|
||||
use constant TRUE => 1;
|
||||
|
||||
use Locale::gettext;
|
||||
use SrvMngr::I18N;
|
||||
|
||||
@@ -36,7 +39,7 @@ sub main {
|
||||
my $title = $c->l('mai_FORM_TITLE');
|
||||
|
||||
$mai_datas{'trt'} = 'LIST';
|
||||
$mai_datas{fetchmailmethod} = $cdb->get_prop('fetchmail', 'Method');
|
||||
$mai_datas{fetchmailmethod} = $c->l($cdb->get_prop('fetchmail', 'Method'));
|
||||
|
||||
$c->stash( title => $title, notif => '', mai_datas => \%mai_datas );
|
||||
$c->render(template => 'emailsettings');
|
||||
@@ -56,13 +59,16 @@ sub do_display {
|
||||
my ($notif, $dest) = '';
|
||||
|
||||
$mai_datas{'trt'} = $trt;
|
||||
$cdb = esmith::ConfigDB->open || die "Couldn't open config db";
|
||||
|
||||
if ( $trt eq 'ACC' ) {
|
||||
$dest = 'emailaccess';
|
||||
$mai_datas{fetchmailmethod} = $cdb->get_prop('fetchmail', 'Method');
|
||||
}
|
||||
if ( $trt eq 'ACC' )
|
||||
{
|
||||
$dest = 'emailaccess';
|
||||
$mai_datas{fetchmailmethod} = $cdb->get_prop('fetchmail', 'Method');
|
||||
}
|
||||
|
||||
if ( $trt eq 'FIL' ) {
|
||||
if ( $trt eq 'FIL' )
|
||||
{
|
||||
$dest = 'emailfilter';
|
||||
$mai_datas{'virusstatus'} = $c->get_virus_status();
|
||||
$mai_datas{'spamstatus'} = $cdb->get_prop('spamassassin', 'status');
|
||||
@@ -72,9 +78,10 @@ sub do_display {
|
||||
$mai_datas{spamsortspam} = $cdb->get_prop('spamassassin', 'SortSpam');
|
||||
$mai_datas{spamsubjecttag} = $cdb->get_prop('spamassassin', 'SubjectTag');
|
||||
$mai_datas{spamsubject} = $cdb->get_prop('spamassassin', 'Subject');
|
||||
}
|
||||
}
|
||||
|
||||
if ( $trt eq 'REC' ) {
|
||||
if ( $trt eq 'REC' )
|
||||
{
|
||||
$dest = 'emailreceive';
|
||||
$mai_datas{fetchmailmethod} = $cdb->get_prop('fetchmail', 'Method');
|
||||
$mai_datas{freqoffice} = $cdb->get_prop('fetchmail', 'FreqOffice');
|
||||
@@ -86,9 +93,10 @@ sub do_display {
|
||||
$mai_datas{specifyheader} = get_secondary_mail_use_envelope();
|
||||
$mai_datas{secondarymailenvelope} = $cdb->get_prop('fetchmail', 'SecondaryMailEnvelope');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ( $trt eq 'DEL' ) {
|
||||
if ( $trt eq 'DEL' )
|
||||
{
|
||||
$dest = 'emaildeliver';
|
||||
$mai_datas{emailunknownuser} = $cdb->get_value('EmailUnknownUser') || '"returntosender';
|
||||
$mai_datas{delegatemailserver} = $cdb->get_value('DelegateMailServer');
|
||||
@@ -96,7 +104,7 @@ sub do_display {
|
||||
$mai_datas{smtpauthproxystatus} = $cdb->get_prop('smtp-auth-proxy', 'status') || 'disabled';
|
||||
$mai_datas{smtpauthproxyuserid} = $cdb->get_prop('smtp-auth-proxy', 'Userid') || '';
|
||||
$mai_datas{smtpauthproxypassword} = $cdb->get_prop('smtp-auth-proxy', 'Passwd') || '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$c->stash( title => $title, notif => $notif, mai_datas => \%mai_datas );
|
||||
@@ -115,103 +123,113 @@ sub do_update {
|
||||
|
||||
my %mai_datas = ();
|
||||
$mai_datas{trt} = $trt;
|
||||
$cdb = esmith::ConfigDB->open || die "Couldn't open config db";
|
||||
|
||||
my $title = $c->l('mai_FORM_TITLE');
|
||||
|
||||
my ($dest, $res, $result) = '';
|
||||
|
||||
if ( $trt eq 'ACC' ) {
|
||||
if ( $trt eq 'ACC' )
|
||||
{
|
||||
$dest = 'emailaccess';
|
||||
# $mai_datas{xxx} = $c->param('XXX');
|
||||
|
||||
# controls
|
||||
# $res = xxxxxxx( $c );
|
||||
# $result .= $res unless $res eq 'OK';
|
||||
|
||||
$dest = 'emailaccess';
|
||||
# $mai_datas{xxx} = $c->param('XXX');
|
||||
if ( ! $result )
|
||||
{
|
||||
$res = $c->change_settings_access();
|
||||
$result .= $res unless $res eq 'OK';
|
||||
if ( ! $result )
|
||||
{
|
||||
$result = $c->l('mai_SUCCESS');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# controls
|
||||
# $res = xxxxxxx( $c );
|
||||
# $result .= $res unless $res eq 'OK';
|
||||
if ( $trt eq 'FIL' )
|
||||
{
|
||||
$dest = 'emailfilter';
|
||||
# $mai_datas{xxx} = $c->param('XXX');
|
||||
|
||||
# controls
|
||||
# $res = zzzzzz( $c );
|
||||
# $result .= $res unless $res eq 'OK';
|
||||
|
||||
if ( ! $result ) {
|
||||
$res = $c->change_settings_access();
|
||||
$result .= $res unless $res eq 'OK';
|
||||
if ( ! $result ) {
|
||||
$result = $c->l('mai_SUCCESS');
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( ! $result )
|
||||
{
|
||||
$res = $c->change_settings_filtering();
|
||||
$result .= $res unless $res eq 'OK';
|
||||
if ( ! $result )
|
||||
{
|
||||
$result = $c->l('mai_SUCCESS');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $trt eq 'FIL' ) {
|
||||
if ( $trt eq 'REC' )
|
||||
{
|
||||
$dest = 'emailreceive';
|
||||
# $mai_datas{xxx} = $c->param('XXX');
|
||||
|
||||
# controls
|
||||
# $res = yyyyyyyyy( $c );
|
||||
# $result .= $res unless $res eq 'OK';
|
||||
|
||||
$dest = 'emailfilter';
|
||||
# $mai_datas{xxx} = $c->param('XXX');
|
||||
if ( ! $result )
|
||||
{
|
||||
$res = $c->change_settings_reception();
|
||||
$result .= $res unless $res eq 'OK';
|
||||
if ( ! $result )
|
||||
{
|
||||
$result = $c->l('mai_SUCCESS');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# controls
|
||||
# $res = zzzzzz( $c );
|
||||
# $result .= $res unless $res eq 'OK';
|
||||
if ( $trt eq 'DEL' )
|
||||
{
|
||||
$dest = 'emaildeliver';
|
||||
# $mai_datas{xxx} = $c->param('XXX');
|
||||
|
||||
# controls
|
||||
$res = $c->ip_number_or_blank( $c->param('DelegateMailServer') );
|
||||
$result .= $res . ' DMS <br>' unless $res eq 'OK';
|
||||
|
||||
if ( ! $result ) {
|
||||
$res = $c->change_settings_filtering();
|
||||
$result .= $res unless $res eq 'OK';
|
||||
if ( ! $result ) {
|
||||
$result = $c->l('mai_SUCCESS');
|
||||
}
|
||||
}
|
||||
}
|
||||
$res = $c->validate_smarthost( $c->param('SMTPSmartHost') );
|
||||
$result .= $res . ' SH <br>' unless $res eq 'OK';
|
||||
|
||||
if ( $trt eq 'REC' ) {
|
||||
$res = $c->nonblank_if_smtpauth( $c->param('SMTPSmartHost') );
|
||||
$result .= $res . ' SH <br>' unless $res eq 'OK';
|
||||
|
||||
$dest = 'emailreceive';
|
||||
# $mai_datas{xxx} = $c->param('XXX');
|
||||
$res = $c->nonblank_if_smtpauth( $c->param('SMTPAUTHPROXY_Userid') );
|
||||
$result .= $res . ' USR <br>' unless $res eq 'OK';
|
||||
|
||||
# controls
|
||||
# $res = yyyyyyyyy( $c );
|
||||
# $result .= $res unless $res eq 'OK';
|
||||
$res = $c->nonblank_if_smtpauth( $c->param('SMTPAUTHPROXY_Passwd') );
|
||||
$result .= $res . ' PWD <br>' unless $res eq 'OK';
|
||||
|
||||
if ( ! $result ) {
|
||||
$res = $c->change_settings_reception();
|
||||
$result .= $res unless $res eq 'OK';
|
||||
if ( ! $result ) {
|
||||
$result = $c->l('mai_SUCCESS');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $trt eq 'DEL' ) {
|
||||
|
||||
$dest = 'emaildeliver';
|
||||
# $mai_datas{xxx} = $c->param('XXX');
|
||||
|
||||
# controls
|
||||
$res = $c->ip_number_or_blank( $c->param('DelegateMailServer') );
|
||||
$result .= $res . ' DMS <br>' unless $res eq 'OK';
|
||||
|
||||
$res = $c->validate_smarthost( $c->param('SMTPSmartHost') );
|
||||
$result .= $res . ' SH <br>' unless $res eq 'OK';
|
||||
|
||||
$res = $c->nonblank_if_smtpauth( $c->param('SMTPSmartHost') );
|
||||
$result .= $res . ' SH <br>' unless $res eq 'OK';
|
||||
|
||||
$res = $c->nonblank_if_smtpauth( $c->param('SMTPAUTHPROXY_Userid') );
|
||||
$result .= $res . ' USR <br>' unless $res eq 'OK';
|
||||
|
||||
$res = $c->nonblank_if_smtpauth( $c->param('SMTPAUTHPROXY_Passwd') );
|
||||
$result .= $res . ' PWD <br>' unless $res eq 'OK';
|
||||
|
||||
if ( ! $result ) {
|
||||
$res = $c->change_settings_delivery();
|
||||
$result .= $res unless $res eq 'OK';
|
||||
if ( ! $result ) {
|
||||
$result = $c->l('mai_SUCCESS');
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( ! $result )
|
||||
{
|
||||
$res = $c->change_settings_delivery();
|
||||
$result .= $res unless $res eq 'OK';
|
||||
if ( ! $result )
|
||||
{
|
||||
$result = $c->l('mai_SUCCESS');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# common part
|
||||
|
||||
if ($res ne 'OK') {
|
||||
$c->stash( error => $result );
|
||||
$c->stash( title => $title, mai_datas => \%mai_datas );
|
||||
return $c->render( $dest );
|
||||
}
|
||||
if ($res ne 'OK')
|
||||
{
|
||||
$c->stash( error => $result );
|
||||
$c->stash( title => $title, mai_datas => \%mai_datas );
|
||||
return $c->render( $dest );
|
||||
}
|
||||
|
||||
my $message = "emailsettings updates $trt DONE";
|
||||
$c->app->log->info($message);
|
||||
@@ -221,7 +239,6 @@ sub do_update {
|
||||
|
||||
};
|
||||
|
||||
|
||||
sub get_virus_status {
|
||||
|
||||
my ($c, $localise) = @_;
|
||||
@@ -249,10 +266,10 @@ sub localise_status {
|
||||
}
|
||||
|
||||
|
||||
sub get_prop {
|
||||
sub get_db_prop {
|
||||
|
||||
my ($c, $item, $prop, $default) = @_;
|
||||
|
||||
|
||||
return $cdb->get_prop($item, $prop) || $default;
|
||||
}
|
||||
|
||||
@@ -364,6 +381,48 @@ sub get_current_imap_access {
|
||||
}
|
||||
|
||||
|
||||
sub get_current_smtp_ssl_auth {
|
||||
my ($c, $localise, $soru, $debug) = @_;
|
||||
die "Error: \$soru must be either 's' or 'u':$soru.\n" unless $soru eq 's' || $soru eq 'u';
|
||||
|
||||
$cdb = esmith::ConfigDB->open || die "Couldn't open config db";
|
||||
|
||||
# Initialize variables with default values
|
||||
my $smtpStatus = 'none';
|
||||
my $smtpAccess = 'none';
|
||||
my $smtpAuth = 'disabled'; # assuming 'disabled' as a default
|
||||
|
||||
|
||||
|
||||
# Fetch SMTP settings based on the value of `$soru`
|
||||
if ($soru eq "u") {
|
||||
$smtpStatus = $cdb->get_prop('uqpsmtpd', 'status') || 'enabled'; # Fetch from uqpsmtpd
|
||||
$smtpAccess = $cdb->get_prop('uqpsmtpd', 'access') || 'public';
|
||||
$smtpAuth = 'enabled'; # Assuming authentication is enabled in this context
|
||||
} else {
|
||||
$smtpStatus = $cdb->get_prop('sqpsmtpd', 'status') || 'enabled'; # Fetch from sqpsmtpd
|
||||
$smtpAccess = $cdb->get_prop('sqpsmtpd', 'access') || 'public';
|
||||
$smtpAuth = 'enabled'; # Assuming authentication is enabled in this context
|
||||
}
|
||||
|
||||
# Retrieve SMTP SSL authentication options
|
||||
my $options = $c->get_smtp_ssl_auth_options();
|
||||
|
||||
|
||||
if ($soru eq "u" && $debug ) {
|
||||
$c->stash('smtp'=>[$smtpStatus,$smtpAccess,$smtpAuth,$soru,$options->{$smtpAccess},$c->l($options->{$smtpAccess})]);
|
||||
# die "Stop $soru in get_current_smtp_ssl_auth";
|
||||
}
|
||||
|
||||
|
||||
# Return appropriate message based on SMTP settings
|
||||
if ($smtpStatus eq 'enabled' && $smtpAuth eq 'enabled') {
|
||||
return $localise ? $c->l($options->{$smtpAccess}) : $smtpAccess;
|
||||
}
|
||||
|
||||
return $localise ? $c->l($options->{disabled}) : 'disabled';
|
||||
}
|
||||
|
||||
sub get_current_smtp_auth {
|
||||
|
||||
my ($c, $localise) = @_;
|
||||
@@ -371,16 +430,13 @@ sub get_current_smtp_auth {
|
||||
my $smtpStatus = $cdb->get_prop('qpsmtpd', 'status') || 'enabled';
|
||||
my $smtpAuth = $cdb->get_prop('qpsmtpd', 'Authentication') || 'enabled';
|
||||
|
||||
my $smtpsStatus = $cdb->get_prop('sqpsmtpd', 'status') || 'enabled';
|
||||
my $smtpsAuth = $cdb->get_prop('sqpsmtpd', 'Authentication') || 'enabled';
|
||||
|
||||
my $options = get_smtp_auth_options();
|
||||
|
||||
if ($smtpStatus eq 'enabled' && $smtpAuth eq 'enabled')
|
||||
if ($smtpStatus eq 'enabled' && $smtpAuth eq 'disabled')
|
||||
{
|
||||
return $localise ? $c->l($options->{public}) : 'public';
|
||||
}
|
||||
elsif ($smtpsStatus eq 'enabled' && $smtpsAuth eq 'enabled')
|
||||
elsif ($smtpStatus eq 'enabled' && $smtpAuth eq 'enabled')
|
||||
{
|
||||
return $localise ? $c->l($options->{publicSSL}) : 'publicSSL';
|
||||
}
|
||||
@@ -388,6 +444,8 @@ sub get_current_smtp_auth {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
sub get_current_webmail_status {
|
||||
|
||||
my ($c, $localise) = @_;
|
||||
@@ -395,19 +453,16 @@ sub get_current_webmail_status {
|
||||
# determine status of webmail
|
||||
my $WebmailStatus = "disabled";
|
||||
|
||||
my $IMPStatus = $cdb->get_prop('imp', 'status') || 'disabled';
|
||||
|
||||
my $HordeStatus = $cdb->get_prop('horde', 'status') || 'disabled';
|
||||
my $RoundcubeStatus = $cdb->get_prop('roundcube', 'status') || 'disabled';
|
||||
|
||||
my $MysqlStatus = $cdb->get_prop('mariadb', 'status') || 'disabled';
|
||||
|
||||
my $PHPStatus = $cdb->get_prop('php', 'status') || 'disabled';
|
||||
my $PHPStatus = $cdb->get_prop('php81-php-fpm', 'status') || 'disabled';
|
||||
|
||||
my $Networkaccess = $cdb->get_prop('horde','access') || 'disabled';
|
||||
my $Networkaccess = $cdb->get_prop('roundcube','access') || 'disabled';
|
||||
|
||||
# all four components must be on for webmail to be working
|
||||
if ( ( $IMPStatus eq "enabled" )
|
||||
&& ( $HordeStatus eq "enabled" )
|
||||
# all 3 components must be on for webmail to be working
|
||||
if ( ( $RoundcubeStatus eq "enabled" )
|
||||
&& ( $MysqlStatus eq "enabled" )
|
||||
&& ( $PHPStatus eq "enabled" )
|
||||
&& ( $Networkaccess eq "public"))
|
||||
@@ -415,8 +470,7 @@ sub get_current_webmail_status {
|
||||
$WebmailStatus = "enabledSSL";
|
||||
}
|
||||
|
||||
elsif ( ( $IMPStatus eq "enabled" )
|
||||
&& ( $HordeStatus eq "enabled" )
|
||||
elsif ( ( $RoundcubeStatus eq "enabled" )
|
||||
&& ( $MysqlStatus eq "enabled" )
|
||||
&& ( $PHPStatus eq "enabled" )
|
||||
&& ( $Networkaccess eq "private" ))
|
||||
@@ -491,13 +545,58 @@ sub get_imap_options {
|
||||
}
|
||||
|
||||
|
||||
sub get_smtp_auth_opt {
|
||||
|
||||
my $c = shift;
|
||||
|
||||
return [[ $c->l('mai_SECURE_SMTP') => 'publicSSL'],
|
||||
[ $c->l('Only allow insecure access') => 'public'],
|
||||
[ $c->l('DISABLED') => 'disabled']
|
||||
];
|
||||
}
|
||||
|
||||
sub get_smtp_auth_options {
|
||||
|
||||
my $c = shift;
|
||||
|
||||
my %options = ( disabled => 'DISABLED', publicSSL => 'mai_SECURE_SMTP', public => 'mai_INSECURE_SMTP');
|
||||
my %options = ( publicSSL => 'mai_SECURE_SMTP', public => 'Only allow insecure access',disabled => 'DISABLED');
|
||||
|
||||
\%options;
|
||||
return \%options;
|
||||
}
|
||||
|
||||
|
||||
sub get_smtp_ssl_auth_options {
|
||||
|
||||
my $c = shift;
|
||||
|
||||
my %options = ( public => 'Allow public access', local => 'Allow local access only',disabled => 'DISABLED');
|
||||
|
||||
return \%options;
|
||||
}
|
||||
sub get_smtp_ssl_auth_opt {
|
||||
|
||||
my $c = shift;
|
||||
|
||||
return [[ $c->l('Allow public access') => 'public'],
|
||||
[ $c->l('Allow local access only') => 'local'],
|
||||
[ $c->l('DISABLED') => 'disabled']
|
||||
];
|
||||
}
|
||||
|
||||
sub get_key_by_value {
|
||||
my ($hash_ref, $target_value) = @_;
|
||||
|
||||
# Iterate over the hash
|
||||
while (my ($key, $value) = each %$hash_ref) {
|
||||
return $key if $value eq $target_value;
|
||||
}
|
||||
|
||||
return undef; # Return undef if no match is found
|
||||
}
|
||||
sub get_value_by_key {
|
||||
my ($hash_ref, $key) = @_;
|
||||
|
||||
return $hash_ref->{$key}; # Return the value associated with the key
|
||||
}
|
||||
|
||||
|
||||
@@ -507,8 +606,7 @@ sub get_webmail_opt {
|
||||
|
||||
return [[ $c->l('DISABLED') => 'disabled' ],
|
||||
[ $c->l('mai_ENABLED_SECURE_ONLY') => 'enabledSSL' ],
|
||||
[ $c->l('mai_ONLY_LOCAL_NETWORK_SSL') => 'localnetworkSSL' ],
|
||||
[ $c->l('mai_ENABLED_BOTH') => 'public' ]];
|
||||
[ $c->l('mai_ONLY_LOCAL_NETWORK_SSL') => 'localnetworkSSL' ]];
|
||||
|
||||
}
|
||||
|
||||
@@ -519,10 +617,10 @@ sub get_webmail_options {
|
||||
|
||||
my %options = (
|
||||
disabled => 'DISABLED',
|
||||
enabledSSL => 'mai_ENABLED_SECURE_ONLY',
|
||||
localnetworkSSL => 'mai_ONLY_LOCAL_NETWORK_SSL' );
|
||||
enabledSSL => 'mai_ENABLED_SECURE_ONLY',
|
||||
localnetworkSSL => 'mai_ONLY_LOCAL_NETWORK_SSL');
|
||||
|
||||
\%options;
|
||||
return \%options;
|
||||
}
|
||||
|
||||
|
||||
@@ -538,15 +636,6 @@ sub get_retrieval_opt {
|
||||
}
|
||||
|
||||
|
||||
sub get_smtp_auth_opt {
|
||||
|
||||
my $c = shift;
|
||||
|
||||
return [[ $c->l('DISABLED') => 'disabled'],
|
||||
[ $c->l('mai_SECURE_SMTP') => 'publicSSL'],
|
||||
[ $c->l('mai_INSECURE_SMTP') => 'public']];
|
||||
}
|
||||
|
||||
|
||||
sub get_emailunknownuser_options {
|
||||
|
||||
@@ -658,6 +747,7 @@ sub display_multidrop {
|
||||
sub change_settings_reception {
|
||||
|
||||
my $c = shift;
|
||||
$cdb = esmith::ConfigDB->open || die "Couldn't open config db";
|
||||
|
||||
my $FetchmailMethod = ( $c->param('FetchmailMethod') || 'standard' );
|
||||
|
||||
@@ -701,18 +791,47 @@ sub change_settings_reception {
|
||||
}
|
||||
}
|
||||
|
||||
my $smtpAuth = ($c->param('SMTPAuth') || 'public');
|
||||
if ($smtpAuth eq 'public') {
|
||||
$cdb->set_prop("qpsmtpd", "Authentication", "enabled" );
|
||||
$cdb->set_prop("sqpsmtpd", "Authentication", "enabled" );
|
||||
} elsif ($smtpAuth eq 'publicSSL') {
|
||||
$cdb->set_prop("qpsmtpd", "Authentication", "disabled" );
|
||||
$cdb->set_prop("sqpsmtpd", "Authentication", "enabled" );
|
||||
} else {
|
||||
$cdb->set_prop("qpsmtpd", "Authentication", "disabled" );
|
||||
$cdb->set_prop("sqpsmtpd", "Authentication", "disabled" );
|
||||
}
|
||||
# Need code here for all 3 options - 25, 465 ad 587
|
||||
# Options for 25 are enabled and disabled
|
||||
# for 465 and 587 are (access) public, local and (status) disabled
|
||||
|
||||
|
||||
#my $smtpAuth = ($c->param('SMTPAuth') || 'public');
|
||||
#if ($smtpAuth eq 'public') {
|
||||
#$cdb->set_prop("qpsmtpd", "Authentication", "enabled" );
|
||||
#$cdb->set_prop("sqpsmtpd", "Authentication", "enabled" );
|
||||
#} elsif ($smtpAuth eq 'publicSSL') {
|
||||
#$cdb->set_prop("qpsmtpd", "Authentication", "disabled" );
|
||||
#$cdb->set_prop("sqpsmtpd", "Authentication", "enabled" );
|
||||
#} else {
|
||||
#$cdb->set_prop("qpsmtpd", "Authentication", "disabled" );
|
||||
#$cdb->set_prop("sqpsmtpd", "Authentication", "disabled" );
|
||||
#}
|
||||
|
||||
my @keys = qw(qpsmtpd uqpsmtpd sqpsmtpd);
|
||||
|
||||
foreach my $key (@keys) {
|
||||
my $param_name = $key eq 'qpsmtpd' ? 'SMTPAuth'
|
||||
: $key eq 'uqpsmtpd' ? 'uSMTPAuth'
|
||||
: 'sSMTPAuth'; # Defaults to 'sSMTPAuth' for 'sqpsmtpd'
|
||||
my $SMTPAuth = $c->param($param_name);
|
||||
if ($SMTPAuth eq 'disabled') {
|
||||
$cdb->set_prop($key, 'status', 'disabled');
|
||||
$cdb->set_prop($key, 'access', 'disabled');
|
||||
} else {
|
||||
$cdb->set_prop($key, 'status', 'enabled');
|
||||
if ($key eq 'qpsmtpd') {
|
||||
my $auth_status = $SMTPAuth eq 'publicSSL' ? 'enabled' : 'disabled';
|
||||
$cdb->set_prop($key, 'Authentication', $auth_status);
|
||||
$cdb->set_prop($key, 'access', 'public');
|
||||
} else {
|
||||
$cdb->set_prop($key, 'Authentication', 'enabled');
|
||||
my $auth_key = ($key eq 'uqpsmtpd') ? 'uSMTPAuth' : 'sSMTPAuth';
|
||||
my $access_value = $c->param($auth_key) eq 'public' ? 'public' : 'local';
|
||||
$cdb->set_prop($key, 'access', $access_value);
|
||||
}
|
||||
}
|
||||
}
|
||||
unless ( system( "/sbin/e-smith/signal-event", "email-update" ) == 0 )
|
||||
{
|
||||
return $c->l('mai_ERROR_UPDATING_CONFIGURATION');
|
||||
@@ -724,6 +843,7 @@ sub change_settings_reception {
|
||||
sub change_settings_delivery {
|
||||
|
||||
my ($c) = shift;
|
||||
$cdb = esmith::ConfigDB->open || die "Couldn't open config db";
|
||||
|
||||
my $EmailUnknownUser = ($c->param('EmailUnknownUser') || 'returntosender');
|
||||
|
||||
@@ -752,7 +872,8 @@ sub change_settings_delivery {
|
||||
sub change_settings_access {
|
||||
|
||||
my $c = shift;
|
||||
|
||||
$cdb = esmith::ConfigDB->open || die "Couldn't open config db";
|
||||
|
||||
my $pop3Access = ($c->param('POPAccess') || 'private');
|
||||
if ($pop3Access eq 'disabled') {
|
||||
$cdb->set_prop('pop3', "status", "disabled" );
|
||||
@@ -802,38 +923,22 @@ sub change_settings_access {
|
||||
#------------------------------------------------------------
|
||||
|
||||
my $webmail = ($c->param('WebMail') || 'disabled');
|
||||
if ( $webmail eq "enabled" ) {
|
||||
$cdb->set_prop('php', "status", $webmail );
|
||||
$cdb->set_prop('mariadb',"status", $webmail );
|
||||
$cdb->set_prop('imp',"status", $webmail );
|
||||
$cdb->set_prop('horde', "status", $webmail );
|
||||
$cdb->set_prop('imp',"access", "full" );
|
||||
$cdb->set_prop('horde',"access", "public" );
|
||||
$cdb->set_prop('horde',"HttpsOnly", "no" );
|
||||
}
|
||||
elsif ( $webmail eq "enabledSSL" ) {
|
||||
$cdb->set_prop('php',"status", "enabled" );
|
||||
if ( $webmail eq "enabledSSL" ) {
|
||||
$cdb->set_prop('php81-php-fpm',"status", "enabled" );
|
||||
$cdb->set_prop('mariadb',"status", "enabled" );
|
||||
$cdb->set_prop('imp',"status", 'enabled' );
|
||||
$cdb->set_prop('horde',"status", 'enabled' );
|
||||
$cdb->set_prop('imp',"access", "SSL" );
|
||||
$cdb->set_prop('horde',"access", "public" );
|
||||
$cdb->set_prop('horde',"HttpsOnly", "yes" );
|
||||
$cdb->set_prop('roundcube',"status", 'enabled' );
|
||||
$cdb->set_prop('roundcube',"access", "public" );
|
||||
}
|
||||
|
||||
elsif ( $webmail eq "localnetworkSSL" ) {
|
||||
$cdb->set_prop('php',"status", "enabled" );
|
||||
$cdb->set_prop('php81-php-fpm',"status", "enabled" );
|
||||
$cdb->set_prop('mariadb',"status", "enabled" );
|
||||
$cdb->set_prop('imp',"status", 'enabled' );
|
||||
$cdb->set_prop('horde',"status", 'enabled' );
|
||||
$cdb->set_prop('imp',"access", "SSL" );
|
||||
$cdb->set_prop('horde',"access", "private" );
|
||||
$cdb->set_prop('horde',"HttpsOnly", "yes" );
|
||||
$cdb->set_prop('roundcube',"status", 'enabled' );
|
||||
$cdb->set_prop('roundcube',"access", "private" );
|
||||
}
|
||||
|
||||
else {
|
||||
$cdb->set_prop('imp',"status", 'disabled' );
|
||||
$cdb->set_prop('horde',"status", 'disabled' );
|
||||
$cdb->set_prop('roundcube',"status", 'disabled' );
|
||||
}
|
||||
|
||||
unless ( system( "/sbin/e-smith/signal-event", "email-update" ) == 0 ) {
|
||||
@@ -847,6 +952,8 @@ sub change_settings_access {
|
||||
sub change_settings_filtering {
|
||||
|
||||
my $c = shift;
|
||||
$cdb = esmith::ConfigDB->open || die "Couldn't open config db";
|
||||
|
||||
|
||||
my $virus_status = ( $c->param('VirusStatus') || 'disabled' );
|
||||
$cdb->set_prop("qpsmtpd", 'VirusScan', $virus_status);
|
||||
@@ -860,7 +967,7 @@ sub change_settings_filtering {
|
||||
Subject
|
||||
SubjectTag) )
|
||||
{
|
||||
$cdb->set_prop('spamassassin', $param, $c->param("Spam$param"));
|
||||
$cdb->set_prop('spamassassin', $param, $c->param("Spam$param"));
|
||||
}
|
||||
|
||||
my $patterns_status = $c->adjust_patterns() ? 'enabled' : 'disabled';
|
||||
@@ -868,7 +975,7 @@ sub change_settings_filtering {
|
||||
|
||||
unless ( system( "/sbin/e-smith/signal-event", "email-update" ) == 0 )
|
||||
{
|
||||
return $c->l('mai_ERROR_UPDATING_CONFIGURATION');
|
||||
return $c->l('mai_ERROR_UPDATING_CONFIGURATION');
|
||||
}
|
||||
|
||||
return 'OK';
|
||||
@@ -922,4 +1029,4 @@ sub validate_smarthost {
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
1;
|
@@ -171,9 +171,11 @@ sub add_portforward {
|
||||
#work out which protocol
|
||||
my $fdb;
|
||||
if ($proto eq 'TCP') {
|
||||
$tcp_db = esmith::ConfigDB->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n";
|
||||
$fdb = $tcp_db;
|
||||
}
|
||||
else {
|
||||
$udp_db = esmith::ConfigDB->open('portforward_udp') || die "Can't open portforward_udp database: $!\n";
|
||||
$fdb = $udp_db;
|
||||
}
|
||||
#Get the other values
|
||||
|
@@ -0,0 +1,46 @@
|
||||
package SrvMngr::Controller::Roundcubepanel;
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# heading : System
|
||||
# description : Roundcube webmail
|
||||
# navigation : 99999 9999
|
||||
#----------------------------------------------------------------------
|
||||
#----------------------------------------------------------------------
|
||||
# name : roundcubepanel, method : get, url : /roundcubepanel, ctlact : Roundcubepanel#main
|
||||
#
|
||||
# routes : end
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
|
||||
use Locale::gettext;
|
||||
use SrvMngr::I18N;
|
||||
use SrvMngr qw(theme_list init_session);
|
||||
|
||||
#use SrvMngr::Model::Main;
|
||||
|
||||
|
||||
sub main {
|
||||
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
|
||||
my $title = $c->l('Roundcube Webmail');
|
||||
my $roundcube_url = $c->param('url');
|
||||
my $roundcube_height = $c->param('height') | 600;
|
||||
$c->stash( title => $title, modul => $roundcube_url, height => $roundcube_height );
|
||||
$c->render(template => 'roundcube');
|
||||
|
||||
}
|
||||
|
||||
sub getroundcubeurl {
|
||||
my $c = shift;
|
||||
my $url = shift;
|
||||
return "/smanager/roundcube?url=$url";
|
||||
}
|
||||
|
||||
|
||||
1;
|
@@ -1,12 +1,17 @@
|
||||
% layout 'default', title => "Sme server 2 - emailreceive";
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
% use constant FALSE => 0;
|
||||
% use constant TRUE => 1;
|
||||
|
||||
<div id='module' class='module emailreceive-panel'>
|
||||
|
||||
% if ($config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $mai_datas
|
||||
%= dumper $c->param('SMTPAuth')
|
||||
</p>
|
||||
% }
|
||||
|
||||
@@ -26,16 +31,65 @@
|
||||
%=l 'mai_LABEL_MODE'
|
||||
</span><span class=input>
|
||||
% param 'FetchmailMethod' => $mai_datas->{fetchmailmethod} unless param 'FetchmailMethod';
|
||||
<!--
|
||||
<pre>
|
||||
%= dumper $mai_datas->{fetchmailmethod}
|
||||
%= dumper $c->get_retrieval_opt()
|
||||
%= param 'FetchmailMethod'
|
||||
</pre>
|
||||
-->
|
||||
%= select_field 'FetchmailMethod' => $c->get_retrieval_opt(), class => 'input'
|
||||
</span></p>
|
||||
|
||||
%=l 'mai_DESC_SMTP_AUTH_CONTROL'
|
||||
%#=l 'mai_DESC_SMTP_AUTH_CONTROL'
|
||||
<br />
|
||||
%= l "SMTP port (25) main purpose is to receive emails from another server, STARTTLS is always offered, but auth if offered is only if STARTTLS is also used by client."
|
||||
<br />
|
||||
%= l "SMTPS port (465) will require implicit SSL/TLS then authenticate to send."
|
||||
<br />
|
||||
%= l "SMTP Submission port (587) will require STARTTLS, then authenticate to send."
|
||||
<br />
|
||||
|
||||
% my $smtp_mesg=l('SMTP port %u allow client to authenticate:');
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_SMTP_AUTH_CONTROL'
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));
|
||||
</span><span class=input>
|
||||
% param 'SMTPAuth' => $c->get_current_smtp_auth() unless param 'SMTPAuth';
|
||||
%= select_field 'SMTPAuth' => $c->get_smtp_auth_opt(), class => 'input'
|
||||
% param 'SMTPAuth' => $c->get_current_smtp_auth( FALSE ) unless param 'SMTPAuth';
|
||||
<!--
|
||||
<pre>
|
||||
%= dumper $c->get_smtp_auth_opt()
|
||||
%= dumper $c->get_current_smtp_auth(FALSE)
|
||||
%= dumper $c->get_db_prop("qpsmtpd","Authentication")
|
||||
%= param 'SMTPAuth'
|
||||
</pre>
|
||||
-->
|
||||
%= select_field 'SMTPAuth' => $c->get_smtp_auth_opt(), class => 'input'
|
||||
</span></p>
|
||||
|
||||
% my $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:');
|
||||
<p><span class=label>
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));
|
||||
</span><span class=input>
|
||||
% param 'sSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE) unless param 'sSMTPAuth';
|
||||
|
||||
%= select_field 'sSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input'
|
||||
</span></p>
|
||||
|
||||
%my $smtp_mesg=l('Submission port %u status:');
|
||||
<p><span class=label>
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));
|
||||
</span><span class=input>
|
||||
% param 'uSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE) unless param 'uSMTPAuth';
|
||||
<!--
|
||||
<pre>
|
||||
%= dumper $c->get_smtp_ssl_auth_opt()
|
||||
%= dumper $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE)
|
||||
%= dumper $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE)
|
||||
%= dumper $c->get_db_prop("uqpsmtpd","access")
|
||||
%= param 'uSMTPAuth'
|
||||
</pre>
|
||||
-->
|
||||
%= select_field 'uSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input'
|
||||
</span></p>
|
||||
|
||||
<hr class="sectionbar" />
|
||||
@@ -110,4 +164,4 @@
|
||||
% end
|
||||
|
||||
</div>
|
||||
%end
|
||||
%end
|
@@ -1,9 +1,13 @@
|
||||
% layout 'default', title => "Sme server 2 - emailsettings";
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
% use constant FALSE => 0;
|
||||
% use constant TRUE => 1;
|
||||
|
||||
<div id='module' class='module emailsettings-panel'>
|
||||
|
||||
% if ($config->{debug} == 1) {
|
||||
% if ($config->{debug} == TRUE) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $mai_datas
|
||||
@@ -22,19 +26,19 @@
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_POP_ACCESS_CONTROL'
|
||||
</span><span class=data2>
|
||||
%= $c->get_current_pop3_access( 1 )
|
||||
%= $c->get_current_pop3_access( TRUE )
|
||||
</span></p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_IMAP_ACCESS_CONTROL'
|
||||
</span><span class=data2>
|
||||
%= $c->get_current_imap_access( 1 )
|
||||
%= $c->get_current_imap_access( TRUE )
|
||||
</span></p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_WEBMAIL'
|
||||
</span><span class=data2>
|
||||
%= $c->get_current_webmail_status( 1 )
|
||||
%= $c->get_current_webmail_status( TRUE )
|
||||
</span></p>
|
||||
|
||||
% my $btn = l('mai_DESC_STATE_ACCESS_BUTTON');
|
||||
@@ -51,19 +55,19 @@
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_VIRUS_SCAN'
|
||||
</span><span class=data2>
|
||||
%= $c->get_virus_status(1)
|
||||
%= $c->get_virus_status(TRUE)
|
||||
</span></p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_SPAM_SCAN'
|
||||
</span><span class=data2>
|
||||
%= $c->get_spam_status(1)
|
||||
%= $c->get_spam_status(TRUE)
|
||||
</span></p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_BLOCK_EXECUTABLE_CONTENT'
|
||||
</span><span class=data2>
|
||||
%= $c->get_patterns_status(1)
|
||||
%= $c->get_patterns_status(TRUE)
|
||||
</span></p>
|
||||
|
||||
% my $btn = l('mai_DESC_STATE_FILTERING_BUTTON');
|
||||
@@ -83,12 +87,28 @@
|
||||
%= $mai_datas->{fetchmailmethod}
|
||||
</span></p>
|
||||
|
||||
% my $smtp_mesg=l('SMTP port %u allow client to authenticate:');
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_SMTP_AUTH_CONTROL'
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));
|
||||
</span><span class=data2>
|
||||
%= $c->get_current_smtp_auth( 1 )
|
||||
%= $c->get_current_smtp_auth( TRUE )
|
||||
</span></p>
|
||||
|
||||
% my $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:');
|
||||
<p><span class=label>
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));
|
||||
</span><span class=data2>
|
||||
%= $c->get_current_smtp_ssl_auth( TRUE, 's', FALSE )
|
||||
</span></p>
|
||||
|
||||
%my $smtp_mesg=l 'Submission port %u status:';
|
||||
<p><span class=label>
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));
|
||||
</span><span class=data2>
|
||||
%= $c->get_current_smtp_ssl_auth( TRUE,'u', FALSE )
|
||||
</span></p>
|
||||
<br />
|
||||
|
||||
% my $btn = l('mai_DESC_STATE_RECEPTION_BUTTON');
|
||||
<div class='center'>
|
||||
%= submit_button "$btn", class => 'action'
|
||||
@@ -103,7 +123,7 @@
|
||||
<p><span class=label>
|
||||
%=l 'mai_LABEL_UNKNOWN'
|
||||
</span><span class=data2>
|
||||
%= $c->get_emailunknownuser_status( 1 )
|
||||
%= $c->get_emailunknownuser_status( TRUE )
|
||||
</span></p>
|
||||
|
||||
<p><span class=label>
|
||||
@@ -127,4 +147,4 @@
|
||||
% end
|
||||
|
||||
</div>
|
||||
%end
|
||||
%end
|
@@ -35,6 +35,19 @@
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.5.0/css/flag-icon.min.css">
|
||||
%= stylesheet '/css/sme-jquery-overrides.css'
|
||||
|
||||
<style>
|
||||
#busy-indicator {
|
||||
display: none;
|
||||
margin-top: 10px;
|
||||
font-weight: bold;
|
||||
color: red;
|
||||
}
|
||||
.busy {
|
||||
cursor: wait; /* Change the cursor to a 'wait' cursor */
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
@@ -94,6 +107,22 @@
|
||||
% }
|
||||
|
||||
%= javascript '/js/sme-dataTable-setup.js'
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
// Handle form submission for any form
|
||||
$('form').on('submit', function(event) {
|
||||
// Disable the submit button
|
||||
$(this).find('button[type="submit"], input[type="submit"]').prop('disabled', true);
|
||||
// Show the busy indicator
|
||||
// $('#busy-indicator').show();
|
||||
|
||||
// Change the cursor to "wait"
|
||||
$('body').addClass('busy');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<a href="https://mojolicious.org" target="_blank"><img src="images/sme-mojo-logo-white.png" style="position:relative;"></a>
|
||||
<font class="sme-copyright">
|
||||
% if ( $c->is_logged_in ) {
|
||||
SME Server <%= session 'releaseVersion' %> - Manager <%= $c->app->VERSION %>
|
||||
SME Server <%= session 'releaseVersion' %>-<%= $c->app->VERSION %> Manager II
|
||||
% }
|
||||
<br>Copyright 1999-2006 Mitel Corporation<br>
|
||||
%= session 'copyRight'
|
||||
|
@@ -76,11 +76,17 @@
|
||||
% $actionRemove = "<a href='useraccountsd?CsrfDef=TOKEN&trt=DEL&user=" . $username . "'>" . "<button class='sme-remove-button' title=".l("REMOVE").">".l("REMOVE")."</button></a>";
|
||||
% }
|
||||
% }
|
||||
%
|
||||
% my $thisdomain = session 'SystemName';
|
||||
% $thisdomain .= ".".session 'DomainName';
|
||||
%# my $thisdomain = "localhost";
|
||||
|
||||
<td class='sme-border' style="min-width:35em">
|
||||
<%= $c->render_to_string(inline => $actionModify) %>
|
||||
<%= $c->render_to_string(inline => $actionResetPw) %>
|
||||
<%= $c->render_to_string(inline => $actionLock) %>
|
||||
<%= $c->render_to_string(inline => $actionRemove) %>
|
||||
<a href="<%= "roundcubepanel/?url=https://".$thisdomain."/" %>roundcube?_user=<%= $username %>"><button class="sme-email-button" title="<%= l('EMAIL') %>"><%= l('EMAIL') %></button></a>
|
||||
</td>
|
||||
</tr>
|
||||
% }
|
||||
|
@@ -0,0 +1,39 @@
|
||||
% layout 'default', title => "Sme server 2 - roundcube";
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
|
||||
<div id='roundcube' class='roundcube roundcube-panel'>
|
||||
% if ($config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
</p>
|
||||
% }
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class=sme-error>
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
<h1> roundcube - <%=$title %></h1><br>
|
||||
<p>If the roundcube panel does not appear after logging in, then please check your password.</p><br />
|
||||
|
||||
% my $thisdomain = session 'SystemName';
|
||||
% $thisdomain .= ".".session 'DomainName';
|
||||
% my $url = $c->stash('modul');
|
||||
% my $username = 'admin';
|
||||
% if ($url =~ /[?&]_user=([^&]+)/) {
|
||||
% $username = $1;
|
||||
%}
|
||||
|
||||
<a href="<%= "https://".$thisdomain."/" %>roundcube?_user=<%= $username %>"><button class="sme-fullwindow1-button" width=20em title="<%= l('Full Window') %>"><%= l('Full Window') %></button></a>
|
||||
|
||||
% my $height = $c->stash('height') | '600px';
|
||||
% if ($height !~ /px$/) { $height = $height.'px';}
|
||||
% if ($url eq "") {
|
||||
% $url = "https://".$thisdomain."/roundcube";
|
||||
%}
|
||||
<object id="roundcube" class="roundcube" data="<%=$url %>" style="width:99%;height:<%= $height %>;" title="<%= $c->stash('title') %>" type="text/html" ><%= $c->stash('title') %> not found</object>
|
||||
</div>
|
||||
|
||||
|
||||
%end
|
@@ -2,7 +2,7 @@ Summary: Sme server navigation module : manager 2
|
||||
%define name smeserver-manager
|
||||
Name: %{name}
|
||||
%define version 11.0.0
|
||||
%define release 19
|
||||
%define release 28
|
||||
Version: %{version}
|
||||
Release: %{release}%{?dist}
|
||||
License: GPL
|
||||
@@ -49,6 +49,11 @@ This RPM contributes the navigation bars for the smeserver-manager. New Mojolici
|
||||
%setup
|
||||
|
||||
%build
|
||||
|
||||
#extract the release number and drop it in to the version for SM2 footer.
|
||||
sed -i "s/our \$VERSION = '[^']*'/our \$VERSION = '%{release}'/g" root/usr/share/smanager/lib/SrvMngr.pm
|
||||
|
||||
|
||||
perl createlinks
|
||||
|
||||
# Force creation of potentially empty directories
|
||||
@@ -108,6 +113,36 @@ true
|
||||
%defattr(-,root,root)
|
||||
|
||||
%changelog
|
||||
* Fri Oct 18 2024 Brian Read <brianr@koozali.org> 11.0.0-28.sme
|
||||
- Add in emailsettings for port 25,465 and 587 [SME: 12750]
|
||||
- Comment out change to localhost for roundcube in _user_list email icon setting [SME: 12751]
|
||||
|
||||
* Sun Oct 06 2024 Brian Read <brianr@koozali.org> 11.0.0-27.sme
|
||||
- Add in change to _user_list.html.ep for access to roundcube email from useraccounts [SME: 12751]
|
||||
|
||||
* Fri Oct 04 2024 Brian Read <brianr@koozali.org> 11.0.0-26.sme
|
||||
- Add in email link to roundcube from user accounts [SME: 12751]
|
||||
|
||||
* Wed Oct 02 2024 Brian Read <brianr@koozali.org> 11.0.0-25.sme
|
||||
- Add in cursor change when save/submit pressed to indicate processing [SME: 12748]
|
||||
|
||||
* Wed Oct 02 2024 Brian Read <brianr@koozali.org> 11.0.0-24.sme
|
||||
- Messed up build - finger trouble [SME: 12753]
|
||||
|
||||
* Wed Oct 02 2024 Brian Read <brianr@koozali.org> 11.0.0-23.sme
|
||||
- Add release number to footer [SME: 12753]
|
||||
|
||||
* Tue Sep 24 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-22.sme
|
||||
- fix typos, and tidy tabs [SME: 12744]
|
||||
|
||||
* Mon Sep 23 2024 Brian Read <brianr@koozali.org> 11.0.0-21.sme
|
||||
- Remove both option for webmail [SME: 12744]
|
||||
- Add in re-open DB for portforwarding and email settings.
|
||||
|
||||
* Mon Sep 23 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-20.sme
|
||||
- webmail switch panel to use roundcube [SME: 12742]
|
||||
- prevent browser from caching [SME: 12695]
|
||||
|
||||
* Thu Sep 05 2024 Brian Read <brianr@koozali.org> 11.0.0-19.sme
|
||||
- Add in mojo plugin WithoutCache [SME: 12695]
|
||||
|
||||
|
Reference in New Issue
Block a user