initial commit of file from CVS for smeserver-manager on Fri Mar 22 14:54:28 AEDT 2024
This commit is contained in:
75
root/usr/share/smanager/lib/SrvMngr/Controller/Proxy.pm
Normal file
75
root/usr/share/smanager/lib/SrvMngr/Controller/Proxy.pm
Normal file
@@ -0,0 +1,75 @@
|
||||
package SrvMngr::Controller::Proxy;
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# heading : System
|
||||
# description : Proxy settings
|
||||
# navigation : 4000 700
|
||||
#----------------------------------------------------------------------
|
||||
#
|
||||
# routes : end
|
||||
#----------------------------------------------------------------------
|
||||
use strict;
|
||||
use warnings;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
|
||||
use Locale::gettext;
|
||||
use SrvMngr::I18N;
|
||||
|
||||
use SrvMngr qw(theme_list init_session);
|
||||
|
||||
our $db = esmith::ConfigDB->open || die "Couldn't open config db";
|
||||
|
||||
sub main {
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
|
||||
my %prx_datas = ();
|
||||
my $title = $c->l('prx_TITLE');
|
||||
my $modul = $c->render_to_string(inline => $c->l('prx_FIRST_PAGE_DESCRIPTION'));
|
||||
|
||||
$prx_datas{'http_proxy_status'} = ($db->get_prop('squid','status')) || 'disabled';
|
||||
|
||||
#if (system('/bin/rpm -q e-smith-email > /dev/null') == 0)
|
||||
#{
|
||||
$prx_datas{'smtp_proxy_status'} = $db->get_prop('qpsmtpd','Proxy') || undef;
|
||||
#}
|
||||
#(system('/bin/rpm -q e-smith-email > /dev/null') == 0) ?
|
||||
|
||||
$c->stash( title => $title, modul => $modul, prx_datas => \%prx_datas );
|
||||
$c->render(template => 'proxy');
|
||||
};
|
||||
|
||||
|
||||
sub do_update {
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
|
||||
my $http_proxy_status = $c->param('http_proxy_status') || 'disabled';
|
||||
my $smtp_proxy_status = $c->param('smtp_proxy_status') || '';
|
||||
|
||||
my $result = "";
|
||||
|
||||
my $squid = $db->get('squid') or $result = $c->l('prx_ERR_NO_SQUID_REC');
|
||||
# smtpd is allowed to not exist, as the relevant packages may not be
|
||||
# installed.
|
||||
my $smtpd = $db->get('qpsmtpd') || undef;
|
||||
|
||||
$squid->set_prop('status', $http_proxy_status);
|
||||
$smtpd->set_prop('Proxy', $smtp_proxy_status) if $smtpd;
|
||||
|
||||
#
|
||||
# Update the system
|
||||
#
|
||||
system("/sbin/e-smith/signal-event proxy-update") == 0
|
||||
or $result = $c->l('prx_ERR_PROXY_UPDATE_FAILED');
|
||||
|
||||
my $title = $c->l('prx_TITLE');
|
||||
|
||||
if ( $result eq '' ) { $result = $c->l('prx_SUCCESS'); }
|
||||
|
||||
$c->stash( title => $title, modul => $result );
|
||||
$c->render(template => 'module');
|
||||
};
|
||||
|
||||
|
||||
1;
|
Reference in New Issue
Block a user